2016-09-22 119 views
0

我購買了通配符證書,我試圖將其與Tomcat 8一起使用。將SSL通配證書導入Tomcat

我已經執行了幾行命令來啓用SSL。已啓用SSL,但我總是收到我正在使用自簽名證書的警告。當然這不應該是這樣,它應該使用可信證書來代替。

我已收到證書和中間證書(來自1and1),我發現根證書是由GeoTrust Global CA(我下載它)發佈的。

密鑰生成: keytool -genkey -alias tomcat -keyalg RSA

添加根證書 keytool -import -alias root -keystore .keystore -trustcacerts -file root.pem

添加中級證書 keytool -import -alias intermed -keystore .keystore -trustcacerts -file intermediate.cer

增加主要證書 keytool -import -alias main -keystore .keystore -file main.cer

我修改了server.xml中的連接器,它非常簡單,提供了密鑰庫和密碼。

當我瀏覽到域,我收到一個警告,這是一個自簽名的證書,我要添加一個例外等等...

此證書在IIS中已被使用,它的工作得很好。

使用一些在線工具ssl-checker,它證明這是一個自簽名證書,並且頒發者等同於我在第一條命令開始時提供的「名字和姓氏」。

什麼可能是缺失的問題?

謝謝!

+0

我沒有理由有IIS標記。這不是IIS上的問題。 –

回答

1

我最近遇到了Java/Keytool中帶有證書鏈導入和使用的問題。

我的猜測是,只有第一個證書發送到客戶端(我假設您使用的是IIS網站上使用的相同瀏覽器)。這可以用下面的OpenSSL命令的輸出進行檢查:

的OpenSSL的s_client.First -connect YOURSITE.COM:443 -showcerts

如果得到證實,因爲客戶端錯過中間證書,讓您的證書無法驗證。 在這種情況下,你應該「強制」keytool(不知道你的java版本/ OS)來「吃」手工製作的證書鏈。

請參考此excellent post(這就是我對我的情況)。記住把所有的證書,包括CA Root。

+0

我在Windows 2008上,Java 1.7 –

+0

@AliBassam - 好的。安裝openssl for Windows並最終發佈/編輯你的問題以添加上述命令的結果,以查看Tomcat是否輸出了完整的證書鏈給你的客戶端(我想它是IE) – Diego1974

+0

@AliBassam我剛剛注意到編輯剝去了一些上述openssl命令中的信息;您需要將YOURSITE.COM替換爲您的測試用戶,輸入「:」並指定連接端口(通常默認爲443),而非http(S)部分。例如:openssl s_client -connect www.google.it:443 -showcerts – Diego1974