通过指纹查找X.509证书

3
我的当前项目涉及使用WCF访问Web服务。 我在配置Web.config文件中所需的服务身份验证证书方面遇到了问题。 具体而言,在创建代理对象时,我继续收到以下消息:
Cannot find the X.509 certificate using the following search criteria: StoreName 'CertificateAuthority', StoreLocation 'LocalMachine', FindType 'FindByThumbprint', FindValue 'df8bd67d2bbd4e337fef7403f776f40a892ade9c'.
我已经搜索了几个小时以确认我是否正确识别了storeLocation和storeName,但并没有成功。 在此过程中,我已经了解了Windows MMC证书控制台应用程序添加拇指印到Web.config时开始的不可见字符。 我已经解决了它。 我还了解到,在Web.config文件中指定指纹时不包括空格。
因此,我要确定正确的storeLocation和storeName。 能否有人提供或指向MMC中视图中的证书位置与Web.config文件中可用选项之间的交叉路口?
我的MMC证书控制台显示如下:
MMC Logical Store Names
这是Web.config中storeLocation的选项:
Web.config storeLocation options
这是我的storeName的选项:
Web.config storeName options
正如您所看到的,这些值不一致,我怀疑这就是我的问题所在。
至于storeLocation,我相当确定MMC的“当前用户”与Web.config的“CurrentUser”匹配,而MMC的“本地计算机”与“LocalMachine”匹配。
至于storeName,我只能猜测MMC的“个人”与Web.Config的“My”相匹配。 除此之外,细微的变化足以让我产生疑问。 到目前为止,我尝试的所有排列组合都没有允许WCF根据Web.config文件中的内容找到证书。
至于我的问题的具体内容,有一个服务器证书和一个客户端证书。 服务器证书安装在“本地计算机 / 受信任的根证书颁发机构”中。 客户端证书已安装在“本地计算机 / 个人”中。 开发是在Visual Studio 2008中完成的,目标是.NET Framework的3.5版本。
因此,为了重复我的问题,有人能否提供MMC和Web.config术语之间的交叉路口,或者将我指向参考资料?

问题:代理对象是否难以找到服务器或客户端证书? - Seymour
这是服务器证书,基于错误消息中报告的Thumbprint值。 - JeffK
1个回答

2

MSDN的StoreName枚举文档似乎提供了一个相当不错的描述,应该支持在枚举和MMC证书snapin之间进行映射。

我的映射尝试:

AddressBook            Other People
AuthRoot               Third-Party Certification Authorities
CertificateAuthority   Intermediate Certification Authorities
Disallowed             Untrusted Certificates
My                     Personal
Root                   Trusted Root Certificate Authorities
TrustedPeople          Trusted People
TrustedPublisher       Trusted Publishers

1
我确认了web.config的“Root”确实与MMC的“可信任根证书颁发机构”相匹配。谢谢提供链接。 - JeffK

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接