jks证书转为pem证书,TrustedCertEntry not supported的解决办法
最近測試腳本的語言用ruby寫了,因為涉及到證書通訊,而公司服務證書生成的是jks證書,而ruby中用的證書為openssl x509 的pem格式。
從網上看到先把jks證書轉為p12證書,然后再從p12證書轉為pem證書。
sert.jks 轉為 sert.p12
keytool -importkeystore -srckeystore sert.jks -destkeystore sert.p12 -srcstoretype jks -deststoretype pkcs12
sert.p12 轉為 sert.pem
openssl pkcs12 -in sert.p12 -out sert.pem
但第一步執行結束后,發現錯誤:Problem importing entry for alias caroot: java.security.KeyStoreException: TrustedCertEntry not supported.
從網上找了很多頁面都無法解決這個問題。
歷經千辛萬苦終于解決,解決方案如下:
sert.jks 轉為 sert.p12
keytool -importkeystore -srckeystore sert.jks -destkeystore sert.p12 -srcstoretype jks -deststoretype pkcs12 -alias keyOwnerAlias
sert.p12 轉為 sert.pem
openssl pkcs12 -in sert.p12 -out sert.pem
加了-alias keyOwnerAlias 關鍵字之后,就沒有再出現這個錯誤,希望能對一些碰到同樣問題的朋友能夠提供幫助。
keyOwnerAlias 就是這個證書擁有者的別名,需要和證書里用到的別名一致。
別名沒有試過中文的。有興趣的朋友可以嘗試一下。
總結
以上是生活随笔為你收集整理的jks证书转为pem证书,TrustedCertEntry not supported的解决办法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Google: Sophisticate
- 下一篇: [Linq] Linq如何调用外部方法?