如何將CA簽署的ssl憑證安裝到tomcat 8中

如何將CA簽署的ssl憑證安裝到tomcat 8中

我有 2 個由 CA 簽署的憑證。我想使用這些憑證在 tomcat 上啟用 ssl。

我運行以下命令來建立 jks 檔案並將憑證匯入到該 jks 檔案中。

1. keytool -genkey -alias bmark.com -keyalg RSA -keystore keystore.jks
2. keytool -import -alias root -keystore keystore.jks -trustcacerts -file b32dasd75493.crt
3. keytool -import -alias intermed -keystore keystore.jks -trustcacerts -file sf_bundle-g2-g1.crt

並在tomcat的server.xml中啟用https

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" keystoreFile="/Users/test/Desktop/keystore.jks" keystorePass="changeme"/>

啟動tomcat並開啟urlhttps://bmark.com:8080在 Chrome 中,但它聲稱 CA 簽署的 SSL 憑證不受信任,聲稱它是自簽署的。除了這些文件之外我還需要其他文件嗎?我該如何解決這個問題?

答案1

若要檢查 CA 回應是否已正確安裝,請執行:

keytool -list -keystore /Users/test/Desktop/keystore.jks -alias bmark.com -v

它應該向您顯示從葉到根的證書鏈。

在您的連接器定義中,您沒有指定鍵別名,因此使用找到的第一個憑證。將其更改為:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLS"
           keystoreFile="/Users/test/Desktop/keystore.jks"
           keystorePass="changeme"
           keyAlias="bmark.com" />

或者,如果您正在使用雄貓8.5(你不應該使用Tomcat 8.0),切換到新的 SSL 配置:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="150" scheme="https" secure="true" SSLEnabled="true">
    <SSLHostConfig protocols="TLS">
        <Certificate certificateKeystoreFile="/Users/test/Desktop/keystore.jks"
                     certificateKeystorePassword="changeme"
                     certificateKeyAlias="bmark.com" />
    </SSLHostConfig>
</Connector>

編輯:要安裝所有三個證書,您只需要一個包含證書和中間體的文件(按從乾燥到根的順序)並運行:

keytool -importcert -keystore /Users/test/Desktop/keystore.jks\
-alias bmark.com -file <chain_file> -trustcacerts

或者您可以從根到莖分開插入。

相關內容