首页 > 解决方案 > 使用 C# 和 AWS 证书保护 WebSocket 服务器

问题描述

我正在尝试用 C# 编写一个安全的 websocket (WSS) 服务器。我从使用 TcpClient 对象的不安全套接字开始,但假设我需要将 SslStream 用于安全版本。我知道我需要使用AuthenticateAsServer()来添加证书,并且使用虚拟证书文件非常简单。

但是,我正在开发的 Web 应用程序使用来自 AWS 的 HTTPS 证书,理想情况下,我也想将它用于服务器,但我不知道如何从 AWS 获取证书以供使用SslStream(甚至初始化为 X509Certificate 对象)。

甚至可以以这种方式使用 AWS 证书吗?如果是这样,怎么做?

标签: c#amazon-web-serviceswebsocketcertificatesslstream

解决方案


不,我不相信这是可能的,因为来自 AWS Certificate Manager 的免费证书似乎是严格控制的:

借助 AWS Certificate Manager,您可以快速请求证书,将其部署在 ACM 集成的 AWS 资源上,例如 Elastic Load Balancer、Amazon CloudFront 分配和 API Gateway 上的 API,并让 AWS Certificate Manager 处理证书续订

据我了解,AWS 可以为您创建证书并管理它们,但前提是它们被插入到它们运行的​​附加服务(外部服务,如负载均衡器、网关等)中。您不能在自己的代码中使用它们。


推荐阅读