2010-06-02 8 views
18

¿Es posible definir los atributos de uso de claves utilizando makecert, o cualquier otra herramienta que puede utilizar para generar mis propios certificados de prueba?el establecimiento de atributos de uso de claves con makecert

La razón por la que estoy interesado es que los certificados utilizados para el transporte de BizTalk Server AS2 requieren un uso clave de firma digital para firmar y encriptación de datos o cifrado de clave para el cifrado/descifrado, y quiero jugar con esta característica.

Veo cómo configurar mejorado atributos de uso clave con makecert, pero no el uso de la clave.

+0

Creo que busca opción '-sky' – AaA

Respuesta

-4

Usted puede utilizar la opción -eku para especificar el uso de la clave a su certificado.

Ver detalles aquí: http://msdn.microsoft.com/en-us/library/aa386968(VS.85).aspx

+3

-eku le permite establecer extendidas * * usos de claves, no usos de claves. – nlawalker

+1

Hum, ya veo ... En ese caso, sugiero que intente utilizar Openssl para generar su certificado. No conozco la respuesta para su problema concreto al usar openssl, pero es una herramienta poderosa (mejor que makecert en mi opinión). Le sugiero que agregue el indicador "openssl" a su pregunta y cambie el título a "makecert/Openssl". Tal vez así obtendrás más respuestas útiles. Con respecto a –

5

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.

Example cert

Para más detalles: https://technet.microsoft.com/en-us/library/dn296456.aspx#BKMK_New

+0

con 'makecert' puede usar' -eku' para establecer el uso de la clave extendida, pero estaba buscando una manera de establecer dos o más usos de la clave extendida. – AaA

Cuestiones relacionadas