2013-12-21 3 views
0

인바운드 https 엔드 포인트를 사용하여 mule에서 휴식 웹 서비스를 개발 중입니다. tls-key-store 및 tls-server로 https 커넥터를 구성했습니다 (keytool을 사용하여 동일하게 생성했습니다).mule https 인바운드 엔드 포인트

<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> 

클라이언트는, 그것의주는 다음 오류이 노새 휴식 웹 서비스에 연결하는 플렉스 응용 프로그램은 다음과 같습니다 : 아래

구성 파일입니다

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) 

은에 어떤 구성을합니까 플렉스 응용 프로그램도?

답변

1

직접 서버 측 인증서를 만든 경우 자체 서명되었거나 자신의 CA 인증서로 서명 된 것일 수 있습니다. 클라이언트는 서명 인증서 또는 서버 인증서 자체를 신뢰해야합니다. 이 작업을 수행하려면 클라이언트가 사용하는 트러스트 스토어에 서버 인증서 (체인)를 가져와야합니다.

+0

예, 서버 측 인증서는 자체 서명되어 있습니다. 플래시 빌더로 서버 인증서를 가져와야 할 것으로 생각됩니다. – user1787772

+0

그게 효과가있어, 나는 https 커넥터에서 tls-server 경로를 제거하고 tls-keystore 만 사용했다. 브라우저에 인증서를 추가하는 flex 웹 응용 프로그램이 웹 서비스에 액세스 할 수 있었기 때문에. – user1787772

관련 문제