Найдите сертификат X509 в коллекции, где имя издателя соответствует определенному значению.C#

Место общения программистов C#
Гость
Найдите сертификат X509 в коллекции, где имя издателя соответствует определенному значению.

Сообщение Гость »


В моем приложении мне нужно иметь возможность находить в локальном хранилище сертификаты, соответствующие определенному имени эмитента.
Итак, раньше я делал следующее:

Код: Выделить всё

LocalStore.Certificates.Find(X509FindType.FindByIssuerName, "My Common Name", True)
But since the new certificate server was installed and is using active directory my certificates "Issuer" field has additional attributes (DC values).
Full string looks like this:

Код: Выделить всё

"CN=My Common Name, DC=MyCompanyDomain, DC=local"
This will not let me use Find method as before, and any combination of CN,DC values didnt work for me.

This is what I've tried in ImmediateWindow:

Код: Выделить всё

?LocalStore.Certificates.Item(0).IssuerName
{System.Security.Cryptography.X509Certificates.X500DistinguishedName}
Name: "CN=My Common Name, DC=MyCompanyDomain, DC=local"
Oid: {System.Security.Cryptography.Oid}
RawData: {Length=85}
m_distinguishedName: "CN=My Common Name, DC=MyCompanyDomain, DC=local"
m_oid: {System.Security.Cryptography.Oid}
m_rawData: {Length=85}
?LocalStore.Certificates.Find(X509FindType.FindBySubjectName, "My Common Name", True).Count
0
?LocalStore.Certificates.Find(X509FindType.FindByIssuerName, "My Common", True).Count
0
?LocalStore.Certificates.Find(X509FindType.FindByIssuerDistinguishedName, "My Common Name", True).Count
0
?LocalStore.Certificates.Find(X509FindType.FindByIssuerDistinguishedName, "My", True).Count
0


Источник: https://stackoverflow.com/questions/521 ... tain-value

Вернуться в «C#»