2016-03-26 2 views
0

Ich habe einen WCF-Dienst erstellt, der mit den CERTENROLL- und CERTCLIENT-Bibliotheken auf eine Remote-CA zugreift. Meine GenerateCertificate-Anforderung verwendet ein Kennwort, das in der Registrierungsanforderung verwendet wird. Ich gebe Metadaten über das generierte Cert und die Base64-Zeichenfolge der Rohbytes in der Antwort-XML zurück.Kennwort schlägt bei der Installation von PFX von Remote Win2012 CA auf einem Win7/2008-Computer fehl

Wenn ich die rohe Cert-Zeichenfolge nehme und es als lokale .pfx-Datei speichern, kann ich es einfach windig auf einem Win10 oder 2012-Rechner installieren. Wenn ich es jedoch auf einem Win7- oder 2008-Rechner ausprobiere, stimmt das Passwort nicht überein.

Ich liefere eine X509CertificateRequestCmc-Anfrage, die von einer internen X509CertificateRequestPkcs10-Anfrage initialisiert wurde, die aus einer Vorlage initialisiert wird.

Bei dem ersten Auftreten dieses Fehlers habe ich versucht, eine Betriebssystemversion CryptAttribute auf einen der Anforderungsschichten ohne Erfolg anzuwenden.

CX509AttributeOSVersionClass os = new CX509AttributeOSVersionClass(); 
os.InitializeEncode("6.1.7601"); 

CX509AttributesClass attribs = new CX509AttributesClass(); 
attribs.Add((CX509Attribute)os); 

CCryptAttributeClass atty = new CCryptAttributeClass(); 
atty.InitializeFromValues(attribs); 

request.CryptAttributes.Add(atty); 

Ich bin nur für die WebService-Ebene verantwortlich, ich habe keinen direkten Zugriff auf den PKI-Speicher. Mein Dev-Server-App-Pool wurde so eingerichtet, dass er als zulässiges AD-Konto auf dem PKI-Server ausgeführt wird, und ich habe das Passwort dieses Kontos nicht.

Ist es mir oder dem Laden?

Antwort

0

Ich rief ein Ticket für MS auf diesem. Sie sagten, es gibt ein bekanntes Problem, wo Base64 PFX-Dateien nicht auf Win7 & 2008-Systemen installiert werden. Die Antwort ist, das Base64 zu dekodieren und via Binär zu installieren. Achten Sie darauf, nicht in .cer umzuwandeln, Sie verlieren den privaten Schlüssel.

Verwandte Themen