2014-10-29 59 views
0

我試圖通過使用Jetty運行在SSL上的安全站點。我從證書頒發機構收到4個PEM文件:如何從證書頒發機構提供的PEM文件正確創建java密鑰庫文件?

  • 1根證書
  • 第二中級證書
  • 1證書爲我的網站

但我無法得到它的工作。網站要麼完全拒絕請求,要麼運行正常,但不能識別證書,瀏覽器會發出警告。我已經試過如下:

keytool -keystore keystore.jks -import -alias server -file server.crt -trustcacerts 

...但這會導致請求到該網站是與Chrome的話說,網頁無法立即拒絕 - 在所有的服務器上沒有錯誤。我也試過這個:

openssl pkcs12 -export -out keystore.pkcs12 -in server.crt -inkey server-private-key.pem 
keytool -importkeystore -srckeystore keystore.pkcs12 -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype jks 

...這導致網站響應請求,但仍然警告證書不被信任。

我需要做什麼(如果有的話)與根證書和中級證書。我的嘗試失敗了,因爲我沒有使用它們?我無法找到任何信息,拼湊在一起我失蹤。

回答

1

將所有證書合併在一起。你server.crt這看起來像這樣

----- BEGIN CERTIFICATE -----
1證書爲我的網站
----- END CERTIFICATE -----
- ---- BEGIN CERTIFICATE -----
第一中級證書
----- END CERTIFICATE -----
----- BEGIN CERTIFICATE -----
第二中級證書
----- END CERTIFICATE -----
----- BEGIN CERTIFICATE -----
1根證書
----- END CERTIFICATE -----

使用命令:

openssl pkcs12 -export -clcerts -in server.crt -inkey server-private-key.pem -out keystore.pkcs12 

keytool -importkeystore -srckeystore keystore.pkcs12 -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype jks 
+0

是否順序中間證書的重要性,如果是的話,我怎麼知道哪個應該先到? – RTF 2014-10-29 20:31:35

+0

無論最後一個問題的答案如何,它都可行 - 謝謝你的好友! – RTF 2014-10-29 20:33:50

+0

@RTF我不知道這個問題的確切答案,但許多消息來源說,你應該把「葉」的證書放在根上。 – Multisync 2014-10-29 20:37:18

相關問題