2017-09-13 124 views
0

我有一個由globalsign提供的ssl證書。我想導入證書以使用它與tomcat。ssl在嵌入式tomcat中的設置春季啓動

我做以下操作

導入鏈證書

keytool -import -alias root11 -keystore server11.p12 -trustcacerts -file chain.pem -keyalg RSA -keysize 2048 -storetype PKCS12 

導入證書

keytool -import -alias tomcatroot11 -keystore server11.p12 -trustcacerts -file file.cert -keyalg RSA -keysize 2048 -storetype PKCS12 

在application.properties

server.ssl.key-store= /Users/Desktop/certificate/server11.p12 
server.ssl.key-store-password= password 
server.ssl.keyStoreType= PKCS12 
server.ssl.keyAlias= tomcatroot11 

我在啓動tomcat時遇到以下錯誤

java.lang.IllegalArgumentException: java.io.IOException: Alias name [hcmroot11] does not identify a key entry 
    at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:114) ~[tomcat-embed-core-8.5.16.jar:8.5.16] 

我在做什麼錯?

回答

0

您只導入了證書,而不是任何私鑰。 SSL/TLS服務器需要一個私鑰和證書或通常是證書鏈。請參閱僞造Java SSLHandshakeException: no cipher suites in common(其中包含其他鏈接)或crossdupe https://serverfault.com/questions/858102/jboss-https-configuration-with-cer-p7b-certificate-fails(Jboss的Web服務器組件是Tomcat的一個分支)。

-keyalg-keysize僅用於-genkeypair,如果你選擇產生與keytool Java中的關鍵和(當時)企業社會責任的做法。它們在-importcert上是無用的並被忽略,因爲不可能修改已經認證的密鑰的任何屬性。