У меня есть следующий код С# (из библиотеки, которую я использую), которая пытается найти сертификат, сравнивающий отпечаток. Обратите внимание, что в следующем коде обе строки mycert.Thumbprint
и certificateThumbprint
являются строками.
var certificateThumbprint = AppSettings.CertificateThumbprint;
var cert =
myStore.Certificates.OfType<X509Certificate2>().FirstOrDefault(
mycert =>
mycert.Thumbprint != null && mycert.Thumbprint.Equals(certificateThumbprint)
);
Это не удается найти сертификат с отпечатком, потому что mycert.Thumbprint.Equals(certificateThumbprint)
есть false
, даже когда строки равны. mycert.Thumbprint == certificateThumbprint
также возвращает false
, а mycert.Thumbprint.CompareTo(certificateThumbprint)
возвращает 0.
Я мог бы пропустить что-то очевидное, но я не могу понять, почему метод Equals
терпит неудачу. Идеи?