certificate - example - Configuración de atributos de uso clave con Makecert
makecert example (4)
¿Es posible establecer atributos de uso clave utilizando makecert o cualquier otra herramienta que pueda usar para generar mis propios certificados de prueba?
El motivo por el que estoy interesado es que los certificados utilizados para el transporte AS2 de BizTalk Server requieren un uso clave de la firma digital para la firma y el cifrado de datos o el cifrado de clave para el cifrado / descifrado, y quiero jugar con esta función.
Veo cómo establecer atributos de uso clave mejorados con makecert, pero no el uso de clave.
La firma digital, el cifrado de datos y el cifrado de clave se pueden agregar usando el New-SelfSignedCertificate
. Uno de los Parámetros New-SelfSignedCertificate
es KeyUsage
donde puede agregar DigitalSignature, DataEncipherment y KeyEncipherment.
New-SelfSignedCertificate se describe en technet ( New-SelfSignedCertificate )
Muestra:
New-SelfSignedCertificate -Type Custom -Subject "CN=sample.com" -KeyUsage DataEncipherment, KeyEncipherment, DigitalSignature -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.2,1.3.6.1.5.5.7.3.1") -CertStoreLocation "Cert:/CurrentUser/My"
El ejemplo cubre la autenticación del cliente y la autenticación del servidor y crea el certificado en el almacén de usuarios actual bajo mi.
MakeCert no le permite especificar el uso de claves, solo el uso de claves extendidas. Creo que necesitas una CA para crear un certificado más amplio.
Puede configurar su propia CA con el servidor de ubuntu. https://www.digitalocean.com/community/tutorials/how-to-create-a-ssl-certificate-on-apache-for-ubuntu-14-04
Puede usar la opción -eku para especificar el uso de la clave en su certificado.
Vea los detalles aquí: http://msdn.microsoft.com/en-us/library/aa386968(VS.85).aspx
Si bien no puede crear un makecert
y configurar los parámetros de Uso de clave mejorada usando makecert
, pensé que le ahorraría a todos la molestia de tratar de usar el uso de 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 certificado con un EKU de cifrado de documento (1.3.6.1.4.1.311.80.1) y usos clave de cifrado clave y cifrado de datos.
Crea 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%"
Solo establece el Subject
a lo que necesites.
Entonces corre:
certreq -new MyCert.inf MyCert.cer
Esto generará la clave pública (certificado X509) y la instalará en el almacén personal del Usuario actual en la máquina. Puedes exportarlo desde allí si quieres.
Utilicé esto para generar un certificado para cifrar PowerShell DSC, para la prueba.
Para obtener más detalles: https://technet.microsoft.com/en-us/library/dn296456.aspx#BKMK_New