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.

La herramienta MakeCert usa la siguiente sintaxis de comandos:

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 que más se utilizan para crear un certificado. Las opciones ampliadas 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 de la tecnología de clave privada y de archivo SPC solo.
  • Opciones extendidas aplicables a la tecnología de almacenamiento de certificados, clave privada y archivo SPC.

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

Opción básica Descripción
-UnAlgoritmo Algoritmo hash . Debe establecerse en SHA-1 o MD5 (valor predeterminado). Para obtener información sobre MD5, consulta MD5.
-BDateStart Fecha en que el certificado se convierte primero en válido. 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-entity o entidad de certificación.
-eDateEnd Fecha en la 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 de uso de claves (OID) mejorados 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 Alto máximo 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 publicador. Este nombre debe cumplir con 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 firmante existente que se va a usar.
-SkSubjectKey Ubicación del contenedor de claves del firmante que contiene la clave privada. Si no existe un contenedor de claves, se creará uno. Si no se usa la opción -sk o -sv , se crea un contenedor de claves predeterminado y se usa de forma predeterminada.
-CieloSubjectKeySpec Especificación clave del sujeto. SubjectKeySpec debe ser uno de los tres valores posibles:
  • Firma (AT_SIGNATURE especificación de clave)
  • Exchange (especificación de clave AT_KEYEXCHANGE)
  • Entero, como 3
Para obtener más información, vea la nota que sigue a esta tabla.
-SpSubjectProviderName Proveedor cryptoAPI para asunto. El valor predeterminado es el proveedor del usuario. Para obtener información sobre los proveedores cryptoAPI, consulte la documentación de CryptoAPI 2.0.
-srSubjectCertStoreLocation Ubicación del Registro del almacén de certificados del firmante. 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 firmante donde se almacenará el certificado generado.
-SvSubjectKeyFile Nombre del archivo .pvk del firmante. Si no se usa la opción -sk o -sv , se crea un contenedor de claves predeterminado y se usa de forma predeterminada.
-SynSubjectProviderType Tipo de proveedor CryptoAPI para asunto. El valor predeterminado es PROV_RSA_FULL. Para obtener información sobre los tipos de proveedor 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 individual (para que los editores de software individuales los usen).
-? Muestra las opciones básicas.
-! Muestra las opciones extendidas.

 

Nota

Si la opción de especificación -sky key 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 de AT_SIGNATURE o una clave de AT_KEYEXCHANGE, esta opción no es necesario usar 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 SPC y clave privada 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, vea la nota que sigue a esta tabla.
-IpIssuerProviderName Proveedor cryptoAPI para 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 clave privada del emisor. El valor predeterminado es la raíz de prueba.
-iynIssuerProviderType Tipo de proveedor CryptoAPI para el emisor. El valor predeterminado es PROV_RSA_FULL. Para obtener información sobre los tipos de proveedor 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 de AT_SIGNATURE o una clave de AT_KEYEXCHANGE, esta opción no es necesario usar en la mayoría de los casos.

 

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

Opción almacén de certificados Descripción
-icIssuerCertFile Archivo que contiene el certificado del emisor. MakeCert buscará en el almacén de certificados un certificado con una coincidencia exacta.
-inIssuerNameString Nombre común del certificado del emisor. MakeCert buscará en el almacén de certificados un certificado cuyo nombre común incluya IssuerNameString.
-irIssuerCertStoreLocation 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.
-isIssuerCertStoreName 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.