Lea*_*ner 5 c# x509certificate2
我正在使用智能卡进行身份验证.
SecurityTokenService(身份验证服务)仅托管在我的计算机上.智能卡具有有效证书,其根证书也安装在我的计算机上的本地计算机存储中.
当我使用X509Certificate2.Verify方法验证我的服务中的证书时,它总是返回false.
有人可以帮我理解为什么X509Certificate2.Verify()方法总是返回false吗?
注意:我使用X509Chain并检查了所有标志(X509VerificationFlags.AllFlags).当我建章宁,它会返回true与ChainStatus作为RevocationStatusUnknown.
我观察到,如果我在Windows窗体应用程序中编写此代码,该X509Certificate2.Verify() 方法将返回true.它false仅在服务端代码中返回.为什么这样?奇怪但真实!
我认为问题是由于我的组织中的代理服务器和一些安全设置造成的。我无法给出为什么它可以从 WinForm 客户端运行以及为什么不能从 IIS 下托管的代码运行的有效原因。
但我想让读者知道的事实是,Verify()当我在 IIS 中托管服务并在我常用域之外的计算机上运行时,该方法也适用于服务器端代码!因此,您可以检查您的域/组织的防火墙设置是否妨碍您。
| 归档时间: |
|
| 查看次数: |
4597 次 |
| 最近记录: |