小编sun*_*985的帖子

在Curl命令中使用客户端证书

卷曲命令:

curl -k -vvvv --request POST --header "Content-Type: application/json" --cert client.pem:password --key key.pem "https://test.com:8443/testing"
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用上面指定的Curl命令发送客户端证书.我想知道以下内容:

  1. 什么是HTTP请求标头,我应该在服务器端查看从HTTP请求中提取客户端证书.

  2. 如果我无法从HTTP请求中提取服务器端的客户端证书,我是否可以在HTTP请求中添加自定义请求标头,并将客户端证书作为该自定义标头的值发送.如果有人能为我提供这种方法的一个例子,那就太好了.

linux https curl certificate request-headers

39
推荐指数
2
解决办法
10万
查看次数

驻留集大小(RSS)与在Docker容器中运行的JVM的Java总提交内存(NMT)之间的差异

场景:

我有一个在docker容器中运行的JVM.我使用两个工具进行了一些内存分析:1)top 2)Java Native Memory Tracking.这些数字看起来很混乱,我试图找出导致差异的原因.

题:

对于Java进程,RSS报告为1272MB,报告的总Java内存为790.55 MB.我怎么能解释内存的其余部分1272 - 790.55 = 481.44 MB去哪了?

为什么我想在SO上查看这个问题后仍然保持这个问题的开放性:

我确实看到了答案,解释也很有道理.但是,从Java NMT和pmap -x获取输出后,我仍然无法具体映射实际驻留和物理映射的Java内存地址.我需要一些具体的解释(详细步骤)来找出导致RSS和Java Total提交内存之间差异的原因.

最高输出

在此输入图像描述

Java NMT

在此输入图像描述

Docker内存统计信息

在此输入图像描述

图表

我有一个运行48小时以上的码头集装箱.现在,当我看到一个图表包含:

  1. 给予docker容器的总内存= 2 GB
  2. Java Max Heap = 1 GB
  3. 承诺总量(JVM)=始终小于800 MB
  4. 堆使用(JVM)=始终小于200 MB
  5. 非堆使用(JVM)=始终小于100 MB.
  6. RSS =大约1.1 GB.

那么,在1.1 GB(RSS)和800 MB(Java Total committed memory)之间占用的内存是什么?

在此输入图像描述

java linux memory jvm docker

34
推荐指数
1
解决办法
1万
查看次数

如何将带有README文件的docker镜像推送到docker hub?

我正在尝试将docker镜像推送到docker hub上的私人仓库.但是,我确实看到Docker Hub上有一个"信息"部分,我想用有关我图像的有用信息进行更新.我想知道我是否可以推送README.md文件,Docker Hub可以解析此文件并使用此更新"信息"部分.我不确定是否应该在我的图像中嵌入README.md以使其工作?

docker dockerhub readme

12
推荐指数
3
解决办法
4321
查看次数

Spring OAuth 2.0 - 单元测试OAuth 2.0客户端配置(AuthorizationCodeResourceDetails)

我正在使用spring-oauth 2.0库来创建OAuth 2.0客户端,我可以使用该客户端从正在运行的OAuth 2.0授权服务器获取和访问令牌.客户端配置如下:

@Configuration
@EnableOAuth2Client
@PropertySource("classpath:oauth2client.properties")
public class OAuth2ClientConfig {
    @Value("${accessTokenUri}")
    private String accessTokenUri;

    @Value("${userAuthorizationUri}")
    private String userAuthorizationUri;

    @Value("${clientID}")
    private String clientID;

    @Value("${clientSecret}")
    private String clientSecret;

    @Bean
    public OAuth2ProtectedResourceDetails oauth2Client() {
        AuthorizationCodeResourceDetails details = new AuthorizationCodeResourceDetails();
        details.setId("oauth2client");
        details.setClientId(clientID);
        details.setClientSecret(clientSecret);
        details.setAccessTokenUri(accessTokenUri);
        details.setUserAuthorizationUri(userAuthorizationUri);
        details.setTokenName("access_token");
        details.setScope(Arrays.asList(new String[] { "email", "cn" }));
        details.setPreEstablishedRedirectUri("http://oauth2callback/");
        details.setUseCurrentUri(false);
        return details;
    }

    @Bean
    public OAuth2RestTemplate oauth2ClientRestTemplate(OAuth2ClientContext clientContext) {
        OAuth2RestTemplate oAuth2RestTemplate = new OAuth2RestTemplate(oauth2Client(), clientContext);
        AccessTokenProvider accessTokenProvider = new AccessTokenProviderChain(Arrays.<AccessTokenProvider> asList(
                new AuthorizationCodeAccessTokenProvider(), new ImplicitAccessTokenProvider(),
                new ResourceOwnerPasswordAccessTokenProvider(), new ClientCredentialsAccessTokenProvider())); …
Run Code Online (Sandbox Code Playgroud)

java spring spring-oauth2 oauth2

6
推荐指数
0
解决办法
1327
查看次数

Java 复合赋值运算符在表达式中的优先级

当我尝试执行以下代码时,其输出被声明为“6”。

当我试图思考这个问题时,表达式“k += 3 + ++k; 应该被评估为 k = k + (3 + ++k); 但在这种情况下,输出应该是 7。看起来就像它被评估为 k = k + 3 + ++k; 结果是 6。

有人可以解释一下为什么表达式被计算为“k + 3 + ++k”而不是“ k + (3 + ++k); 吗?

public class TestClass {

public static int m1(int i){
    return ++i;
}

public static void main(String[] args) {

    int k = m1(args.length);
    k += 3 + ++k;
    System.out.println(k);
}
Run Code Online (Sandbox Code Playgroud)

}

java expression compound-assignment

3
推荐指数
1
解决办法
664
查看次数

Spring OAuth2.0 - 动态注册OAuth2.0客户端

我正在使用Spring安全性设置OAuth2.0授权服务器.我想知道在OAuth2.0授权服务器启动并运行后是否有办法动态注册OAuth2.0客户端?

基本上,我知道我可以在配置OAuth2.0服务器时通过扩展AuthorizationServerConfigurerAdapter和覆盖configure方法来注册客户端,以在内存中添加客户端详细信息.但是,这种方式客户端已预先注册,我想知道如何动态添加客户端详细信息.

@Override public void configure(ClientDetailsServiceConfigurer clients) throws Exception { // @formatter:off clients.inMemory() .withClient(CLIENT_ID) .secret(CLIENT_SECRET) .authorizedGrantTypes("authorization_code", "implicit") .redirectUris("http://junk/") .scopes("cn") .accessTokenValiditySeconds(600); // @formatter:on }

spring spring-security spring-oauth2 oauth2

3
推荐指数
1
解决办法
2638
查看次数

将X509公钥转换为RSA公钥

我有以下格式的公钥

-----BEGIN PUBLIC KEY----- xxxxxxxx -----END PUBLIC KEY-----

我需要将其转换为以下格式

-----BEGIN RSA PUBLIC KEY----- xxxxxxxxx -----END RSA PUBLIC KEY-----

基本上,问题是我正在使用用Java编写的第三方库.

  1. 第三方库使用Java类"RSAPublicKeySpec"从String生成类型为RSAPublicKey的实例.

  2. 我提供给第三方库的字符串来自一个文件,格式如下:

-----BEGIN PUBLIC KEY----- xxxxxxxx -----END PUBLIC KEY-----

  1. 稍微调试一下代码之后,我可以看到,如果我使用java类"X509EncodedKeySpec"来加载这个公钥,我的代码的签名验证部分就能完美运行.但是,由于代码是第三方库,我没有在代码中更改类类型的选项.我需要以某种方式确保我提供给库的输入与"RSAPublicKeySpec"类兼容,以便正确加载公钥.

java rsa x509 public-key

2
推荐指数
1
解决办法
5333
查看次数

将1000000000000001转换为base 5时的Java NumberFormatException

我试图使用Java将字符串"1000000000000001"转换为基数5:

Integer number = Integer.parseInt("1000000000000001", 5);

但是,我是gettig NumberFormatException.该字符串被修剪,只包含1和0.有人可以解释为什么我得到这个例外?

java numberformatexception

2
推荐指数
1
解决办法
86
查看次数