Как установить сертификат как доверенный для Spring RestTemplate

Я использую Spring RestTemplate в своем приложении для доступа к внешним веб-службам. В этом веб-сервисе включен SSL, однако, с самоподписанным сертификатом (домен и т.д... также не действительны). Это происходит в локальной сети, поэтому мне не нужно беспокоиться о проблемах безопасности. Я хочу заставить Spring принять этот сертификат. Вот что я сделал на данный момент:

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>

Я импортировал сертификат сервера в keystore, он там точно есть. Что еще мне нужно сделать? Я уже проверил все похожие вопросы здесь, но ни один из них не помог. Спасибо.

6
задан Filip Majernik 4 January 2012 в 17:07
поделиться