2016-04-21 20 views
2

由於缺乏對證書的一般理解,我們抱歉。我有一個.p12文件(非過期的證書)和一個有效的密碼,所以我可以使用list內容:如何添加* .P12密鑰庫(帶有一個條目)?

keytool -list -keystore file.p12 -storepass password -storetype PKCS12 -v 

在我的Java代碼,我試圖在HTTPS的文章,但不斷收到此錯誤:

javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No name matching [host.path.com] found 

這篇文章對我的其他環境之一沒有任何認證要求,鏈接是HTTP(與HTTPS)。我如何讓這個.p12文件能夠在握手中被識別?

回答

1

你可以使用下面的命令

keytool -v -importkeystore -srckeystore alice.p12 -srcstoretype PKCS12 -destkeystore "c:\Program Files\Java\jre1.8.0_71\lib\security\cacerts" -deststoretype JKS 

默認密碼爲您的cacerts將的changeit

如果信任存儲將是你的JRE信任庫

請參考這裏瞭解更多信息 http://www.webfarmr.eu/2010/04/import-pkcs12-private-keys-into-jks-keystores-using-java-keytool/

+0

我在'jdk1.8xxx \ jre \ lib \ security \ '(我也複製了.p12文件),但是我沒有看到'truststore.jks'文件。我試過這個命令,但得到一個FileNotFoundException,我是否應該用另一個文件名替換truststore? – yamori

+0

這個名字是cacerts –