2012-09-28 28 views
5

he siguientes comandos para OpenSSL para generar la clave privada y pública:Generar privada y la clave pública OpenSSL

openssl genrsa –aes-128-cbc –out priv.pem –passout pass:[privateKeyPass] 2048 

y

openssl req –x509 –new –key priv.pem –passin pass:[privateKeyPass] -days 3650 –out cert.cer 

pero el que no están trabajando para el primer comando consigo el el siguiente error:

usage: genrsa [args] [numbits] 
-des   encrypt the generated key with DES in cbc mode 
-des3   encrypt the generated key with DES in ede cbc mode (168 bit key) 
-seed 
       encrypt PEM output with cbc seed 
-aes128, -aes192, -aes256 
       encrypt PEM output with cbc aes 
-camellia128, -camellia192, -camellia256 
       encrypt PEM output with cbc camellia 
-out file  output the key to 'file 
-passout arg output file pass phrase source 
-f4    use F4 (0x10001) for the E value 
-3    use 3 for the E value 
-engine e  use engine e, possibly a hardware device. 
-rand file:file:... 
       load the file (or the files in the directory) into 
       the random number generator 

¿Qué estoy haciendo mal?

Editar: i resolvió el primer comando:

openssl genrsa -aes128 -out privkey.pem 2048 

ahora yo conseguir un error con el secound:

unknown option –x509 
+0

Me pregunto si el orden de los parámetros importa? –

Respuesta

9

'genrsa' genera solo una clave RSA.

'req' utiliza esa clave para realizar una solicitud de estilo x509.

Si solo necesita un par de claves rsa, use genrsa.

Si necesita un par de llaves y una solicitud x509 firmada, use 'genrsa' y luego 'req'. .

Opcionalmente 'req' también puede generar esa clave para usted (es decir, que encapsula el comando 'genrsa' (y el gendh)

Así:

openssl genrsa -aes128 -out privkey.pem 2048 
openssl req -new -x509 -key privkey.pem 

es casi equivalente a

openssl req -new -x509 -keyout privkey.pem -newkey rsa:2048 

excepto que a diferencia de 'genrsa', 'req' no permite especificar aes128 como el cifrado.

Por lo tanto, en una gran cantidad de configuraciones empresariales, uno lo hace en dos pasos para tener suficiente control sobre el cifrado de claves aplicado.

+0

Este comando hizo el truco: openssl req -new -x509 -key new.pem -days 3650 -out cert.crt Muchas gracias – kozla13

+2

Tenga en cuenta que -x509 produce un certificado autofirmado. Omita esta opción si desea generar una solicitud de certificado. – Todd

1

Como puedo ver en la salida, se elige el algoritmo mal. ¿No debería pasar -aes128 en lugar de -aes-128-cbc?

Del manual supongo que -aes-128-cbc es un parámetro apropiado para openssl enc, pero no sé si debería funcionar para genrsa.

Cuestiones relacionadas