2016-11-08 3 views
0

Поставщик, с которым наша система работает, предоставил нам сертификат с именем MM_Base64.cer. Наше хранилище ключей mitkeystore. Мы используем наше хранилище ключей, как это:Двусторонняя SSL-связь с Tomcat

<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" 

Тем не менее, проблема возникает рукопожатие.

Я смотрю this question. Это выглядит сложным. Является ли наша проблема такой же сложной, как и их? Есть ли простой способ заставить нашу систему работать с системой провайдера?

+0

Вы можете добавить ошибки в свой неповторимый предмет? –

+0

Я думал, что вам нужно импортировать сертификат поставщика в доверительное хранилище, а не хранилище ключей, и указать в файле server.xml, что вы хотите использовать этот супермаркет. подробнее см. здесь, как разные 2: http://www.java67.com/2012/12/difference-between-truststore-vs.html#more – borowis

+0

добавлено в качестве ответа – borowis

ответ

3

Возможно, я ошибаюсь в этом вопросе, но думаю, что вам необходимо импортировать сертификат поставщика в trust. См. here для описания keystore vs trustore. Затем вы должны указать tomcat в файл хранилища доверия в блоке конфигурации соединителя http внутри вашего server.xml.

Идея заключается в том, что при установлении подлинности SSL-подтверждения поставщик предоставляет свой сертификат и знает, можно ли ему доверять или не использовать tomcat, чтобы найти информацию об этом сертификате или сертификационных органах.

+0

Моя команда проверяет ваш ответ. Большое спасибо. –

2

Я согласен с Борисом Зибровем о доверии. https://www.mulesoft.com/tcat/tomcat-ssl - хорошая ссылка для настройки ssl.

Помимо вопроса о доверии, я заметил, что вы импортируете сертификат в хранилище ключей jdk, но используя свое пользовательское хранилище ключей (mitkeystore) как keystoreFile. Есть ли причина, почему вы не загрузили ее в милкейстор? (Это должен быть комментарий, но у меня нет достаточной репутации, так что несите со мной.)

+1

Да, это хорошее наблюдение. Похоже, они все пробовали, чтобы заставить его работать. должно быть, действительно, было "mitkeystore" – borowis

Смежные вопросы