版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hxg117/article/details/80163975
由于需要和第三方站点集成,对方如果修改了HTTPS证书,会导致HTTPS网络连接失败,所以需要提前验证一下对方的证书是否在我们的信任列表。
第三方站点: https://secure.touchnet.com:8700/
首先查看对方站点的证书:
openssl s_client -showcerts -connect secure.touchnet.com:8700
将对方站点的证书保存在一个文件cert.txt
-----BEGIN CERTIFICATE-----
MIIE0DCCA7igAwIBAgIQCkieiFN+iqZFTW4sSyrrIDANBgkqhkiG9w0BAQsFADCB
...... //省略
r8kbYq3fAu5dNPZBS8vDVa+xy9qcc9UCqC2nrPzh5QfQUeg1
-----END CERTIFICATE-----
上一步保存的证书是PEM格式,将证书转换成DER,方便查看。
>openssl x509 -in cert.txt -inform pem -out a.der -outform DER
双击查看a.der文件。
查看根证书:
注意这里的SHA1指纹。
接下来根据指纹作为关键字在JDK的cacerts里面查找有没有对应的信任证书。
C:\test>keytool -list -keystore cacerts -storepass changeit | grep 'F1:8B' -A1
Certificate fingerprint (SHA1): F1:8B:53:8D:1B:E9:03:B6:A6:F0:56:43:5B:17:15:89:CA:F3:6B:F2
thawteprimaryrootcag2, Dec 11, 2009, trustedCertEntry,