我想从 .NET 代码中执行以下操作:
- 在商店中创建自签名证书,获取其指纹;
- 将现有证书文件导入商店。同样,获取指纹;
- 按照“netsh http add sslcert”配置使用此证书的 HTTPS 端口。我可以简单地从我的程序内部运行这个控制台命令,但如果有更好的方法就好了。
顺便说一下,第 3 项是我需要第 1 项和第 2 项中的指纹的原因。这可能吗?
最佳答案
查看 System.Security.Cryptography.X509Certificates
命名空间。
值得注意的是,X509Store
类将至少执行您所指的其中一项操作:将现有证书导入商店。例如
X509Store store = new X509Store(StoreName.Root, StoreLocation.LocalMachine);
try
{
store.Open(OpenFlags.ReadWrite);
store.Add(
new X509Certificate2(@"Certificates\MyCertificate.pfx", "password"));
}
finally
{
store.Close();
}
另见:
- > Microsoft KB 950090 - Installing a PFX file using X509Certificate from a standard .NET application
在您的其他部分之一,创建证书时,我发现了这个:makecert.cs: makecert clone tool ...如果您不打算调用像 makecert.exe
这样的控制台工具,您最终可能会实现类似的东西。
关于.net - 从程序内部管理 HTTPS 服务器证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4432450/