2011-09-29 102 views
1

我已經閱讀了關於在https中運行tomcat並且實現它的好文章。將BIN格式的證書轉換爲X509格式

http://techtracer.com/2007/09/12/setting-up-ssl-on-tomcat-in-3-easy-steps/

它工作正常,我的Tomcat是在HTTPS模式下運行。

但問題是我得到的證書在BIN格式。我需要它在X509格式,這樣我可以把它作爲一種原料資源爲我的Android項目

我用java的keytool創建it.Can我使用OpenSSL將其轉換爲X509格式或Java密鑰工具就足夠了?

我是新來的這個證券的東西。

請指點我正確的方向,並清除我的疑惑。

回答

0

我認爲keytool已經只處理X509格式的證書。您應該已經生成.keystore文件。您可以使用命令將其導出證書:

的keytool -export -alias mycert -keystore mykeystore.bin -file certificatefile.cer

+0

感謝您對Nilesh的回覆。在上面的網址中提到了.BIN文件實際上是密鑰庫文件。我現在該怎麼辦? – Sreeram

+0

使用上述命令並使用其他參數-keystore <您的bin文件名> – Nilesh

+0

您還需要使用私鑰嗎?或者您只是想在可信商店的android手機上添加服務器證書以避免瀏覽器警告? [編輯]:看看這可以幫助你:http://conshell.net/wiki/index。php/Keytool_to_OpenSSL_Conversion_tips – Nilesh

0

當然可以,您可以使用OpenSSL證書轉換和鍵和從下列格式

  • 標準PEM
  • DER /二進制
  • PKCS#7(又名P7B)
  • PKCS#12(又名PFX)

在你的情況,考慮到標準PEM私鑰文件和數字證書, 使用以下步驟他們都轉換爲PKCS12格式:

步驟1:轉換的PEMs到單個PKCS12文件

OpenSSL> pkcs12 -export -in CE_cert.cer -inkey CE_prv_key_PEM.key -out 
pkcs12_KeyStore.p12 -name ce_cert_prv_key 

下面有用於OpenSSL PKCS12命令該文檔。

2步:導入在步驟1中創建的PKCS12文件到新的JKS

C:\>keytool -importkeystore -srckeystore pkcs12_KeyStore.p12 -srcstoretype pkcs12 -srcstorepass somepass -srcalias ce_cert_prv_key -destk 
eystore path/to/JavaKeyStore_KS.jks -deststoretype jks -deststorepass somepass -destkeypass somepass 

現在已經在JKS格式的證書和私鑰後,您可以使用此JSK密鑰存儲在Tomcat的。

+0

PEM不是,也不是證書的標準。二進制DER是X.509證書的標準格式。 –

+0

感謝您的響應Zaki.After一些谷歌搜索後,我發現我有一個JKS的keystore.Are你問我要創建一個新的密鑰庫? – Sreeram

+0

@Sreeram,是的,創建一個新的jks密鑰庫,並在您的android項目中使用您的cert&priv密鑰文件。 – Zaki