actionscript-3 - 我的 RED5 服务器中的代码 NetConnection.Connect.SSLHandshakeFailed

标签 actionscript-3 ssl red5 netconnection rtmps

我有一个使用 Flash Professional CC 发布并为 Flash Player13 发布的 AS3 Flash。

问题是:当我创建到我的 RTMP 服务器 (RED5 v1.1) 的 NetConnection 时,我收到以下错误消息: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 或我将它设置为任何其他选项,连接永远不会建立,但如果我将它设置为“最佳”,我有时可以创建连接,但并非总是如此。

在我的服务器中,我有一个由 Geo Trust Inc 签名的 SSL 证书,它的通用名称 (CN) = *.mydomain.com

谁能帮帮我?如果需要,我可以提供更多信息。

最好的问候, 画画师

最佳答案

您可以启用 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 .

关于actionscript-3 - 我的 RED5 服务器中的代码 NetConnection.Connect.SSLHandshakeFailed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31202348/

相关文章:

ios - 如果部署了有效证书,iOS AFNetwork SSL Pinning 模式是否会提供额外的安全奖励

java - 如何将元数据添加到 red5 中录制的 flv 文件中?

ffmpeg - 使用 ffmpeg 加入多个 flv

ios - 试图为 i-pad 制作一个 flash 项目,但在 itunes 上它作为一个 i-phone 应用程序出现

actionscript-3 - 如何在 ActionScript 3 中创建一个接受多种参数类型的函数?

amazon-web-services - AWS ACM - 由于证书颁发机构身份验证 (CAA) 错误,一个或多个域名验证失败

ssl - s3 静态站点 + 云端 + SSL 不适用于非 www

java - Tomcat 和媒体服务器如何协同工作?

javascript - Actionscript 3 javascript 通信 : Object #<HTMLEmbedElement> has no method

actionscript-3 - Actionscript3 alpha 掩蔽?