dho*_*ge7 5 .net vb.net app-config certificate
这个真的很奇怪,我无法弄清楚为什么一种方法有效,一种方法无效.
我在我的本地计算机商店有一个证书和一个指纹.应用程序在发出HTTP Web请求时使用证书,因此我需要获取它.我想将指纹存储在web.config中作为AppSetting值.每当我拉取AppSetting值并使用它来查找证书时,它都找不到它.但是,如果我创建一个局部变量(类变量,readonly,const,等等......)并通过它进行搜索,它就可以工作.我已经完成了String.Compare(),两者的值完全相同 .是什么赋予了?我试着看看IL,看看我是否能看到一些时髦但没什么的东西.
' This Works '
Dim certificateThumbprint As String = "D0650C9D31CF525D3C82153DCEBC3C3265D75FE3"
Dim certCollection = certStore.Certificates.Find(X509FindType.FindByThumbprint, certificateThumbprint, False)
' This doesn't '
Dim appSettingcertificateThumbprint = System.Web.Configuration.WebConfigurationManager.AppSettings("CertificateThumbprint")
Dim certCollection2 = certStore.Certificates.Find(X509FindType.FindByThumbprint, appSettingcertificateThumbprint, False)
' Intermediate window shows that '
String.Compare(certificateThumbprint, appSettingcertificateThumbprint, True) = 0
Run Code Online (Sandbox Code Playgroud)
小智 4
我也发现了完全相同的问题,经过广泛的搜索,除了您上面建议的那种事情之外没有找到答案。
也许微软可以评论他们的Certificates.Find 函数的匹配方法,以便我们有机会可靠地使用内置功能。
| 归档时间: |
|
| 查看次数: |
1632 次 |
| 最近记录: |