【发布时间】:2012-04-13 08:00:13
【问题描述】:
我正在使用智能卡进行身份验证。
SecurityTokenService(身份验证服务)仅托管在我的机器上。智能卡有一个有效的证书,它的根证书也安装在我机器上的本地计算机存储中。
当我使用X509Certificate2.Verify 方法在我的服务中验证证书时,它总是返回false。
谁能帮我理解为什么 X509Certificate2.Verify() 方法总是返回 false?
注意:
我使用了X509Chain 并检查了所有标志(X509VerificationFlags.AllFlags)。当我构建 chanin 时,它返回 true 和 ChainStatus 作为 RevocationStatusUnknown。
编辑 1:
我观察到如果我在 Windows 窗体应用程序中编写此代码,X509Certificate2.Verify() 方法将返回 true。它仅在服务端代码中返回 false。为什么这样?奇怪但真实!
【问题讨论】:
标签: c# x509certificate2