1

我想从 .NET 代码中执行以下操作:

  1. 将自签名证书创建到存储中,获取其指纹;
  2. 将现有证书文件导入存储。同样,获取指纹;
  3. 按照“netsh http add sslcert”配置使用此证书的 HTTPS 端口。我可以简单地从我的程序内部运行这个控制台命令,但如果有更好的方法会很好。

顺便说一句,项目#3 是我需要项目#1 和#2 中的指纹的原因。这可能吗?

4

1 回答 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();
}

也可以看看:


在您创建证书的其他部分中,我发现了这个:makecert.cs: makecert clone tool ...如果您不打算调用类似的控制台工具makecert.exe,您最终可能会实现类似于那。

于 2010-12-13T19:39:25.677 回答