MakeCert

Nota:

Makecert está en desuso. Para crear certificados autofirmados, use el cmdlet New-SelfSignedCertificate de PowerShell.

 

La herramienta MakeCert crea un certificado X.509, firmado por la clave raíz de prueba u otra clave especificada, que enlaza el nombre a la parte pública del par de claves. El certificado se guarda en un archivo, en un almacén de certificados del sistema o en ambos. La herramienta se instala en la carpeta \Bin de la ruta de instalación del Kit de desarrollo de software (SDK) de Microsoft Windows.

Puede descargar Windows SDK desde el Centro de desarrollo de Windows.

La herramienta MakeCert utiliza la siguiente sintaxis de comando:

MakeCert [BasicOptions|ExtendedOptions] OutputFile

OutputFile es el nombre del archivo donde se escribirá el certificado. Puede omitir OutputFile si el certificado no se va a escribir en un archivo.

Opciones

MakeCert incluye opciones básicas y extendidas. Las opciones básicas son las más usadas para crear un certificado. Las opciones extendidas proporcionan más flexibilidad.

Las opciones de MakeCert también se dividen en tres grupos funcionales:

  • Opciones básicas específicas solo de la tecnología del almacén de certificados.
  • Opciones extendidas específicas solo para la tecnología de archivo SPC y clave privada.
  • Opciones extendidas aplicables a la tecnología de archivo SPC, clave privada y almacén de certificados.

Las opciones indicadas en las tablas siguientes solo se pueden usar con Internet Explorer 4.0 o posterior.

Opción Básico Descripción
-aAlgorithm Algoritmo Hash. Debe establecerse en SHA-1 o MD5 (valor predeterminado). Para obtener más información sobre MD5, consulte MD5.
-bDateStart Fecha de inicio de validez del certificado. El valor predeterminado es cuando se crea el certificado. El formato de DateStart es mm/dd/aaaa.
-cyCertificateTypes Tipo de certificado. CertificateTypes puede ser end para la entidad final o authority para la entidad de certificación.
-eDateEnd Fecha en que finaliza el período de validez. El valor predeterminado es el año 2039.
-ekuOID1,OID2 Inserta una lista de uno o varios identificadores de objeto (OID) de uso mejorado de claves separados por comas en el certificado. Por ejemplo, -eku 1.3.6.1.5.5.7.3.2 inserta el OID de autenticación de cliente. Para obtener definiciones de OID permitidos, consulte el archivo Wincrypt.h en CryptoAPI 2.0.
-hNumChildren Altura máxima del árbol debajo de este certificado.
-lPolicyLink Vínculo a la información de la directiva de la agencia SPC (por ejemplo, una dirección URL).
-mnMonths Duración del período de validez.
-n"Name" Nombre del certificado del editor. Este nombre debe cumplir el estándar X.500. El método más sencillo es usar el formato "CN=MyName". Por ejemplo: -n "CN=Test".
-nscp Se debe incluir la extensión de autenticación de cliente de Netscape.
-pe Marca la clave privada como exportable.
-r Crea un certificado autofirmado.
-scSubjectCertFile Nombre del archivo de certificado con la clave pública del interesado existente que se va a usar.
-skSubjectKey Ubicación del contenedor de la clave del interesado que contiene la clave privada. Si no existe un contenedor de claves, se creará uno. Si no se utiliza ninguna de las opciones -sk o -sv, se crea un contenedor de claves predeterminado y se utiliza de forma predeterminada.
-skySubjectKeySpec Especificación de la clave del interesado. SubjectKeySpec debe ser uno de los tres valores posibles:
  • Firma (especificación de clave AT_SIGNATURE)
  • Exchange (especificación de clave AT_KEYEXCHANGE)
  • Entero, como 3
Para obtener más información, consulte la nota que sigue a esta tabla.
-spSubjectProviderName Proveedor de CryptoAPI para el interesado. El valor predeterminado es el proveedor del usuario. Para obtener información sobre los proveedores de CryptoAPI, consulte la documentación de CryptoAPI 2.0.
-srSubjectCertStoreLocation Ubicación del Registro del almacén de certificados del interesado. SubjectCertStoreLocation debe ser LocalMachine (clave del Registro HKEY_LOCAL_MACHINE) o CurrentUser (clave del Registro HKEY_CURRENT_USER). CurrentUser es el valor predeterminado.
-ssSubjectCertStoreName Nombre del almacén de certificados del interesado donde se almacenará el certificado generado.
-svSubjectKeyFile Nombre del archivo .pvk del interesado. Si no se utiliza ninguna de las opciones -sk o -sv, se crea un contenedor de claves predeterminado y se utiliza de forma predeterminada.
-synSubjectProviderType Tipo de proveedor de CryptoAPI para el interesado. El valor predeterminado es PROV_RSA_FULL. Para obtener información sobre los tipos de proveedores de CryptoAPI, consulte la documentación de CryptoAPI 2.0.
-#SerialNumber Número de serie del certificado. El valor máximo es 2^31. El valor predeterminado es un valor generado por la herramienta que se garantiza que es único.
-$CertificateAuthority Tipo de entidad de certificación. CertificateAuthority debe establecerse en comercial (para que los editores de software comercial usen certificados) o en individual (para que los editores de software individuales usen certificados).
-? Muestra las opciones básicas.
-! Muestra las opciones extendidas.

 

Nota:

Si la opción de especificación de clave -sky se usa en Internet Explorer versión 4.0 o posterior, la especificación debe coincidir con la especificación de clave indicada por el archivo de clave privada o el contenedor de claves privadas. Si no se usa la opción de especificación de clave, se usará la especificación de clave indicada por el archivo de clave privada o el contenedor de claves privadas. Si hay más de una especificación de clave en el contenedor de claves, MakeCert intentará usar primero la especificación de clave AT_SIGNATURE. Si se produce un error, MakeCert intentará usar AT_KEYEXCHANGE. Dado que la mayoría de los usuarios tienen una clave AT_SIGNATURE o una clave AT_KEYEXCHANGE, no es necesario usar esta opción en la mayoría de los casos.

 

Las siguientes opciones son solo para archivos de certificado de publicador de software (SPC) y tecnología de clave privada.

Opción de clave privada y SPC Descripción
-icIssuerCertFile Ubicación del certificado del emisor.
-ikIssuerKey Ubicación del contenedor de claves del emisor. El valor predeterminado es la clave raíz de prueba.
-ikyIssuerKeySpec Especificación clave del emisor, que debe ser uno de los tres valores posibles:
  • Firma (especificación de clave AT_SIGNATURE)
  • Exchange (especificación de clave AT_KEYEXCHANGE)
  • Entero, como 3
Para obtener más información, consulte la nota que sigue a esta tabla.
-ipIssuerProviderName Proveedor de CryptoAPI para el emisor. El valor predeterminado es el proveedor del usuario. Para obtener información sobre los proveedores de CryptoAPI, consulte la documentación de CryptoAPI 2.0.
-ivIssuerKeyFile Archivo de claves privadas del emisor. El valor predeterminado es la raíz de prueba.
-iynIssuerProviderType Tipo de proveedor de CryptoAPI para el emisor. El valor predeterminado es PROV_RSA_FULL. Para obtener información sobre los tipos de proveedores de CryptoAPI, consulte la documentación de CryptoAPI 2.0.

 

Nota:

Si la opción de especificación de clave -iky se usa en Internet Explorer 4.0 o posterior, la especificación debe coincidir con la especificación de clave indicada por el archivo de clave privada o el contenedor de claves privadas. Si no se usa la opción de especificación de clave, se usará la especificación de clave indicada por el archivo de clave privada o el contenedor de claves privadas. Si hay más de una especificación de clave en el contenedor de claves, MakeCert intentará usar primero la especificación de clave AT_SIGNATURE. Si se produce un error, MakeCert intentará usar AT_KEYEXCHANGE. Dado que la mayoría de los usuarios tienen una clave AT_SIGNATURE o una clave AT_KEYEXCHANGE, no es necesario usar esta opción en la mayoría de los casos.

 

Las siguientes opciones son solo para la tecnología de almacén de certificados.

Opción de almacén de certificados Descripción
-ic IssuerCertFile Archivo que contiene el certificado del emisor. MakeCert buscará en el almacén de certificados un certificado con una coincidencia exacta.
-in IssuerNameString Nombre común del certificado del emisor. MakeCert buscará en el almacén de certificados un certificado cuyo nombre común incluya IssuerNameString.
-ir IssuerCertStoreLocation Ubicación del Registro del almacén de certificados del emisor. IssuerCertStoreLocation debe ser LocalMachine (clave del Registro HKEY_LOCAL_MACHINE) o CurrentUser (clave del Registro HKEY_CURRENT_USER). CurrentUser es el valor predeterminado.
-is IssuerCertStoreName Almacén de certificados del emisor que incluye el certificado del emisor y su información de clave privada asociada. Si hay más de un certificado en el almacén, el usuario debe identificarlo de forma única mediante la opción -ic o -in. Si el certificado del almacén de certificados no se identifica de forma única, se producirá un error en MakeCert.