Share via


Création d’une demande de certificat (application Windows Runtime en JavaScript)

[ Cet article est destiné aux développeurs de Windows 8.x et Windows Phone 8.x qui créent des applications Windows Runtime. Si vous développez une application pour Windows 10, voir la Documentation ]

Pour créer une demande de certificat, vous devez d’abord créer un objet CertificateRequestProperties et définir les propriétés que votre certificat doit avoir. Par défaut, le constructeur définit les propriétés suivantes.

Propriété Valeur par défaut

Subject

Chaîne vide

KeyAlgorithmName

KeyAlgorithmNames.RSA

KeySize

KeySize.RSA2048

FriendlyName

Chaîne vide

HashAlgorithmName

HashAlgorithmNames.Sha256

Exportable

ExportOption.NotExportable

KeyUsages

EnrollKeyUsage.Signing

KeyProtectionLevel

KeyProtectionLevel.NoConsent

KeyStorageProviderName

KeystorageProviderNames.SoftwareKeyStorageProvider

Il s’agit du « Fournisseur de stockage de clé Microsoft »

 

Pour créer la demande, appelez la méthode CreateRequestAsync. En voici une illustration dans l’exemple suivant.


function createCertificateRequest() {

    // Declare a certificate request message.
    var myMessage = "";

    // Note - The default constructor for a CertificateRequestProperties object
    // sets the following default property values:
    //
    //      subject: "" -- empty string
    //      keyAlgorithm: KeyAlgorithm.RSA
    //      keySize: KeySizes.RSA2048  -- 2048 bits
    //      friendlyName: "" -- empty string
    //      hashAlgorithm: HashAlgorithms.SHA256
    //      exportable: ExportOptions.NotExportable
    //      keyUsage: EnrollKeyUsages.Signing 
    //      keyProtectionLevel: KeyProtectionLevel.NoConsent
    //      keyStorageProvider: KeystorageProviders.SoftwareKsp -- "Microsoft Software Key Storage Provider"

    try {

        // Create a default CertificateRequestProperties object.
        var myRequestProperties = new Windows.Security.Cryptography.Certificates.CertificateRequestProperties();

        // Override the default subject and display names.
        myRequestProperties.subject = "Toby";
        myRequestProperties.friendlyName = "Toby's Cert";

        // Call a custom function to convert the request properties to a string.
        myMessage = "Create certificate request:" + convertCertificateRequestPropertiestoString(myRequestProperties);

        // Create a certificate request from the CertificateRequestProperties object.
        myRequest = Windows.Security.Cryptography.Certificates.CertificateEnrollmentManager.createRequest(myRequestProperties);
        myMessage = myMessage + "\n\nCertificate request creation succeeded.\nEncoded request String:\n " + myRequest;

        // Display the request string in your program (here called SDKSample)
        sdkSample.displayStatus(myMessage);
    }
    catch (e) {
        myMessage = myMessage + "\n\nCertificate request creation failed.";
        myMessage = myMessage + convertErrortoString(e);
        sdkSample.displayError(myMessage);
    }
}

Rubriques associées

Envoi d’une demande de certificat et installation de la réponse de certificat

Utilisation de certificats