证书问题

时间:2009-11-10 22:44:52

标签: c# .net certificate

我正在开发一个工具(ASP.NET页面生成一个带有私钥的文件,以便稍后在其他应用程序上进行验证。

我正在使用makecert创建证书:

makecert -sky "privatekey" -sk "MyCompany"-n "CN=MyCompany" -ss -pe CertFile.cert

生成的证书在我的开发机器上。然后我运行这个代码,它可以找到没有问题:

X509Store store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
X509Certificate2Collection certs;

store.Open(OpenFlags.ReadOnly);

X509Certificate2Collection certs = store.Certificates.Find(X509FindType.FindBySubjectName, "MyCompany", false);

certs变量不包含证书(在测试环境中)

我使用双击并安装证书,使用mmc和导入证书,从我的计算机导出证书,然后在测试服务器中导入,在测试服务器(Win 2003)上安装了证书。

我缺少一步吗?

更新:

我认为这可能是问题所在。 ASPNET用户没有访问证书的权限,机器上也没有安装证书,只是本地用户使用。

我正在寻找此链接:http://geekswithblogs.net/lorint/archive/2005/12/30/64516.aspx

由于

1 个答案:

答案 0 :(得分:2)

命令行稍微不正确......您需要在'-ss'参数后指定存储“my”:

makecert -sky "privatekey" -sk "MyCompany" -n "CN=MyCompany" -ss "my" -pe CertFile.cert

在更改之后,我可以使用MMC证书管理单元找到证书。