【发布时间】:2021-04-05 08:50:53
【问题描述】:
我正在研究 Websockets (wss),我对他们使用 SSL 感到有些困惑。我希望你们中的一些人能够澄清一些让我最困惑的事情。
使用场景
假设我有一个带有 CA 签名证书的 HTTPS 安全网站。我想与在不使用同一域的外部服务器上运行的自定义应用程序(使用 WebSockets)实时通信(例如,该站点为 www.mysite.com,服务器为 www.notmysite.com)。
困惑部分
- 当 WebSocket 客户端 (wss) 连接到远程服务器时,它使用什么 SSL 证书?它是原始网站,还是它尝试连接的服务器?
- 在这种情况下,是否可以使用单域 SSL 证书建立连接 - 仅适用于我们知道私钥的网站 (www.mysite.com),因此我们应该能够解密加密数据?
- 如果问题没有。 2 是错误的,包含两个 url 的多域证书会解决问题吗?
背景故事
我试图在 .NET C# 中创建一个 WebSocket 服务器。我设法让它与 HTTP 一起工作,但是当我在 HTTPS 安全网站上尝试代码时,我看到了一个我无法真正使用的加密文本。这就是为什么我购买了 SSL 证书并将其放在网站上,认为如果我有私钥,我可以解密数据并与客户端通信(基本上是问题 2)。虽然我只看到了关于密码学的不同错误。我试图解决这个问题一个多星期,我的进步和挫败感可以在我的其他问题中看到,例如: C# RSA decrypt parameter is incorrect 和 AuthenticateAsServer() error 然后我发现我可能需要从不同的角度来看待它,这就是我提出这个理论的时候。我希望你们中的一些人能够通过解释为什么我做错了来结束我的痛苦。我很感激任何帮助。非常感谢。
【问题讨论】:
标签: ssl encryption websocket