Utilisation de CertEnroll pour PKI sous Vista

Irresistibledemon Messages postés 97 Date d'inscription   Statut Membre Dernière intervention   -  
Irresistibledemon Messages postés 97 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Est-ce que quelqu'un a déjà utilisé activeX pour charger et utiliser la librairie CertEnroll.dll de Vista ou sup. ?
J'ai un probleme qui doit surement venir de la configuration du navigateur client et je n'arrive pas à m'en sortir.
(Le systeme utilise le classic client de Gemalto)

Merci

A voir également:

2 réponses

Irresistibledemon Messages postés 97 Date d'inscription   Statut Membre Dernière intervention   9
 
J'obtiens tout le temps le code erreur 80090020 qui correspond à "Erreur interne" (Merci Microsoft pour cette erreur explicite)
0
Irresistibledemon Messages postés 97 Date d'inscription   Statut Membre Dernière intervention   9
 
J'utilise la librairie CertEnroll dans le cadre d'une PKI, en liaison avec Gemalto.

Lorsque je crée la requete pkcs10, l'erreur 80090020 apparait.

J'ai cherché sur le net et j'ai vu que cette erreur correspond à "Erreur interne" (mais de quoi ???.. du csp, du navigateur, du token usb ....)

La fonction est développé en JavaScript. La voici :
//szName = DN

//<object id="objCertEnrollClassFactory" classid="clsid:884e2049-217d-11da-b2a4-000e7bbb2b09"></object>

function createRequest(szName, providerName, providerType) {
        var objPrivateKey = objCertEnrollClassFactory.CreateObject("X509Enrollment.CX509PrivateKey");
 
        var objRequest = objCertEnrollClassFactory.CreateObject("X509Enrollment.CX509CertificateRequestPkcs10");
        var objObjectIds = objCertEnrollClassFactory.CreateObject("X509Enrollment.CObjectIds");
        var objObjectId = objCertEnrollClassFactory.CreateObject("X509Enrollment.CObjectId");


        var objX509ExtensionEnhancedKeyUsage = objCertEnrollClassFactory.CreateObject("X509Enrollment.CX509ExtensionEnhancedKeyUsage");

        var objExtensionTemplate = objCertEnrollClassFactory.CreateObject("X509Enrollment.CX509ExtensionTemplateName");

        var objDn = objCertEnrollClassFactory.CreateObject("X509Enrollment.CX500DistinguishedName");
        var objEnroll = objCertEnrollClassFactory.CreateObject("X509Enrollment.CX509Enrollment");

       
        // Provide CSP information tp the private key object
        //utilisation du CSP Gemalto
        objPrivateKey.ProviderType = providerType ;
        objPrivateKey.ProviderName  = providerName;
 

        //  Provide key container name, key length and key spec to the private key object
        objPrivateKey.Length = 1024;
        objPrivateKey.KeySpec = 1; // AT_KEYEXCHANGE = 1

        // Initialize P10 based on private key
        objRequest.InitializeFromPrivateKey(1, objPrivateKey, ""); // context user = 1

       

        // 1.3.6.1.5.5.7.3.2 Oid - Extension
        //ASN : {iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) keyPurpose(3) clientAuth(2)}
        objObjectId.InitializeFromValue("1.3.6.1.5.5.7.3.2");
        objObjectIds.Add(objObjectId);
        objX509ExtensionEnhancedKeyUsage.InitializeEncode(objObjectIds);
        objRequest.X509Extensions.Add(objX509ExtensionEnhancedKeyUsage);

        // DN related stuff
        objDn.Encode(szName, 0); // XCN_CERT_NAME_STR_NONE = 0
        objRequest.Subject = objDn;

        // Enroll
        objEnroll.InitializeFromRequest(objRequest);
        var sPkcs10 = objEnroll.CreateRequest(1); // XCN_CRYPT_STRING_BASE64 = 1

        return sPkcs10 ;

}


Si vous avez une idée sur le pourquoi de cette erreur ..?

Merci
0