使用 C# 和 AWS 证书保护 WebSocket 服务器

Secure WebSocket Server with C# and AWS Certificates

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

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

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

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

With AWS Certificate Manager, you can quickly request a certificate, deploy it on ACM-integrated AWS resources, such as Elastic Load Balancers, Amazon CloudFront distributions, and APIs on API Gateway, and let AWS Certificate Manager handle certificate renewals

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