gpt4 book ai didi

java - ReSTLet 发送客户端证书

转载 作者:太空宇宙 更新时间:2023-11-03 14:58:44 24 4
gpt4 key购买 nike

我正在使用 reSTLet 创建具有服务器和客户端认证的 HTTPS channel 。我对服务器进行认证没有问题(即让服务器公开证书并从客户端信任它)但我不知道如何发送客户端证书。下面是服务器重要代码:

Server server = component.getServers().add(Protocol.HTTPS, config.getInt("server.port"));
Series<Parameter> parameters = server.getContext().getParameters();
parameters.add("keystorePath", config.getString("keystore.path"));
parameters.add("keystorePassword", config.getString("keystore.password"));
parameters.add("keyPassword", config.getString("key.password"));
parameters.add("keystoreType",config.getString("keystore.type"));
/* true */
parameters.add("needClientAuthentication", config.getString("need.client.authentication"));

客户端配置是这样的:

if(config.getBoolean("truststore.use")){
Series<Parameter> parameters = client.getContext().getParameters();
parameters.add("truststorePath", config.getString("truststore.path"));
parameters.add("truststorePassword", config.getString("truststore.password"));
// parameters.add("trustPassword", "password");
parameters.add("truststoreType", config.getString("truststore.type"));
parameters.add("keystorePath", config.getString("keystore.path"));
parameters.add("keystorePassword", config.getString("keystore.password"));
parameters.add("keyPassword", config.getString("key.password"));
parameters.add("keystoreType",config.getString("keystore.type"));

}

直到 needClientAuthentication 为 false 一切正常。通过将 needClientAuthentication 设置为 true 它开始失败,这是预期的,因为我没有发送客户端证书。出现的异常有以下消息:

Software caused connection abort: recv failed

但我不知道也没有找到任何关于如何发送客户端证书的例子。

我什至在客户端添加了 keystore 信息,并放宽了对服务器的限制以wantClientAuthentication,但似乎没有证书来自服务器。

最佳答案

我发现了问题。显然,在服务器上也配置了信任库之前,服务器不会开始向客户端请求证书。通过配置信任库,可以正确进行相互认证。

关于java - ReSTLet 发送客户端证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25683948/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com