Problème avec CertEnroll
-
Freitag, 20. August 2010 07:45
Bonjour,
Je dois développer un connecteur vers la pki de microsoft à partir d'un Windows Server 2008. J'écris le code en C# et j'utilise l'api CertEnroll
Voici le code qui pose problème :string strP10 = "-----BEGIN CERTIFICATE REQUEST-----MIIBXjCByAIBADAfMQ ..... DU8CjAr-----END CERTIFICATE REQUEST-----"; IX509CertificateRequestPkcs10 p10 = new CX509CertificateRequestPkcs10Class(); p10.InitializeDecode(strP10, EncodingType.XCN_CRYPT_STRING_BASE64REQUESTHEADER); enroll = new CX509EnrollmentClass(); enroll.InitializeFromRequest(p10); string result = enroll.CreateRequest(EncodingType.XCN_CRYPT_STRING_BASE64)
J'obtiens cette superbe erreur:
"CertEnroll::CX509Enrollment::p_CreateRequest: La valeur de propriété requise est vide. 0x80094004 (-2146877436)"} System.Exception {System.Runtime.InteropServices.COMException
C'est bien gentil mais je fais comment pour savoir de quelle propriété il parle?
En debug, je vois pourtant bien le sujet dans la requête PKCS10, ainsi que la clé publique. Par contre, je ne vois pas de clé privée de signature. J'ai donc créer un objet de type IX509CertificateRequestPkcs7 afin de lui passer une clé de signature. Mais au final, même résultat.Quelqu'un a une idée?
Merci
Alle Antworten
-
Donnerstag, 2. September 2010 07:50
J'ai trouvé, merci google :-)
Pour créer une demande de certificat avec un pkcs10, il faut créer un objet IX509CertRequestPkcs10, puis le passer à un objet IX509CertRequestCmc. On affecte à ce dernier un certificat de signature et on le transmet à la pki via un objet ICertEnroll
Voila
- Als Antwort markiert Seb_de_Lille Donnerstag, 2. September 2010 07:50

