找不到 X.509 证书 StoreName 'My'、StoreLocation 'LocalMachine'、FindType 'FindBySubjectName'、FindValue ''
Posted
技术标签:
【中文标题】找不到 X.509 证书 StoreName \'My\'、StoreLocation \'LocalMachine\'、FindType \'FindBySubjectName\'、FindValue \'\'【英文标题】:Cannot find X.509 certificate StoreName 'My', StoreLocation 'LocalMachine', FindType 'FindBySubjectName', FindValue ''找不到 X.509 证书 StoreName 'My'、StoreLocation 'LocalMachine'、FindType 'FindBySubjectName'、FindValue '' 【发布时间】:2014-11-11 06:50:13 【问题描述】:我已将证书添加到受信任的根证书颁发机构。 但是当我启动 REST 服务时,我的代码仍然出现此错误。
错误:
Cannot find the X.509 certificate using the following search criteria: StoreName 'My', StoreLocation 'LocalMachine', FindType 'FindBySubjectName', FindValue '<certificate name>'.
在 Web.config 中,我添加了以下标签:
<serviceCertificate findValue="<certificate name>"
x509FindType="FindBySubjectName"
storeLocation="LocalMachine" />
</serviceCredentials>
如果我做错了请告诉我?
【问题讨论】:
使用 x509FindType="FindByThumbprint" 并指定来自 LocalMachine\My 商店的证书的指纹,该商店也有一个私钥。 我也尝试使用指纹。现在它给出了无效的十六进制字符串格式的错误。 在 mmc 中打开证书。向下滚动到指纹的详细信息。选择指纹,但要注意开头的不可见字符。最好从第二个字符选择到末尾并手动键入第一个字符。 我做了同样的事情,但仍然得到同样的错误。 在 MMC StoreName My 代表个人商店。所有带有私钥的证书都应在此存储中。当您将 pfx 导入 LocalMachine\My 商店时,请使用此证书的指纹。它应该是具有私钥的证书的指纹。它不应该是 CA 的指纹。此外,如果您打开此 pfx 证书的详细信息,您应该会看到已构建的整个证书链。如果证书链没有正确构建,那么它将无法工作。 【参考方案1】:转到“管理计算机证书”。点击它,你应该得到 "certlm" 窗口 展开个人文件夹,然后展开证书文件夹并查找您在 web.config 中提供的证书。我认为您的证书名称错误,这就是您收到此错误的原因。
我的 web.config 设置是
在我的 "certlm" 窗口中,我获得了名为 device.DEVELOPMENT 的证书。看下图我的证书 info
如果此解决方案可以帮助您解决问题,请将其标记为答案
【讨论】:
以上是关于找不到 X.509 证书 StoreName 'My'、StoreLocation 'LocalMachine'、FindType 'FindBySubjectName'、FindValue ''的主要内容,如果未能解决你的问题,请参考以下文章
关于 X509Certificate2 程序发布IIS后找不到文件路径的问题