Creación de una solicitud de certificado de una aplicación de Windows en tiempo de ejecución con JavaScript
[ Este artículo está destinado a desarrolladores de Windows 8.x y Windows Phone 8.x que escriben aplicaciones de Windows en tiempo de ejecución. Si estás desarrollando para Windows 10, consulta la documentación más reciente
Para crear una solicitud de certificado, primero debes crear un objeto CertificateRequestProperties y definir las propiedades que debe tener el certificado. De manera predeterminada, el constructor establece las siguientes propiedades.
Propiedad | Valor predeterminado |
---|---|
Cadena vacía |
|
KeyAlgorithmNames.RSA |
|
KeySize.RSA2048 |
|
Cadena vacía |
|
HashAlgorithmNames.Sha256 |
|
ExportOption.NotExportable |
|
EnrollKeyUsage.Signing |
|
KeyProtectionLevel.NoConsent |
|
KeystorageProviderNames.SoftwareKeyStorageProvider Este es el "proveedor de almacenamiento de claves de software de Microsoft" |
Para crear la solicitud, llama al método CreateRequestAsync. Esto se muestra en el siguiente ejemplo.
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);
}
}
Temas relacionados
Envío de una solicitud de certificado e instalación de la respuesta para el certificado