使用 C# 编码的具有 https 支持的 http 侦听器

2024-01-12

我找到了很多如何设置 httplistener 以使用 HTTPS 的答案,但每个解决方案都需要使用命令行。我想这是最快的方法,但我想编写 C# 类来处理这个问题。

在旧的解决方案中,我使用了网络服务器类(在互联网上的某个地方找到,我不记得确切的名称),它允许以这种方式添加证书:

webserver.Certificate = new X509Certificate2("MyCert.pfx", "MyPassword");

有没有办法用 httplistener 来实现这一点?从代码中可以明显看出。

Regards.


您可以使用以下方式加载证书:

X509Certificate cert = new X509Certificate2("MyCert.pfx");

然后安装它:

X509Store store = new X509Store(StoreName.Root, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadWrite);
if (!store.Certificates.Contains(cert))
{
    store.Add(cert);
}
store.Close();

当然,您可能需要更改特定应用程序的商店名称或位置。

要运行 netsh 命令,您可以研究创建并运行一个进程(即进程.开始 http://msdn.microsoft.com/en-us/library/System.Diagnostics.Process.Start%28v=vs.110%29.aspx)并运行 netsh.exe。否则你就得搞乱Win32HttpSetService配置 http://msdn.microsoft.com/en-us/library/aa364503%28v=vs.85%29.aspx函数,或者 .NET 等效函数(如果有)。

您可能会发现这篇代码盒文章很有用:http://dotnetcodebox.blogspot.com/2012/01/how-to-work-with-ssl-certificate.html http://dotnetcodebox.blogspot.com/2012/01/how-to-work-with-ssl-certificate.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 C# 编码的具有 https 支持的 http 侦听器 的相关文章

随机推荐