2012-01-10 66 views
20

我試圖用提供給我們(由某人)提供給我們的證書使用SSL來配置Tomcat 6。我的SSL體驗只有幾天,但我仍然需要配置補丁。TOMCAT SSL錯誤:別名不能識別密鑰條目

我以DER格式提供了證書(從IE下載)。

接下來我創建了一個密鑰庫:

 
keytool -import -alias btIEgen -file MyCompany.der -keystore b2b.keystore 

說我用 「密碼」 的密碼

我這個配置在Tomcat中的server.xml中SSL部分:

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" 
    maxThreads="150" scheme="https" secure="true" 
    keystoreFile="webapps/b2b.keystore" keystorePass="password" keyAlias="btIEgen" 
    clientAuth="false" sslProtocol="TLS" /> 

在啓動Tomcat我遇到了補丁錯誤。

然後我在b2b.keystore上做了一個keytool -list,並注意到別名全部小寫,所以在更新server.xml並重新啓動後,我仍然得到相同的錯誤,但小寫別名。

然後,我雖然也許我需要一個根CA.所以我重建了b2b.keystore如下:

 
keytool -import -alias root -file myCA.cer -keystore b2b.keystore 

然後我重新執行我的keytool命令對MyCompany.der

但我仍然得到同樣的錯誤,該別名不標識鍵輸入。

我想知道如果我在配置tomcat時發生了一些根本性錯誤,或者應該這樣做,我只是在做一個愚蠢的粗心錯誤?

任何指導將不勝感激。

回答

25

Tomcat需要的是證書及其私鑰。證書是您的任何用戶都可以看到的公共信息,但是私鑰只能是您的私鑰:這是防止他人使用您的證書運行網站的原因。通過導入MyCompany.der,您只需導入證書。

你需要找到你的私鑰在哪裏。 (通常,即使是向您頒發證書的人也不應該知道其私鑰)。

在證書申請過程中,您的瀏覽器中可能已生成私鑰。試着看看你是否可以在.p12/.pfx(PKCS#12)格式中導出:如果它在那裏,它也應該捆綁私鑰。如果是這樣,您應該能夠直接使用PKCS12商店類型(因爲只有一個密鑰條目,您可能不需要密鑰別名)將結果文件用作密鑰存儲庫。

+0

工作就像一個魅力!我將證書複製到TOMCAT_HOME目錄並修改server.xml,如下所示: udeleng 2012-01-10 12:40:16

+2

謝謝你,有同樣的問題。 .pfx證書改變了這一切:-) – Tony 2012-08-28 15:15:52

+2

刪除keyAlias行是我的解決方案。負責我們證書的人沒有像過去那樣爲密鑰證書對指定別名。 – Banjer 2013-04-01 16:26:00