我正在尝试创建一个使用 HTTPS 的小型 C# Web 服务器。我决定使用这个 WebServer 库,因为它似乎可以完成我正在寻找的一切。在 SSL/TLS 方面,我不是知识最渊博的人,所以我想知道是否有人可以帮助我让它的 HTTPS 部分正常工作。基本上,我需要它来创建一个可与 Web 服务器库一起使用的 SSL 证书(在此示例中,它看起来像是使用 X.509 证书),然后将该证书添加到计算机和/或当前的受信任证书中用户。
这是我到目前为止的代码(基本上只是从示例中复制和粘贴):
var certificate = new X509Certificate2("C:\\Certs\\certificate.dat", "password");
// We do the cast since we want to specify UseClientCert
var listener = HttpListener.Create(System.Net.IPAddress.Any, 8080, certificate);
listener.RequestReceived+=listener_RequestReceived;
listener.Start(5);
在该代码之前的某个地方,我需要检查“C:\Certs\certificate.dat”是否存在并且受计算机信任,如果不存在,它应该创建证书并信任它。
应用程序运行提升,因此权限问题应该不是问题
编辑1:看起来我应该解释一下我到底想要做什么。我正在尝试创建一个程序,该程序在运行时将启动要在本地计算机上使用的 HTTPS Web 服务器。我并没有尝试使用密钥进行任何类型的真正验证,只是为了让计算机访问 HTTPS 本地页面而不会收到大量“OMG THIS PAGE DOESNT HAVE N GOOD SECURITY KEY!!!” 错误。它仅用于测试和非敏感数据,因此实际安全性并不那么重要,只要它有效。
在代码方面,我使用这个 WebServer 库来处理实际的 Web 服务,代码来自这个示例