首頁  >  文章  >  如何在 Ubuntu 中為 Tomcat 設定 SSL 證書

如何在 Ubuntu 中為 Tomcat 設定 SSL 證書

PHPz
PHPz轉載
2024-02-22 13:52:091280瀏覽

php小編魚仔為您帶來本期Java問答,今天的主題是如何在Ubuntu中為Tomcat設定SSL憑證。 SSL憑證是保障網站安全的重要組成部分,對於運作在Tomcat伺服器上的網站來說尤其重要。在Ubuntu系統中設定SSL證書可能會有一些複雜,但只要按照正確的步驟進行操作,就能成功設定SSL證書,保護您的網站資料安全。接下來就讓我們一起來了解如何在Ubuntu中為Tomcat設定SSL憑證吧!

問題內容

我使用 https://zerossl.com 作為證書,他們為我提供了這些文件:

  • ca_bundle.crt
  • 證書.crt
  • 私鑰

然後我執行這些命令

產生p12檔

openssl pkcs12 -export -in certificate.crt -inkey private.key -out keystore.p12 -name tomcat -cafile ca_bundle.crt -caname root -chain

產生jks檔

keytool -importkeystore -srckeystore certifcate.p12 -srcstoretype pkcs12 -destkeystore mykeystore.jks -deststoretype pkcs12

然後我編輯我的 /opt/tomcat/conf/server.xml

##
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
   maxThreads="150" scheme="https" secure="true"
   keystoreFile="/path/to/your/keystore.jks" keystorePass="your_keystore_password"
   keyAlias="tomcat" keyPass="your_key_password"
   clientAuth="false" sslProtocol="TLS" />

我不確定為什麼 ssl 憑證不起作用。如果有人告訴我我是否遺漏了什麼,我將不勝感激。

解決方法

所以你做得太多了。您不需要將金鑰轉換為 jks 金鑰庫。 jks 是 java 最初的金鑰庫格式,是一種專有格式。從那時起,pkcs12 出現了,java 終於支援了它,所以我建議只使用 p12 文件,並配置 tomcat 來讀取 pkcs12,而不是嘗試使用 jks。

但是,為了快速回答,您從 pkcs12 -> jks 進行的轉換例程並未儲存 jks 檔案。 -deststoretype pkcs12 應該是 -deststoretype jks 但是,我們將為 pkcs12 執行此操作,因為那是「未來」。從技術上講,tomcat 從 5.0 開始就支援 pkcs12,但未來是這樣的。

無論如何,這裡是您如何在 tomcat 的設定中使用 p12 憑證。

<Connector port="8443" 
           protocol="org.apache.coyote.http11.Http11NioProtocol" 
           SSLEnabled="true"
           maxThreads="150"
           scheme="https"
           secure="true"
           clientAuth="false" 
           sslProtocol="TLS" 
           keystoreFile="/your/path/certificate.p12"
           keystorePass="xxxxsomething_secretxxxxx"
           keystoreType="PKCS12" />

以上是如何在 Ubuntu 中為 Tomcat 設定 SSL 證書的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:stackoverflow.com。如有侵權,請聯絡admin@php.cn刪除