我正在尝试获取远程服务器的证书,然后我可以使用它来添加到我的密钥库并在我的java应用程序中使用.
一位资深开发者(节假日:())告诉我,我可以运行这个:
openssl s_client -connect host.host:9999
Run Code Online (Sandbox Code Playgroud)
要获取原始证书,我可以将其复制并导出.我收到以下输出:
depth=1 /C=NZ/ST=Test State or Province/O=Organization Name/OU=Organizational Unit Name/CN=Test CA
verify error:num=19:self signed certificate in certificate chain
verify return:0
23177:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1086:SSL alert number 40
23177:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:188:
Run Code Online (Sandbox Code Playgroud)
我也试过这个选项
-showcerts
Run Code Online (Sandbox Code Playgroud)
而这一个(在debian上运行你的头脑)
-CApath /etc/ssl/certs/
Run Code Online (Sandbox Code Playgroud)
但得到同样的错误.
这个消息来源说我可以使用那个CApath标志,但它似乎没有帮助.我尝试了多条路径无济于事.
请让我知道我哪里出错了.
URL myUrl = new URL("https://www.....");
Run Code Online (Sandbox Code Playgroud)
SSL网站证书已过期.如何避免它并使URL()工作?
我在Java中有一个X509Certificate实例,我需要检查发行者是否受信任?
谢谢gal