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.
Precaució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