2016-03-26 10 views
0

CERTENROLL ve CERTCLIENT libs kullanarak uzak bir CA'ya erişen bir WCF hizmeti hazırladım. GenerateCertificate isteğim kayıt isteğinde kullanılan bir parola alır. Oluşturulan sertifika ve yanıt XML'deki ham baytların Base64 dizesi hakkında meta veriler döndürüyorum.Bir Win7/2008 makinesinde Remote Win2012 CA'dan PFX'i Kurma sırasında şifre başarısız oluyor

Ham cert dizesini alıp, yerel bir .pfx dosyası olarak kaydedersem, Win10 veya 2012 makinelerinde kolay esintili yükler kurabilirim. Ancak, Win7 veya 2008 makinesinde denediğimde parola eşleşmiyor.

Şablondan başlatılan bir iç X509CertificateRequestPkcs10 isteğinden başlatılan bir X509CertificateRequestCmc isteği gönderiyorum.

Bu hatayla ilk karşılaşıldığında, istek katmanlarından birine başarıyla bir OS Sürümü CryptAttribute uyguladım.

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); 

Ben WebService katmanı için sadece ben sorumluyum, doğrudan PKI deposuna erişiminiz yok. Dev sunucusu uygulama havuzum, PKI sunucusunda izin verilen bir AD hesabı olarak çalışacak şekilde ayarlandı ve bu hesabın şifresi yok.

Bu bana mı, yoksa mağaza mı?

cevap

0

Bu konuda MS'ye bir bilet aldım. Base64 pfx dosyalarının Win7 & 2008 sistemlerine yüklenmeyeceği bilinen bir sorun olduğunu söylediler. Cevap, Base64 kodunun çözülmesi ve ikili yoluyla kurulmasıdır. .cer'e dönüştürmemeye özen göstererek, özel anahtarı kaybedersiniz.

İlgili konular