CREACIÓN DE CERTIFICADOS DIGITALES CON OPENSSL 
En esta sección de la investigación se muestra como generar los certificad...
Ahora trabajaremos con el archivo copia de openssl.cnf, en nuestro ejemplo se le nombro tesisgad.cnf, se modificó las sigu...
Pasos a seguir para la creación del certificado usado como CA local. 
1. Ingresamos la siguiente línea de comando en la te...
correspondiente a dichos campos, de otra manera ingresamos el valor que creamos necesario. En este proceso debemos prestar...
Para la clave pública (el certificado propiamente dicho). 
Figura 4: Información en forma de texto de la clave pública de ...
Pasos a seguir para la creación del certificado que identificara el servidor de correo: 
1. Creamos una llave privada para...
Tabla 5: Parámetros ingresados para la creación de petición de certificado de servidor. Explicación de parámetros ingresad...
Tabla 6: Información de petición de certificado de servidor examinada desde la CA. Explicación de parámetros ingresados 
r...
Figura 10: Fragmento final de comando ingresado para firmar la petición y generación de certificado digital. 
Aquí luego d...
certificados que tenemos como ejemplo. Para la creación de los certificados digitales para usuario, debemos seguir los sig...
Datos Informativos solicitados: 
Datos de la organización a la que pertenece el usuario: Como se mencionó anteriormente, s...
3. Hasta este instante se creó el certificado y clave privada usuario, ahora cumpliendo el rol de CA vamos a integrar el c...
Próxima SlideShare
Cargando en…5
×

Creación de certificados digitales con openssl CA local

555 visualizaciones

Publicado el

Este documento muestra la creación de certificados como una CA local en un sistema Debian Wheezy

Publicado en: Internet
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
555
En SlideShare
0
De insertados
0
Número de insertados
5
Acciones
Compartido
0
Descargas
16
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Creación de certificados digitales con openssl CA local

  1. 1. CREACIÓN DE CERTIFICADOS DIGITALES CON OPENSSL En esta sección de la investigación se muestra como generar los certificados digitales actuando como una autoridad de certificación (CA). Para ello debemos tener instalado el paquete openssl, si aún no lo tenemos, lo instalamos con: #apt-get install openssl Antes de continuar debemos preparar un directorio en nuestro equipo, este será el directorio base que aloja todos los archivos necesarios para la emisión de certificados que vamos a generar. Nos aseguramos de crear la siguiente estructura de directorio: Tabla 1: Estructura de directorio base para la creación de certificados. Directorio Descripción /root/CA Directorio base a utilizar. /root/CA/certs Directorio para alojar los certificados ya firmados. /root/CA/crl Directorio destinado a almacenar los archivos de lista de revocación de certificados (CRL). /rot/CA/csr Directorio para almacenar las nuevas peticiones de certificados a firmar. /root/CA/private Directorio que almacena las llaves privadas generadas incluyendo la de nuestro CA. /root/CA/serial Archivo almacena el número de serie actual asignado al certificado firmado. /root/CA/crlnumber Archivo que indica el número que tendrá la siguiente lista de revocación de certificados. /root/CA/index.txt Archivo que almacena información de los certificados creados, a manera de una base de datos simple. Figura 1. Listado del directorio base para creación de certificados. Además de esta estructura de directorios creada previamente, se recomienda editar una copia del archivo /etc/ssl/openssl.cnf y colocarla en el directorio de trabajo /root/CA/
  2. 2. Ahora trabajaremos con el archivo copia de openssl.cnf, en nuestro ejemplo se le nombro tesisgad.cnf, se modificó las siguientes líneas indicadas en la tabla a continuación: Tabla 2: Parámetros modificados del archivo de configuración para la creación de certificados. Variable Valor Descripción Sección CA-default dir /root/CA Directorio raíz de nuestra autoridad de certificación (CA). certificate $dir/catesisgad.com.pem Archivo con la clave pública de la autoridad de certificación. crl $dir/micrl.pem Archivo de lista de revocación de certificados. private_key $dir/private/catesisgad.com.key Archivo con la clave privada de la autoridad de certificación. default_days 3650 Valor en días en los que será válido el certificado. default_crl_days 300 Valor del periodo en el que se deben actualizar la lista crl. default_md sha1 Valor del tipo de mensaje utlizado se recomienda sha1 Sección req default_bits 4096 Longitud en bits de la clave privada Sección req_distinguished_name countryName_default EC Iniciales del país de emisión del certificado. stateOrProvinceName_default Loja Estado o provincia de emisión del certificado. localityName_default Loja Localidad de emisión (ciudad) del certificado. 0.organizationName_default Tesis GAD Nombre de la Organización organizationUnitName_default Informática Nombre de la unidad organizativa/sección de la Organización
  3. 3. Pasos a seguir para la creación del certificado usado como CA local. 1. Ingresamos la siguiente línea de comando en la terminal para crear un certificado autofirmado, adicionalmente nos pedirá varios datos informativos, en este ejemplo solo se ingresa algunos datos para diferenciar al certificado. Figura 2: Creación de certificado de autoridad de certificación (CA). Tabla 3: Explicación de parámetros para la creación de certificado de CA. Explicación de parámetros ingresados req Indica que va a gestionar una petición -new Seguido a req significa nueva petición -x509 Formato del tipo de certificado -days 3650 Se indica el período de días durante los que será válido el certificado y su clave privada. -config /root/CA/tesisgad.cnf Se especifica el archivo de configuración que openssl debe usar. -keyout /root/CA/private/catesisgad.com.key Se indica el archivo de salida correspondiente a la clave privada del certificado. -out /root/CA/catesisgad.com.pem Se indica el archivo de salida correspondiente al certificado Datos Informativos solicitados: Passphrase: Este dato se refiere a una contraseña con la que estará protegida la clave privada de nuestro certificado. Datos de la organización: Datos como el país, ciudad, localización, organización, unidad organizativa, al momento de haber sido solicitados solo tecleamos enter, esto es porque nuestro archivo de configuración ya tiene como valores por defecto la información
  4. 4. correspondiente a dichos campos, de otra manera ingresamos el valor que creamos necesario. En este proceso debemos prestar especial atención al momento que nos solicitan el dato “Common Name”, según el tipo de certificado que vamos a crear, podemos ingresar un nombre completo de equipo (FQDN) útil para validar servidores, o en el caso de tratarse de un certificado personal, debería ir el nombre del propietario de dicho certificado, en el primer caso es necesario que el nombre de equipo sea el mismo indicado en el registro del servidor DNS que resuelve a dicho servidor. Por último otro dato importante es la dirección de email asociada a la persona o entidad a la que va destinado dicho certificado. Nota: Para poder visualizar en formato textual la información del certificado lo podemos realizar ingresando los siguientes comandos: Para la clave secreta: Figura 3: Información en forma de texto de la clave privada de CA.
  5. 5. Para la clave pública (el certificado propiamente dicho). Figura 4: Información en forma de texto de la clave pública de CA. También se puede observar información del propósito del certificado creado como se aprecia en la siguiente figura: Figura 5: Información acerca del propósito del certificado de CA.
  6. 6. Pasos a seguir para la creación del certificado que identificara el servidor de correo: 1. Creamos una llave privada para el servidor con el siguiente comando: Figura 6: Creación de clave privada de certificado para servidor de correo. Tabla 4: Parámetros ingresados para la creación de clave privada de servidor. Explicación de parámetros ingresados genrsa Indica que se va a generar una clave privada. -des3 Algoritmo de cifrado a utilizar para la clave privada. -out tesisgad.com.key Se indica el archivo de salida correspondiente al certificado. 4096 Tamaño en bits de la clave privada. 2. Creamos una petición de firma de certificado, con la siguiente línea de comando creamos un archivo CSR, éste contendrá previamente la información de la organización que está destinada a nuestro certificado de servidor, este archivo debe ser enviado al servidor CA para que este lo revise y si cree conveniente lo firme. Figura 7: Creación de archivo de petición de certificado para enviar a CA.
  7. 7. Tabla 5: Parámetros ingresados para la creación de petición de certificado de servidor. Explicación de parámetros ingresados req Indica que va a gestionar una petición. -new Seguido a req significa nueva petición. -key tesisgad.com.key Se indica el archivo de salida correspondiente a la clave privada del certificado. -config /root/CA/tesisgad.cnf Se especifica el archivo de configuración que openssl debe usar. -out tesisgad.com.csr Se indica el archivo de salida csr correspondiente a la petición de firma de certificado. Datos Informativos solicitados: Pass phrase: Este dato se refiere a una contraseña con la que estará protegida la clave privada del certificado. Datos de la organización: Como se mencionó anteriormente, se ingresa los datos correspondientes de este certificado para servidor de correo. En la información proporcionada para esta petición de firma de certificado se ingresó como dato Common Name, “debian7.tesisgad.com” es necesario que el nombre de equipo sea el mismo indicado en el registro del servidor DNS que resuelve a dicho servidor, esto para que no presente errores al momento que el certificado sea usado por los servicios para los que fue destinado. 3. EL administrador de CA revisara la petición de certificado ingresando lo siguiente: Figura 8: Fragmento de texto de la petición de certificado de servidor examinado por la CA.
  8. 8. Tabla 6: Información de petición de certificado de servidor examinada desde la CA. Explicación de parámetros ingresados req Indica que va a gestionar una petición -in /root/CA/tesisgad.com.csr Archivo del cual se va a leer la información de petición. Este archivo se envió anteriormente desde el servidor que solicita el certificado digital. -text Presenta en forma de texto la información detallada, en este caso de la petición de certificado. 4. El administrador de la CA procede a ingresar el siguiente comando para generar el certificado digital solicitado por el servidor en base al archivo de petición recibido. Figura 9: Fragmento inicial de comando ingresado para firmar la petición y generación de certificado digital.
  9. 9. Figura 10: Fragmento final de comando ingresado para firmar la petición y generación de certificado digital. Aquí luego de revisar la información de certificado tecleamos “y” y luego enter para firmar el certificado. 5. EL administrador de CA encuentra en este momento el siguiente archivo /root/CA/certs/01.pem este archivo es el nuevo certificado que debe enviarle al servidor que anteriormente realizo la petición de firma. 6. Antes de usar la clave privada de servidor creada anteriormente se debe remover su pass phrase, esto se debe a que tanto el certificado digital y su clave van a ser usados por servicios del sistema y al poseer una contraseña esta no permite el inicio automático de los servicios que hacen uso de dichos certificados; para ello usamos los siguientes comandos [1]. Figura 11: Remover contraseña de clave privada para uso con servicios del sistema. Pasos a seguir para la creación de certificado personal de usuario. El tipo de certificado que se va a crear a continuación tiene como propósito autenticar usuarios y entre las utilidades que este brinda tenemos: validarnos a un servicio específico que requiera que el usuario sea validado mediante certificado, cifrado y firma digital de correo electrónico, estos son los usos para los que hemos creado los
  10. 10. certificados que tenemos como ejemplo. Para la creación de los certificados digitales para usuario, debemos seguir los siguientes pasos: 1. Ingresamos la siguiente línea de comando indicada en la siguiente imagen y procedemos a digitar los datos solicitados, en este ejemplo el propietario de este certificado será el usuario: ”Benito Barriga”, y será válido por un año. En este paso se crea la clave privada y la petición de firma de certificado. Figura 12: Creación de clave privada y petición de firma de certificado digital de usuario. Tabla 7: Información de parámetros ingresados para la creación de petición de certificado de usuario y su clave privada. Explicación de parámetros ingresados Req Indica que va a gestionar una petición. -new Seguido a req significa nueva petición. -nodes Se ingresa para que al momento de crearse la clave privada esta no sea encriptada. -out benitob-req.pem Se indica el archivo de salida correspondiente a la petición de firma de certificado. -keyout private/benitob-key.pem Se indica el archivo de salida correspondiente a la clave privada del certificado. -days 365 Se indica el período de días durante los que será válido el certificado y su clave privada. -config /root/CA/tesisgad.cnf Se especifica el archivo de configuración que openssl debe usar.
  11. 11. Datos Informativos solicitados: Datos de la organización a la que pertenece el usuario: Como se mencionó anteriormente, se ingresa los datos correspondientes al certificado. En la información proporcionada para este tipo de certificado se ingresó como dato Common Name, “Benito Barriga” en este ejemplo el nombre del usuario con el que se va a identificar a este individuo cuando el servicio requiera autenticación por medio de certificado. 2. En este paso el CA correspondiente procede a firmar la petición y generar el certificado ingresando el comando indicado en la imagen, aquí se visualiza los datos que se ingresó en dicha solicitud, para firmarla debe teclear “y” dos veces. Figura 13: Firma de certificado personal de usuario por parte del CA.
  12. 12. 3. Hasta este instante se creó el certificado y clave privada usuario, ahora cumpliendo el rol de CA vamos a integrar el certificado (clave pública) del CA que firmo el certificado, junto con la clave privada y pública del usuario en un archivo usado para distribución en formato p12. Para realizar esto digitamos en la consola el comando que se observa en la siguiente imagen, además se le debe proporcionar al usuario la contraseña con el que dicho contenedor está protegido [2]. Figura 14: Creación de contenedor en formato distribuible listo para envío al usuario. 4. Para finalizar creamos el archivo de lista de revocación de certificados (CRL), para ello empleamos el siguiente comando: openssl ca -config /root/CA/tesisgad.cnf -gencrl -out /root/CA/crl.pem Nota: El archivo CRL aqui creado es utilizado para informar cuándo se le ha dado de baja a un certificado digital, por esto es necesario la creación de éste. Tabla 8: Información de parámetros ingresados para la creación de archivo lista de revocación de certificados. Explicación de parámetros ingresados Ca -config /root/CA/tesisgad.cnf Se especifica el archivo de configuración que openssl debe usar. -gencrl Se indica que se va a generar el archivo CRL -out /root/CA/crl.pem Se indica el archivo de salida correspondiente a la lista de revocación de certificado. Bibliografía [1] E. V. B. Esteban, “Creación y administración de certificados de seguridad mediante OpenSSL.” [Online]. Available: http://informatica.uv.es/it3guia/AGR/apuntes/teoria/documentos/Certificados.pdf. [Accessed: 31-Jul-2014]. [2] Sandor, “SSL - Certificado firmado por nuestra propia entidad certificadora | PlanetaInopia.” [Online]. Available: http://www.planetainopia.com/2013-10-15/ssl-certificado- firmado-por-nuestra-propia-entidad-certificadora.html. [Accessed: 31-Jul-2014].

×