Я хочу настроить Spring RestTemplate моего *1001* Spring @ MVC приложения-заглушки с SSL для связи с REST base httpsПриложение , развернутое на сервере Tomcat (Spring 3, Tomcat 7).До сих пор мои работы сделаны по ссылке .Теперь я понятия не имею, как использовать эти сгенерированные сертификаты с Spring RestTemplate . Может кто-нибудь есть идеи, пожалуйста, помогите мне.Благодарю.До сих пор все, что я сделал,
// Конфигурации Spring Security xml
<http>
<intercept-url pattern="/login" access="IS_AUTHENTICATED_ANONYMOUSLY" requires-channel="https"/>
<http-basic/></http>
// Конфигурации для включения SSL с Tomcat
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
keystoreFile="C:\Users\Channa\.keystore" keystorePass="changeit"
clientAuth="false" sslProtocol="TLS"/>
Для создания ключей, сертификатов и т. Д.,
// Генерирование ключей клиента и сервера:
F: \ jdk1.6.0_23 \ bin> keytool -genkey -keystore keystore_client -alias clientKey -dname "CN = localhost, OU = Dev, O = MyBusiness, L = Colombo, S = Westen, C = SL"
F: \ jdk1.6.0_23 \ bin>keytool -genkey -keystore keystore_server -alias serverKey -dname "CN = localhost, OU = Dev, O = MyBusiness, L = Colombo, S = Westen, C = SL"
// Создать клиент исертификаты сервера:
F: \ jdk1.6.0_23 \ bin> keytool -export -alias clientKey -rfc -keystore keystore_client> client.cert F: \ jdk1.6.0_23 \ bin> keytool -export-alias serverKey -rfc -keystore keystore_server> server.cert
// Импортировать сертификаты в соответствующие хранилища:
F: \ jdk1.6.0_23 \ bin> keytool -импортныйias clientCert -file client.cert -keystore truststore_server F: \ jdk1.6.0_23 \ bin> keytool -import -alias serverCert -file server.cert -keystore truststore_client
// Конфигурации Spring RestTemplate
<!--Http client-->
<bean id="httpClient" class="org.apache.commons.httpclient.HttpClient">
<constructor-arg ref="httpClientParams"/>
<property name="state" ref="httpState"/>
</bean>
<!--Http state-->
<bean id="httpState" class="com.org.imc.test.stub.http.CustomHttpState">
<property name="credentials" ref="usernamePasswordCredentials"/>
</bean>
<!--User name password credentials-->
<bean id="usernamePasswordCredentials" class="org.apache.commons.httpclient.UsernamePasswordCredentials"/>
<!--Http client-->
<bean id="httpClientFactory" class="org.springframework.http.client.CommonsClientHttpRequestFactory">
<constructor-arg ref="httpClient"/>
</bean>
<!--RestTemplate-->
<bean id="restTemplate" class="org.springframework.web.client.RestTemplate">
<constructor-arg ref="httpClientFactory"/>
</bean>
// URL Https для доступа к
ResponseEntity<User> rECreateUser = restTemplate.postForEntity("https://127.0.0.1:8443/skeleton-1.0/login", user, User.class);
// Исключение в настоящее время я получил:
org.springframework.web.client.ResourceAccessException: ошибка ввода-вывода: sun.security.validator.ValidatorException: сбой при построении пути PKIX: sun.security.provider.certpath.SunCertPathBuilderException: невозможно найти действительную сертификациюпуть к запрошенной цели;вложенное исключение: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: сбой построения пути PKIX: sun.security.provider.certpath.SunCertPathBuilderException: невозможно найти действительный путь сертификации для запрошенной цели