@JessonWoo
hi,首先申明下,我自己對ssl的認識還是很膚淺的,僅僅上次和cnnic合作的時候,為了了解安全性問題,才被迫稍微看了相應的一些知識.
所謂認證,是要對某臺(當然可以是集群)服務器身份做認證.
認證方式有兩種:
自簽名認證:服務端生成key,然后根據key導出證書.公布于站點.
通過第三方認證機構認證:有服務端生成key,然后導出認證信息,交由天威誠信等第三方認證機構認證,最后生成證書,公布于站點.
客戶端,將證書下載,確認為可信任公司認證信息,并且導入到受信任區(trustscore),建立連接與服務端進行正常交互.至此,就完成了對服務端的認證.
所以客戶端必須將證書導入信任區.
java中,可以查看證書:
寫個簡單的方法:
FileInputStream fis = new FileInputStream("cert.cer");
CertificateFactory cf=CertificateFactory.getInstance("X509");
X509Certificate c=(X509Certificate) cf.generateCertificate(fis);
System.out.println(c.getSubjectDN());
//可以查看下X509Certificate的一些get方法.
其實keytool僅僅是jdk中的工具.
openssl是更常用的一個工具
可見:
http://www.openssl.org/