LinuxParty
En posts anteriores hemos visto cómo crear servicios web seguros utilizando certificados. Los certificados era los por defecto de SSL en Linux o bien generabamos certificados autofirmados para el caso de IIS y el hecho que debíamos solicitar un certificado a una entidad certificadora (CA) para disponer de certificados válidos para operar en Internet. En este enlace teneis una buena descripción de qué es una infraestructura de clave pública o PKI.
En esta ocasión vamos a ver cómo crear nuestra propia entidad de certificación ( sobre un Debian 6, pero el procedimiento es idéntico si empleamos un Ubuntu). Posteriormente, vamos a emplear esta entidad de certificación para generar un certificado de servidor para otra máquina que la empleará para un servicio Apache. Esta situación puede ser útil si queremos desplegar en una intranet un sistema de certificados, tanto para equipos como para usuarios.
Te interesará conocer:
Generar fichero CSR en Linux
En primer lugar vamos a crear la entidad certificadora, para ello editamos el archivo /etc/ssl/openssl.cnf del equipo que se convertirá en autoridad de certificación y realizaremos las siguientes modificaciones:
Estamos indicando donde se va a crear la infraestructura de nuestra entidad de certificación, recorriendo el archivo podemos editar otras características, como por ejemplo la duración por defecto de los certificados ( 365 días es el valor inicial), la longitud de la clave, etc.
El siguiente paso, es crear la estructura de carpetas de la entidad de certificación y crear los archivos de gestión de los certificados creados, el archivo serial y el index.txt.
Ahora vamos a crear el certificado para la entidad certificadora, este certificado será el que después se deberá exportar a los diferentes servidores que vayan a utilizar sus certificados:
Ya tenemos creada nuestra entidad certificadora. Ahora vamos a una segunda máquina, en este caso un Ubuntu Desktop que hará las funciones de un servidor web que va a solicitar un certificado, para ello creamos una petición .csr y una clave privada micert.key. Para evitar el problema que la clave privada utilice una contraseña, que nos obligaría a introducirla cada vez que reiniciemos el servicio, se emplea el parámetro -nodes.
En la petición se nos requiere la información relativa al equipo o dominio para el que se va a solicitar el certificado:
Ahora deberíamos enviar este archivo .csr al servidor de la entidad certificadora, una vez que ésta lo recibe, generaremos el certificado a partir de él:
Como resultado de este comando, no sale un mensaje con la información del certificado generado y nos pide la confirmación de si queremos firmarlo.
Ahora deberíamos enviar al que será nuestro servidor web y lo deberíamos copiar en /etc/ssl/certs. Así mismo comprobamos la presencia de la clave privada del servidor.
Ahora tenemos que convertir nuestra entidad certificadora, en una entidad certificadora de confianza para el servidor web. Para ello enviamos el certificado de la CA (lo he renombrado como waytoit.pem para facilitar su localización) y lo copiamos en /etc/ssl/certs. Ahora hay que hacer un paso adicional para que funcione, tenemos que ver su hash y crear un enlace al certificado que tenga como nombre su número de hash.0.
Podéis comprobar como para los diferentes certificados que ya están instalados, existe dicho enlace.
Comprobamos ahora el certificado que hemos solicitado:
Si no nos da ningún error, editamos el archivo de configuración de nuestra página segura para utilizar nuestro flamante certificado:
Por último, comprobamos desde el navegador las características de nuestro certificado:

-
Programación
- Google dona Windowbuilder, CodePro Para Eclipse
- 12 plugins de Eclipse que todo desarrollador debe conocer!
- Eclipse Ajax Toolkit Framework y Ajax tools
- Visual Studio y Eclipse, comparados y contrastados.
- Crear servicios Web con PHP en Eclipse
- Programar y depurar en un IDE para PHP con Eclipse, plugins PDT, xdebug y Remote debug
- Saros, plugin de Eclipse para programación par a distancia o distribuida en pare
- Desarrollar una aplicación Facebook con Eclipse.
- Instalar Cobol en Eclipse para Linux (y también sirve para Windows)
- Cómo instalar Eclipse en Windows, Linux o Mac.
- ¿Puede TrapC solucionar problemas de seguridad de memoria en C y C++?
- Un EXE de 27 años se convirtió en Python en minutos. ¿Será la ingeniería inversa asistida por IA el próximo paso?
- Google informa que el tiempo de migración de código se reduce a la mitad con ayuda de IA
- ELIZA, el primer chatbot con inteligencia artificial del mundo, resucita después de 60 años
- Tutorial de C/C++, programar paso a paso, para Linux, Windows y Mac