2015-07-03 7 views
1

У меня есть вспышка AS3, опубликованная с 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 или я установить его на любой другой вариант, соединение не устанавливается, но если установить его «best», иногда я могу создать соединение, но не всегда.

В моем сервере у меня есть сертификат SSL, подписанный Geo Trust Inc, и это общее имя (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 был предложен клиентом и был отклонен.

Update

Другая вещь, которую вы можете проверить, является позволяя унаследованный материал с помощью параметра в вашем red5.sh; добавить их к своему JAVA_OPTS:

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

Вы можете найти информацию об этих параметрах here.