我正在开发一个工具(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变量不包含证书(在测试环境中)
我在测试服务器(Win 2003)上安装了证书,使用双击并安装证书,使用MMC并导入证书,从我的机器导出证书,然后导入测试服务器。
我是不是漏掉了什么步骤?
更新:
我认为这可能是问题所在。aspnet用户没有访问证书的权限,而且证书也没有安装在计算机上,只是针对本地用户。
我正在寻找这个链接:http://geekswithblogs.net/lorint/archive/2005/12/30/64516.aspx
谢谢
1条答案
按热度按时间w8ntj3qf1#
命令行稍有错误...您需要在“-ss”参数后指定存储“my”:
更改之后,我就可以使用MMC证书管理单元找到证书了。