2012-04-04 3 views
0

Ich versuche ein Zertifikat von einem X509Store Objekt zu erhalten, nach subjectName unter Verwendung von Ich kann das richtige Zertifikat im Array innerList innerhalb der sehen Speicherobjekt beim Debuggen, aber aus irgendeinem Grund kann ich kein X509CertificateCollection-Objekt instanziieren, wenn ich versuche, das Zertifikat nach SubjectName zu finden.x.509 Zertifikat - kann CN nicht lesen, wenn Betreff mit E-Mail beginnt

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

bemerkte ich, dass das Thema mit einem E-Mail-Adresse Attribute beginnt, wo alle andere Zert im Laden (das ich in der Lage bin zu finden) mit Zertifikatnamen (CN) beginnen.

Betreff Beispiel:

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

Andere certs, die aussehen wie diese Arbeit:

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

Wenn das Motiv mit dem E-Mail-Attribute beginnt, soll ich etwas anders machen, das CERT zu finden, indem Subjekt Name? Wenn nicht, irgendwelche Vorschläge, wie ich es aus dem Zertifikatspeicher abrufen kann?

Dank

Antwort

0

stellt sich heraus, das ist ein Root-Zertifikat, das in den persönlichen Zertifikaten Ordner installiert wurde. Verschieben Sie es an die Wurzel, und mit StoreLocation.Root tat den Trick.

Verwandte Themen