通过java程序使用证书

以下java代码都来自ibm官网的大神,此处只是借用代码测试我们生成的证书好不好用。首先我们的证书有下面几个:

Client.p12  -  Client端keystore,不包含CA证书,通过openssl生成
ClientTrust.p12  -  Client端可信任keystore,只导入Server的证书,通过keytool生成
Client_wc.p12  -  Client端keystore,包含CA证书链,通过openssl生成
Server.p12  -  Server端keystore,不包含CA证书,通过openssl生成
ServerTrust.p12  -  Server端可信任keystore,只导入Client的证书,通过keytool生成
Server_wc.p12  -  Server端keystore,包含CA证书链,通过openssl生成

借用ibm的代码,通过下面方式使用这几个不同的证书,都是可以通过:

keystore和trustkeystore的区别是keystore里面有证书的私钥,而trustkeystore里面只有证书信息,从运行的结果来看,这两者都可以相互通用并没有区分,但是使用上应该不会把受信证书连同它的私钥一起发不出去,所以用trustkeystore来存储可信证书信息是比较靠谱的做法。

如果在java程序运行时增加 -Djavax.net.debug=ssl 参数可以查看更加详细的信息,今天主要准备一个方便使用的证书环境,方便后续验证其他证书组合和SSL交互信息。

ibm官网链接:https://www.ibm.com/developerworks/cn/java/j-lo-ssltls/index.html

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注