====== OpenSSL ======
===== Descripción =====
Es la libreria/aplicativos existente en todas las distribuciones que hace todas las tareas de ciframiento necesarias\\
===== Prerequistos =====
Tenerlo instalado .. yum install openssl o apt-get install openssl .. inclusive existe para windows y mac\\
===== Ciframiento Simétrico =====
Esto usa una unica llave que se comparte por ambas partes\\
# provide password on command line
> openssl enc -aes-256-cbc -salt -in file.txt -out file.enc -pass pass:mySillyPassword
# provide password in a file
> openssl enc -aes-256-cbc -salt -in file.txt -out file.enc -pass file:/path/to/secret/password.txt
Y si quiere usar base64\\
# provide password on command line
> openssl enc -a -aes-256-cbc -salt -in file.txt -out file.enc -pass pass:mySillyPassword
Y para descifrar solo use "dec" y da igual
\\
===== Ciframiento Asimétrico =====
==== 1. Generacion del par de llaves ====
El default son llaves de 512\\
> openssl genrsa -out private.pem
si quiere llaves de 1024 o mas\\
> openssl genrsa -out private.pem 1024
y a partir de ahi se puede generar la llave publica en formato PEM\\
> openssl rsa -in private.pem -out public.pem -outform PEM -pubout
==== 2. Ciframiento con la llave publica y descifrando con la privada ====
Cifranto el archivo file.txt\\
> openssl rsautl -encrypt -inkey public.pem -pubin -in file.txt -out file.ssl
Y descifrando\\
> openssl rsautl -decrypt -inkey private.pem -in file.ssl -out decrypted.txt
Y si lo quiere pasando por base64\\
\\
Cifranto el archivo file.txt\\
> openssl rsautl -encrypt -inkey public.pem -pubin -in file.txt | openssl enc -base64 > file.ssl
Y descifrando\\
> cat file.ssl | openssl dec -base64 | openssl rsautl -decrypt -inkey private.pem -out decrypted.txt
\\
==== 3. Ciframiento con la llave privada y descifrando con la publica ====
Cifranto el archivo file.txt\\
> openssl rsautl -sign -inkey private.pem -in file.txt -out file.ssl
Y descifrando\\
> openssl rsautl -verify -inkey public.pem -pubin -in file.ssl -out decrypted.txt
Y si lo quiere pasando por base64\\
\\
Cifranto el archivo file.txt\\
> openssl rsautl -sign -inkey private.pem -in file.txt | openssl enc -base64 > file.ssl
Y descifrando\\
> cat file.ssl | openssl dec -base64 | openssl rsautl -verify -inkey public.pem -pubin -out decrypted.txt
\\
\\
===== Trucos =====
===== Problemas =====
==== 1. Si el instale_mrtg.sh no le funciona ====
-
===== Referencias =====
- http:%%//%%www.openssl.org/docs/\\
- http:%%//%%www.dcc.uchile.cl/~pcamacho/tutorial/crypto/openssl/openssl_intro.html\\
- http:%%//%%www.devco.net/archives/2006/02/13/public_-_private_key_encryption_using_openssl.php\\
- http:%%//%%www.madboa.com/geek/openssl/
- OpenSSL Cookbook https:%%//%%www.feistyduck.com/library/openssl-cookbook/online/ch-openssl.html \\
- Como convertir formatos de certificados https:%%//%%www.digicert.com/kb/ssl-support/openssl-quick-reference-guide.htm \\
\\
Como ejecutar tareas \\
- Un pasao mas para cifrar https:%%//%%access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/sec-using_openssl \\
- Una buena introduccion a SSL Certificates https:%%//%%phoenixnap.com/kb/openssl-tutorial-ssl-certificates-private-keys-csrs \\
\\
- [[https://jumpnowtek.com/security/Code-signing-with-openssl.html|Como firmar codigo usando openssl]]\\
\\
- [[https://www.php.net/manual/es/book.openssl.php|Las funciones en PHP]]\\
\\
FIN
----
__**Advertencia**__
Este documento es privado y es de u so exclusivo de sus autores y de SKINA TECH. Cualquier uso sin una autorización escrita es contra la ley de derechos de autor y de propiedad intelectual, y será motivo de una acción legal.
----
==============================================================
15-Marzo-2006 J.E.Gomez v1.0 Primera version