Tabla de Contenidos

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 

- Como firmar codigo usando openssl

- 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