2013-12-21 3 views
0

Я разрабатываю веб-сервис для отдыха в муле, используя входящую конечную точку https. Я сконфигурировал https-коннектор с tls-key-store и tls-сервером (сгенерировал то же самое с помощью keytool).mule https inbound endpoint

Ниже файл конфигурация:

<https:connector name="httpsConnector" doc:name="HTTP\HTTPS"  validateConnections="true"> 
    <https:tls-key-store path="keystore.jks" keyPassword="welcome" storePassword="welcome"/> 
    <https:tls-server path="truststore.jks" storePassword="welcome"/> 
    </https:connector> 
    <flow name="RESTFlow1" doc:name="RESTFlow1"> 
    <https:inbound-endpoint exchange-pattern="request-response" host="0.0.0.0" port="8082" connector-ref="httpsConnector" doc:name="HTTPS"/> 
    <jersey:resources doc:name="REST"> 
    <component class="com.thinxtream.rest.restWebservices"/> 
    </jersey:resources> 
    </flow> 

Клиент представляет собой гибкое приложение, которое подключается к этому мулу покой WebService, его дает ошибку ниже:

httpsConnector.receiver.02] org.mule.exception.DefaultSystemExceptionStrategy: Caught exception in Exception Strategy: Received fatal alert: bad_certificate 
javax.net.ssl.SSLHandshakeException: Received fatal alert: bad_certificate 
at sun.security.ssl.Alerts.getSSLException(Unknown Source) 
at sun.security.ssl.Alerts.getSSLException(Unknown Source) 
at sun.security.ssl.SSLSocketImpl.recvAlert(Unknown Source) 
at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source) 
at sun.security.ssl.SSLSocketImpl.readDataRecord(Unknown Source) 
at sun.security.ssl.AppInputStream.read(Unknown Source) 
at sun.security.ssl.AppInputStream.read(Unknown Source) 
at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:78) 
at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106) 
at org.mule.transport.http.HttpServerConnection.readLine(HttpServerConnection.java:219) 
at org.mule.transport.http.HttpServerConnection.readRequest(HttpServerConnection.java:185) 
at org.mule.transport.http.HttpMessageReceiver$HttpWorker.run(HttpMessageReceiver.java:155) 
at org.mule.work.WorkerContext.run(WorkerContext.java:311) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
at java.lang.Thread.run(Unknown Source) 

ли это какое-либо конфигурация на flex приложение также?

ответ

1

ЕСЛИ вы создали сертификат на стороне сервера самостоятельно, то он, вероятно, сам подписал или подписал сертификат CA. Клиент должен доверять сертификату подписи или самому сертификату сервера. Для этого вам нужно импортировать сертификат сервера (цепочку) в доверительный магазин, который использует клиент.

+0

Да, сертификат на стороне сервера самоподписан. Я думаю, мне нужно импортировать сертификат сервера в Flash-построитель. – user1787772

+0

Сработало, я удалил путь tls-server в https-коннекторе и использовал только tls-keystore. Поскольку его гибкое веб-приложение, добавив сертификат в браузер, было доступно для доступа к веб-сервисам. – user1787772

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