¡ Vamos al lío !
Lo que haremos hoy, será iniciar un chat cifrado vía openssl. Para hacer que el chat sea seguro, utilizaremos un certificado openSSL y los componentes s_client y s_server que vienen con la aplicación.
Iniciando el servidor
Dicho chat será entre un cliente y un servidor. Para ello, primero, tenemos que crear un certificado para el servidor. Por si no queréis leer el otro post, dejo aquí unas pequeñas instrucciones:
Nos preguntará una serie de cosas, país, estado, organización, e-mail, y cosas así que debemos rellenar.
Tendremos la clave de nuestro certificado en clave.pem y el certificado en sí en certificado.pem. Este certificado será autofirmado, por lo que si lo utilizamos en cualquier otro lado cuestionará la autenticidad del mismo (pero ya que lo hemos hecho nosotros, ¿confiamos en nosotros mismos?).
Para ejecutar el modo servidor debemos hacer lo siguiente:
Con este comando estamos iniciando un servidor (s_server) seguro, cuya clave es "clave.pem", el certificado será "certificado.pem" y aceptaremos conexiones por el puerto 12345
Ahora sólo necesitamos el cliente.
El cliente
Para conectarnos con el servidor tendremos que hacer lo siguiente:
Mucho más sencillo, conectaremos con la dirección ip del servidor al puerto 12345. Primero veremos información del certificado, y luego podremos escribir tanto en el cliente como en el servidor viendo en cada una de las pantallas los mensajes enviados y recibidos.
¿Algo más?
No sólo podemos hacer un chat, por ejemplo, podemos enviar un mensaje al servidor, mensaje que no podrá ser interceptado. Al menos, en teoría.
Foto principal: Anna Vander Stel (Unsplash)