Я использую Spring RestTemplate в своем приложении для доступа к внешним веб-службам. Тем не менее, эта веб-служба, поддерживающая SSL, с самоподписанным сертификатом (доменом и т. Д.) Также недействительна. Это происходит только в локальной сети, поэтому мне не нужно беспокоиться о некоторых проблемах безопасности. Я хочу, чтобы Spring принял этот сертификат. Это то, что я сделал до сих пор:Как установить сертификат, которому нужно доверять весну RestTemplate
1.) Я настроил мой JBOSS 7 использовать хранилище ключей
<connector name="https" protocol="HTTP/1.1" socket-binding="https" scheme="https" enable-lookups="false" secure="true">
<ssl name="ssl" key-alias="my-private-key" password="rmi+ssl" certificate-key-file="../standalone/configuration/server-keystore.jks" protocol="TLSv1" verify-client="false"/>
</connector>
2.) Вот конфигурация моего RestTemplate Bean (я использую autowireing в моих классах)
<bean id="stringHttpConverter" class="org.springframework.http.converter.StringHttpMessageConverter"></bean>
<bean id="httpClientParams" class="org.apache.commons.httpclient.params.HttpClientParams">
<property name="authenticationPreemptive" value="true"/>
<property name="connectionManagerClass" value="org.apache.commons.httpclient.MultiThreadedHttpConnectionManager"/>
</bean>
<bean id="httpClient" class="org.apache.commons.httpclient.HttpClient">
<constructor-arg ref="httpClientParams"/>
</bean>
<bean id="httpClientFactory" class="org.springframework.http.client.CommonsClientHttpRequestFactory">
<constructor-arg ref="httpClient"/>
</bean>
<bean id="restTemplate" class="org.springframework.web.client.RestTemplate">
<constructor-arg ref="httpClientFactory"/>
<property name="messageConverters">
<list>
<!-- <ref bean="marshallingConverter" /> -->
<ref bean="stringHttpConverter" />
</list>
</property>
</bean>
Я импортировал сертификат сервера в хранилище ключей, он определенно находится там. Что еще мне нужно сделать? Я уже проверял все подобные вопросы здесь, но ни один из них не помог. Благодарю.
Так что в моем случае я должен импортировать сертификат сервера в server-keystore.jks? Или это отдельное хранилище ключей для доверенных сертификатов? И еще один вопрос: следует ли импортировать сертификат сервера или сертификат CA сервера? Благодарю. –