сертификат x.509 - невозможно прочитать CN, когда тема начинается с электронной почты

Я пытаюсь получить сертификат из объекта X509Store по имени субъекта, используя X509FindType.FindBySubjectName.. Я могу видеть правильный сертификат в массиве innerList внутри объекта хранилища при отладке, но по какой-то причине я не могу создать экземпляр объекта X509CertificateCollection, когда пытается найти сертификат по SubjectName.

X509Store store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadOnly);
X509CertificateCollection certs = store.Certificates.Find(X509FindType.FindBySubjectName, Vendor.CertName, true);

Я заметил, что тема начинается с атрибута адреса электронной почты, где все остальные сертификаты в магазине (которые я могу найти) начинаются с имени сертификата (CN).

Пример предмета:

[email protected], CN=Our Technology, L=Tampa, S=FL, C=US

Другие работающие сертификаты выглядят так:

CN=Some Certificate Authority, OU=Ecommerce, O=Company Inc, C=US

Если тема начинается с атрибута электронной почты, должен ли я сделать что-то по-другому, чтобы найти сертификат по имени темы? Если нет, какие-либо предложения относительно того, как я могу получить его из хранилища сертификатов?

Спасибо


person Mark B    schedule 04.04.2012    source источник


Ответы (1)


Оказывается, это корневой сертификат, который был установлен в папке личных сертификатов. Перемещение его в корень и использование StoreLocation.Root сделали свое дело.

person Mark B    schedule 04.04.2012