Y bien como sabemos openssl es una herramienta opensource que nos ayuda a resolver algunas de nuestras necesidades criptográficas. De que se trata el post, pues de generar certificados x509 de CA y de una entidad que necesite un certificado, llamémoslo un usuario. Las razones por las que llegaron aquí son diversas pero esto les puede servir para su curso de criptografía, o tal vez para un servidor web seguro https, o por los puros lulz. Los algoritmos mas comunes en los certificados son rsa y dsa y dependiendo el nivel de seguridad que deseen pues varia la longitud de la llave. Según recuerdo cuando hice este manualillo que rescate de mis archivos , basta con copiar y pegar en la mayoría de las instrucciones, pero varían en algunos nombres de archivos de entrada y salida, que obviamente pueden ser diferentes. No van a encontrar este manualillo en otro lado, ni en ingles, ya que es 100% mio jeje. No hay problema si lo publican en otro lado, de preferencia ponen una referencia al blog.
***********RSA**************
crear llave privada
sudo openssl genrsa -out millaveprivada 1024
crear llave publica
sudo openssl rsa -in millaveprivada -out millavepublica -pubout
para cifrar con llave publica
sudo openssl rsautl -in prueba -out prueba.cifrado -inkey millavepublica -pubin -encrypt
para cifrar con llave privada (firmar)
sudo openssl rsautl -in prueba -out prueba.pricifrado -inkey millaveprivada -sign
para descifrar con llave publica
*****
para decifrar con llave privada
sudo openssl rsautl -in prueba.pucifrado -out prueba.descifrado -inkey millaveprivada -decrypt
*******DIGESTOS**********
para crear digesto
sudo openssl dgst -sha1 -out digestoprueba prueba
para crear digesto firmado
sudo openssl dgst -sha1 -out digestoprueba -sign millaveprivada prueba
********FIRMA DIGITAL RSA***********
1) GENERAR PRIVADA
2) GENERAL PUBLICA
3) sudo openssl dgst -sha1 -out pruebafirmado -sign millaveprivada prueba
********VERIFICAR FIRMA RSA ************
1) sudo openssl dgst -sha1 -verify millavepublica -signature pruebafirmado prueba
******CERTIFICADOS RSA************
Crear el certificado de la autoridad
sudo openssl req -out ca.cer -new -key millaveprivada -config CAconfig.conf -x509 -days 365
* Generar par de claves RSA para un usuario de 1024 bits
1)sudo openssl genrsa -out privadauser1 1024
2)sudo openssl rsa -in privadauser1 -out publicauser1 -pubout
* Generar un requerimiento del certificado para este usuario
1) sudo openssl req -out req_user1 -new -key privadauser1 -config CAconfig.conf
Nota: pide una contraseña al final como desafio
* Firmar el requerimiento y generar el certificado del usuario
1) sudo openssl x509 -inform PEM -outform PEM -keyform PEM -CAform PEM -CAkeyform PEM -in req_user1 -out certificadoUser1 -days 365 -req -CA ca.cer -CAkey millaveprivada -sha1 -CAcreateserial -text
*************Certificado DSA**************
* Generar Parametros DSA
1) sudo openssl dsaparam -out dsaparametros 1024
* Generar llave privada DSA
sudo openssl gendsa dsaparametros -out dsa_privada
* Generar llave publica DSA
sudo openssl dsa -in dsa_privada -pubout -out dsa_publica
* Crear el certificado de la autoridad
sudo openssl req -out dsa_ca.cer -new -key dsa_privada -config CAconfig.conf -x509 -days 365
* Generar par de claves DSA para un usuario de 1024 bits
1) sudo openssl dsaparam -out dsaparametros_user1 1024
2) sudo openssl gendsa dsaparametros_user1 -out dsa_privada_user1
3) sudo openssl dsa -in dsa_privada_user1 -pubout -out dsa_publica_user1
* Generar un requerimiento del certificado para este usuario
1) sudo openssl req -out dsa_req_user1 -new -key dsa_privada_user1 -config CAconfig.conf
Nota: pide una contraseña al final como desafio
* Firmar el requerimiento y generar el certificado del usuario
1) sudo openssl x509 -inform PEM -outform PEM -keyform PEM -CAform PEM -CAkeyform PEM -in dsa_req_user1 -out dsa_certificadoUser1 -days 365 -req -CA dsa_ca.cer -CAkey dsa_privada -sha1 -CAcreateserial -text
Una recopilación de tópicos pseudo aleatorios , desde las entrañas del mundo geek hasta un sobrevuelo por el inframundo de la política.
Si hoy fueran las elecciones en México , ¿por quien votarías?
MVS Radio
Mostrando entradas con la etiqueta llave privada. Mostrar todas las entradas
Mostrando entradas con la etiqueta llave privada. Mostrar todas las entradas
miércoles, 18 de abril de 2012
Certificados RSA y DSA en linux usando OpenSSL
Etiquetas:
CA,
certificados,
digesto,
dsa,
firma digital,
hash,
llave privada,
llave publica,
rsa,
sha1,
x509
Suscribirse a:
Entradas (Atom)