2015-07-03 81 views
1

我有一個AS3 Flash與Flash Professional CC一起發佈,併爲Flash Player13發佈。代碼NetConnection.Connect.SSLHandshakeFailed在我的RED5服務器

問題是:當我創建一個NetConnection到我的RTMP服務器(RED5 v1.1)時,我獲得了以下錯誤消息:NetConnection.Connect.SSLHandshakeFailed。

我正在使用的代碼如下:

nc = new NetConnection(); 
nc.objectEncoding = ObjectEncoding.AMF3; 
nc.client = this; 
nc.proxyType = "best"; 
nc.addEventListener(NetStatusEvent.NET_STATUS, netSAServerRTMPStatus); 
nc.connect("rtmps://myappserver.mydomain.com/myApp", myChannel); 
private function netSAServerRTMPStatus(event:NetStatusEvent):void 
{ 
    trace(event.info.code); 
} 

如果我不設置proxyType或者我把它設置爲任何其他選項,連接從未建立,但如果我將它設置爲「最好的」,我可以有時創建連接,但並非總是如此。

在我的服務器我有地理信託有限公司簽訂了SSL證書,它的通用名稱(CN)= * .mydomain.com來

誰能幫助我嗎?如果需要,我可以提供更多信息。

最好的問候, Pimager

回答

0

您可以啓用SSL調試,以獲得更多的細節,當它失敗;該條目添加到您的JAVA_OPTS:

-Djavax.net.debug=ssl 

然後,您將看到這樣的條目在日誌:

javax.net.ssl.SSLHandshakeException: Client requested protocol TLSv1 not enabled or not supported 

和/或

Exception caught on session: 1 id: EPP7XKEM0XUWC javax.net.ssl.SSLHandshakeException: SSL handshake failed. 

在所示的情況下,使用TLSv1請求由客戶並被拒絕。

更新

你可以測試出另一件事,是通過在你的red5.sh參數能夠支持傳統的東西;這些添加到您的JAVA_OPTS:

-Dsun.security.ssl.allowUnsafeRenegotiation=true -Dsun.security.ssl.allowLegacyHelloMessages=true 

您可以找到有關這些參數here信息。