Herramienta Creación de certificados (Makecert.exe)

Esta herramienta genera certificados X.509 sólo a efectos de pruebas. Crea un par de claves pública y privada para firmas digitales y las almacena en un archivo de certificado. También asocia el par de claves al nombre especificado de una compañía y crea un certificado X.509 que enlaza el nombre especificado por un usuario con la parte pública del par de claves.

Makecert.exe incluye opciones básicas y extendidas. Las opciones básicas son las que se utilizan más frecuentemente para crear un certificado. Las opciones extendidas proporcionan más flexibilidad.

Las claves privadas de certificado generadas por esta herramienta no deben almacenarse nunca en archivos .snk. Si debe almacenar una clave privada, utilice un contenedor de claves. Para obtener más información sobre cómo almacenar una clave privada en un contenedor de claves, vea Cómo: Almacenar claves asimétricas en un contenedor de claves.

Nota de precauciónPrecaución

Debe utilizar un almacén de certificados para almacenar sus certificados de forma segura. Los archivos .snk utilizados por esta herramienta almacenan las claves privadas sin protección. Cuando cree o importe un archivo .snk, no olvide protegerlo durante su uso y eliminarlo cuando haya terminado.

makecert [options] outputCertificateFile
Argumento Descripción

outputCertificateFile

Nombre del archivo .cer donde se escribirá el certificado X.509 de prueba.

Opciones básicas

Opción Descripción

-n x509name

Especifica el nombre de certificado del sujeto. Este nombre debe cumplir la norma X.500. El método más sencillo consiste en especificar el nombre entre comillas, precedido de CN=; por ejemplo, "CN=miNombre".

-pe

Marca como exportable la clave privada generada. Esto permite que dicha clave se incluya en el certificado.

-sk keyname

Especifica la ubicación del contenedor de claves del sujeto, que contiene la clave privada. Si no existe un contenedor de claves, se creará uno.

-sr location

Especifica la ubicación del almacén de certificados del sujeto. Location puede ser currentuser (valor predeterminado) o localmachine.

-ss store

Especifica el nombre del almacén de certificados del sujeto que almacena el certificado de salida.

-# number

Especifica un número de serie comprendido entre 1 y 2.147.483.647. El valor predeterminado es un valor único generado por Makecert.exe.

-$ authority

Especifica la autoridad de firmas del certificado, que debe establecerse en commercial (para certificados utilizados por compañías comerciales de software) o individual (para certificados utilizados por compañías individuales de software).

-?

Muestra la sintaxis de comandos y una lista de opciones básicas para la herramienta.

-!

Muestra la sintaxis de comandos y una lista de opciones extendidas para la herramienta.

Opciones extendidas

Opción Descripción

-a algorithm

Especifica el algoritmo de firma. Debe ser md5 (valor predeterminado) o sha1.

-b mm/dd/yyyy

Especifica el principio del período de validez. El valor predeterminado es la fecha de creación del certificado.

-cy certType

Especifica el tipo de certificado. Los valores válidos son end para la entidad final y authority para la entidad emisora de certificados.

-d name

Muestra el nombre del sujeto.

-e mm/dd/yyyy

Especifica el final del período de validez. El valor predeterminado es 12/31/2039 11:59:59 GMT.

-eku oid[,oid]

Inserta en el certificado una lista de identificadores de objetos (OID) para uso mejorado de claves, separados por comas.

-h number

Especifica el alto máximo del árbol debajo de este certificado.

-ic file

Especifica el archivo de certificado del emisor.

-ik keyName

Especifica el nombre del contenedor de claves del emisor.

-iky keytype

Especifica el tipo de clave del emisor, que debe ser signature, exchange o un número entero que represente un tipo de proveedor. De forma predeterminada, puede pasar 1 para una clave de intercambio y 2 para una clave de firma.

-in name

Especifica el nombre común de certificado del emisor.

-ip provider

Especifica el nombre de proveedor CryptoAPI del emisor.

-ir location

Especifica la ubicación del almacén de certificados del emisor. Location puede ser currentuser (valor predeterminado) o localmachine.

-is store

Especifica el nombre del almacén de certificados del emisor.

-iv pvkFile

Especifica el archivo de clave privada .pvk del emisor.

-iy pvkFile

Especifica el tipo de proveedor CryptoAPI del emisor.

-l link

Establece un vínculo para la información de directivas (por ejemplo, una dirección URL).

-m number

Especifica la duración en meses del período de validez del certificado.

-nscp

Incluye la extensión de la autorización de cliente Netscape.

-r

Crea un certificado con firma automática.

-sc file

Especifica el archivo de certificado del sujeto.

-sky keytype

Especifica el tipo de clave del sujeto, que debe ser signature, exchange o un número entero que represente un tipo de proveedor. De forma predeterminada, puede pasar 1 para una clave de intercambio y 2 para una clave de firma.

-sp provider

Especifica el nombre de proveedor CryptoAPI del sujeto.

-sv pvkFile

Especifica el archivo de clave privada .pvk del sujeto. Si no existe archivo, se creará uno.

-sy type

Especifica el tipo de proveedor CryptoAPI del sujeto.

Ejemplos

El comando siguiente crea un certificado de prueba emitido por la raíz de prueba predeterminada y lo escribe en testCert.cer.

makecert testCert.cer

El comando siguiente crea un certificado emitido por la raíz de prueba predeterminada y lo guarda en un almacén de certificados.

makecert -ss testCertStore

El comando siguiente crea un certificado emitido por la raíz de prueba predeterminada y lo guarda en un almacén de certificados. Coloca el certificado de forma explícita en el almacén currentuser.

makecert -ss testCertStore -sr currentuser

El comando siguiente crea un certificado de prueba y lo escribe en textXYZ.cer, utilizando el contenedor de claves del sujeto y su nombre de certificado conforme a la norma X.500.

makecert -sk XYZ -n "CN=XYZ Company" testXYZ.cer 

El comando siguiente crea un certificado emitido por la raíz de prueba predeterminada, crea un archivo .pvk y coloca el certificado en el almacén y en el archivo.

makecert -sv testCert.pvk -ss testCertStore testCert.cer

El comando siguiente crea un certificado emitido por la raíz de prueba predeterminada, crea un contenedor de claves y coloca el certificado en el almacén y en el archivo.

makecert -sk myTestKey -ss testCertStore testCert.cer

El siguiente comando crea un certificado con firma automática, especifica el nombre de un sujeto de "CN=XYZ Company", especifica los períodos de validez inicial y final, coloca la clave en el almacén my, especifica e intercambia la clave y hace que la clave privada se pueda exportar.

makecert -r -pe -n "CN=XYZ Company" -b 01/01/2005 -e 01/01/2010 -sky exchange -ss my

Los comandos siguientes crean certificados y los guardan en almacenes. El primer comando crea un certificado mediante la raíz de prueba predeterminada y lo guarda en un almacén. El segundo comando crea otro certificado utilizando el certificado creado con anterioridad y guarda este segundo certificado en otro almacén.

makecert -sk myTestKey -ss testCertStore
makecert -is testCertStore -ss anotherTestStore

Los comandos siguientes crean certificados y los guardan en almacenes. El primer comando guarda el certificado en el almacén my. El segundo comando crea otro certificado utilizando el certificado creado con anterioridad. Dado que hay más de un certificado en el almacén my, el segundo comando identifica el primer certificado mediante su nombre común.

makecert -sk myTestKey -n "CN=XXZZYY" -ss my
makecert -is my -in "XXZZYY" -ss anotherTestStore

Los comandos siguientes crean certificados y los guardan en archivos y almacenes. El primer comando crea un certificado mediante la raíz de prueba predeterminada y lo guarda en el almacén my y en un archivo. El segundo comando crea otro certificado utilizando el certificado testCert.cer creado con anterioridad. Dado que hay más de un certificado en el almacén my, el segundo comando identifica únicamente el primer certificado mediante su nombre de archivo.

makecert -sk myTestKey -n "CN=XXZZYY" -ss my testCert.cer
makecert -is my -ic testCert.cer -ss anotherTestStore

Vea también

Referencia

Herramientas de .NET Framework
Herramienta de prueba de certificados de compañía de software (Cert2spc.exe)
Símbolo del sistema de SDK