J'utilise Spring RestTemplate dans mon application pour accéder à des services Web externes. Cependant, ce service Web SSL activé avec un certificat auto-signé (domaine, etc ... ne sont pas non plus valides). Ceci est juste sur un réseau local, donc je n'ai pas à m'inquiéter de certains problèmes de sécurité. Je veux que Spring accepte ce certificat. Voilà ce que je l'ai fait jusqu'à présent:Comment définir un certificat de confiance pour un ressort RestTemplate
1.) J'ai configuré mon JBOSS 7 à utiliser ce fichier de clés
<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.) Voici la configuration de mon RestTemplate Bean (J'utilise autowireing dans mes classes)
<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>
J'ai importé le certificat de serveur dans le keystore, il est définitivement là. Quoi d'autre dois-je faire? J'ai déjà vérifié toutes les questions similaires ici, mais aucune d'elles n'a aidé. Merci.
Donc, dans mon cas, je devrais importer le certificat de serveur dans server-keystore.jks? Ou est-ce un keystore distinct pour les certificats de confiance? Et une autre question, dois-je importer le certificat de serveur ou le certificat de l'autorité de certification du serveur? Merci. –