[英]Two-way SSL communication with Tomcat
我們的系統與之合作的提供者給了我們名為MM_Base64.cer的證書。 我們的密鑰庫是mitkeystore 。 我們正在像這樣使用我們的密鑰庫:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="path\mitkeystore" keystorePass="ourpass" />
我們將它們的密鑰導入到我們的JDK和JVM中,如下所示:
keytool -import -file "path\MM_Base64.cer" -keystore "C:\Program Files\Java\jre7\lib\security\cacerts"
但是,仍然出現握手問題。
我在看這個問題 。 看起來很復雜。 我們的問題和他們的問題一樣復雜嗎? 有沒有一種簡單的方法可以使我們的系統與提供者的系統一起使用?
我可能錯了,但是我認為您必須將提供者的證書導入信任庫。 有關keystore
與trustore
的描述,請參見此處 。 然后,您必須將tomcat指向server.xml
內http連接器配置塊中的信任存儲文件。
這個想法是,當SSL握手發生時,提供商將提供其證書,並知道它是否可以被信任,tomcat使用信任庫來查找有關該證書或證書頒發機構的信息。
我同意Borys Zibrov關於信任庫的觀點。 https://www.mulesoft.com/tcat/tomcat-ssl是ssl設置的良好鏈接。
除了關於信任庫的問題外,我還注意到您正在將證書導入到jdk的密鑰庫中,但使用的是自定義密鑰庫(mitkeystore)作為keystoreFile。 您沒有將其加載到mitkeystore中的原因嗎? (這實際上應該是評論,但我沒有足夠的聲譽,請耐心等待。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.