2014-04-15 39 views
1

當我在開發機器上構建android應用程序時,我被要求擁有應用程序的SSL證書,所以我生成了一個keytool for Tomcat的密鑰存儲庫。我從keystore中提取證書並將其放入.bks以使用android,並且一切順利。如何從keystore導出.key和.crt

現在我們必須將所有服務器端代碼轉移到需要Apache HTTP和Tomcat的服務器。 Apache HTTP SSL需要.key和.crt文件,我無法找到從密鑰存儲區導出.key和.crt文件的方法

任何人都可以幫忙嗎?我發現你可以從.pem生成.crt

openssl x509 -outform der -in your-cert.pem -out your-cert.crt 

但是我怎樣才能得到.key文件?

回答

2

的keytool(JDK中提供)允許您將證書導出到文件:

keytool -exportcert -keystore [keystore] -alias [alias] -file [cert_file] 

要導出定期鍵,你應該使用-importkeystore命令(驚訝):

keytool -importkeystore -srckeystore [keystore] -destkeystore [target-keystore] -deststoretype PKCS12 
+0

這永遠不會奏效,導出密鑰不能這樣工作 – Sohan

+0

你介意解釋爲什麼它不適合你嗎? – hoaz

+0

對於Apache而言,這不是您導出的方式。首先,您需要以.p12格式導出密鑰 然後,僅導出證書以創建.crt文件並僅導出密鑰或使用openSSL創建.key文件。這樣做會導致錯誤,無效的PEM文件中的證書。 請參閱, http://serverfault.com/questions/715827/how-to-generate-key-and-crt-file-from-jks-file-for-httpd-apache-server – Sohan

相關問題