在单声道下运行启用 SSL 的 TCP 服务器的问题

Posted

技术标签:

【中文标题】在单声道下运行启用 SSL 的 TCP 服务器的问题【英文标题】:Issue running SSL-enabled TCP server under mono 【发布时间】:2013-05-12 04:50:15 【问题描述】:

我正在开发一个需要在客户端和服务器之间进行 SSL 加密的应用程序,并且需要在 Windows 和 Ubuntu 下的 Mono 下运行。目前,服务器和客户端对在 Windows 中工作正常,但是当客户端连接到服务器时,服务器返回此错误:

错误:认证或解密失败。在 Mono.Security.Protocol.Tls.SslStreamBase.AsyncHandshakeCallback (IAsyncResult asyncResult) [0x00000] in :0

我正在像这样加载证书:

X509Certificate2 cert = new X509Certificate2("server.pfx", "<password>");

【问题讨论】:

【参考方案1】:

当前的 Mono 版本不支持 SSL 连接作为没有客户端证书的服务器。

要么使用客户端证书,要么对源代码应用补丁。

您可以在我对this question 的回答中找到如何做到这一点的示例。

【讨论】:

以上是关于在单声道下运行启用 SSL 的 TCP 服务器的问题的主要内容,如果未能解决你的问题,请参考以下文章

启用了 ssl 的 spring mvc - 没有可用的会话属性

如何为MySQL服务器和客户机启用SSL

在 apache 中使用带有 ssl 的单声道

Openfire Xmpp Chat 无法在启用 SSL 的情况下工作

如何在 Windows 7 的 XAMPP 上运行的 PHP 应用程序中启用 SSL?

在单实例 Beanstalk 应用程序上启用 HTTPS:找不到在端口 80 上侦听的虚拟主机