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