Aunque no se puede hacer un certificado autofirmado y establecer los parámetros de uso mejorado de clave utilizando makecert
que pensé en salvar a todos los problemas de tratar de utilizar ir por el camino de usar OpenSSL para generar un certificado en Windows. En su lugar, puede usar certreq
(que está disponible si ya tiene makecert
) y configurar su propia solicitud para establecer los parámetros necesarios.
Por ejemplo, esto configura un cert con una EKU de Document Encryption (1.3.6.1.4.1.311.80.1) y usos clave de Key Encipherment y Data Encipherment.
Crear un nuevo archivo, MyCert.inf
:
[Version]
Signature = "$Windows NT$"
[Strings]
szOID_ENHANCED_KEY_USAGE = "2.5.29.37"
szOID_DOCUMENT_ENCRYPTION = "1.3.6.1.4.1.311.80.1"
[NewRequest]
Subject = "[email protected]"
MachineKeySet = false
KeyLength = 2048
KeySpec = AT_KEYEXCHANGE
HashAlgorithm = Sha1
Exportable = true
RequestType = Cert
KeyUsage = "CERT_KEY_ENCIPHERMENT_KEY_USAGE | CERT_DATA_ENCIPHERMENT_KEY_USAGE"
ValidityPeriod = "Years"
ValidityPeriodUnits = "1000"
[Extensions]
%szOID_ENHANCED_KEY_USAGE% = "{text}%szOID_DOCUMENT_ENCRYPTION%"
acaba de establecer la Subject
a lo que usted necesita.
A continuación, ejecute:
certreq -new MyCert.inf MyCert.cer
Esto generará la clave pública (X509 CERT) e instalarlo en su almacén personal del usuario actual en la máquina. Puede exportar desde allí si lo desea.
He utilizado este para generar un certificado para cifrar PowerShell DSC, para la prueba.
Para más detalles: https://technet.microsoft.com/en-us/library/dn296456.aspx#BKMK_New
Creo que busca opción '-sky' – AaA