Configuración y uso de openssl Openssl se configura mediante el archivo /etc/ssl/openssl.cnf , donde podemos especificar las carpetas donde queremos que se guarden los certificados y las claves e información que incluiremos en los certificados en la sección req_distinguised_name. Para usar openssl, usaremos alguno de los scritps se encuentran bajo la carpeta misc de ssl(normalmente /etc/ssl pero puede que no sea esa), CA.pl y CA.sh, que no son más que scripts para manejar más fácilmente el comando openssl. Seguramente en nautopia acabemos publicando un manual de openssl, de momento usaremos los scripts que es más faćil. Creación de una autoridad certificadora Para que los certificados tengan validez en todo el mundo(o casi), los que generemos tienen que estar firmados por una entidad certificadora válida también en todo el mundo. Es decir, que se encuentre en el almacén de certificados de la mayor parte de sistemas operativos para que los clientes puedan validar la autenticidad de los certificados de servidor. Tenemos varias opciones, podemos comprar los certificados firmados por una compañia como verisign o usar una como CAcert que nos provee de certificados ráiz y de cliente gratuitos(aunque todavía este certificado no aparece en todos los almacenes de confianza, se está estudiando incluirlo en Linux). Si los certificados van a ser para uso interno, donde podamos instalar el certificado de nuestra CA(autoridad certificadora) en todos los clientes en los que queramos usar los mecanismo de openssl, podemos crear nuestra propia CA con sus correspodientes certificados fácilmente mediante el script CA.pl, que se encuentra en la carpeta /etc/ssl/misc Respondiendo las preguntas crearemos un certificado en /etc/ssl/demoCA/cacert.pem y una clave privada en /etc/ssl/demoCA/cakey.pem que usaremos para firmar los certificados cliente que generemos. Si introducimos una contraseña, debermos usarla cada vez que queramos usar este certificado para fimar una petición de certificado. Creación de certificados cliente/servidor Tenemos que generar una petición de certificado para cada cliente(o configurar la opción unique_subject en openssl.cnf). Lo podemos hacer con el comando para crear una petición newreq.pem. Después de esto la firmamos y ya tenemos un archivo newcert.pem que contiene nuestro certificado y nuestra clave. Si necesitamos tener la clave en un fichero aparte(por ejemplo, para usarla en un servicio como imap), la extraemos con el comando openssl - openssl -rsa < newcert.pem > newkey.pem
Con lo que ya tenemos un certificado newcert.pem y una clave newkey.pem que podemos usar y por supuesto renombrar al nombre que queramos. También disponible en formato pdf: aquí Año 2004. Por davidfm.
Fuente: FentLinux |