.NET Find Fingerprint Certificate through AppSetting

This is really strange, and I can’t understand why one method works and the other does not.

I have a certificate in my local computer store and a fingerprint for it. The application uses the certificate when making HTTP requests, so I need to get it. I want to save the fingerprint in the web.config file as the value of AppSetting. Whenever I pull out the AppSetting value and use it to search for a certificate, it does not find it. However, if I create a local variable (class variable, readonly, const, whatever ...) and search on it, it works. I did String.Compare () and the value is equally accurate . What gives? I tried to look at IL to see if I could see something scared, but nothing.

' 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
+5
source share
5 answers

, , , , Visual Studio. (. )

, , - Notepad ++, , , , web.config . , , .

+6

​​ , , .

, Microsoft Certificates.Find, .

+4
  • Notepad ++
  • ANSI
  • web.config
+2

:

Dim certStore = New X509Store(StoreLocation.CurrentUser)
Const certificateThumbprint As String = "E846D7787F9D43C136FFEBDD03DEDA8DE83E20D8"
certStore.Open(OpenFlags.ReadOnly)
Dim certCollection = certStore.Certificates.Find(X509FindType.FindByThumbprint,certificateThumbprint, False)


' This doesn't ( Now it does :)
Dim appSettingcertificateThumbprint = ConfigurationManager.AppSettings("CertificateThumbprint").Substring(2)
Dim certCollection2 = certStore.Certificates.Find(X509FindType.FindByThumbprint, appSettingcertificateThumbprint, False)

.SubString(2) Configuration Manager. , , .ToCharArray() . AppSettings 2 . , .ToCharArray .

, .NET .

!

+1

, DIM AS STRING, AS STRING ( OBJECT).

Dim appSettingcertificateThumbprint AS STRING .ToString, ( .Find).

0

All Articles