Herramientas de usuario

Herramientas del sitio


sad:t1:p2

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
sad:t1:p2 [2017/10/26 16:31]
José Manuel Guallar
sad:t1:p2 [2019/01/04 13:18] (actual)
Línea 25: Línea 25:
 Software relacionado con SSL: Software relacionado con SSL:
  
 +**NOTA:** la variable de entorno OPENSSL_CONF tiene que estar apuntando a "​caconfig.cnf" ​
  
 <code bash> <code bash>
 +guallar@debian:/​home/​guallar#​ export ​ OPENSSL_CONF=/​home/​guallar/​myCA/​caconfig.cnf
 +guallar@debian:/​home/​guallar#​ touch caconfig.cnf
 +</​code>​
  
-guallar@debian:​~#​ apt-cache search libssl | grep SSL 
  
-ca-certificates+<code bash> 
 +guallar@debian:/​home/​guallar#​ apt-get install openssl 
 +guallar@debian:/​home/​guallar#​ apt-get install ​ca-certificates 
 +guallar@debian:/​home/​guallar#​ apt-cache search libssl | grep SSL
        
 libssl-dev sirve para desarrollar con ssl libssl-dev sirve para desarrollar con ssl
Línea 65: Línea 71:
  
 <code bash> <code bash>
-guallar@debian:​~# cd && mkdir -p myCA / signedcerts && mkdir myCA / private && cd myCA+guallar@debian:​/​home/​guallar#cd && mkdir -p myCA/​signedcerts && mkdir myCA/​private && cd myCA
 </​code>​ </​code>​
  
Línea 72: Línea 78:
 Dentro de este entorno de trabajo inicial, la significación de los subdirectorios y su contenido es la siguiente: Dentro de este entorno de trabajo inicial, la significación de los subdirectorios y su contenido es la siguiente:
  
-  ~/myCA: contiene el certificado de CA, la base de datos de certificados,​ los certificados generados, las claves y las solicitudes +/​home/​guallar/myCA: contiene el certificado de CA, la base de datos de certificados,​ los certificados generados, las claves y las solicitudes 
-  ~/​myCA/​signedcerts:​ contiene copias de cada certificado firmado +/​home/​guallar/​myCA/​signedcerts:​ contiene copias de cada certificado firmado 
-  ~/​myCA/​private:​ contiene la clave privada+ /​home/​guallar/​myCA/​private:​ contiene la clave privada
   ​   ​
-A continuación,​ creamos una base de datos de certificados inicial en el subdirectorio/ myCA con el siguiente comando:+A continuación,​ creamos una base de datos de certificados inicial en el subdirectorio ​/​home/​guallar/myCA con el siguiente comando:
 <code bash> <code bash>
-guallar@debian:​~# echo '​01'>​ serial && touch index.txt+guallar@debian:​/​home/​guallar/​myCA# echo '​01'>​ serial && touch index.txt
 </​code>​ </​code>​
  
-Creamos el fichero de configuración ​~/​myCA/​caconfig.cnf que a continuación pongo con las opciones por defecto de la CA+Creamos el fichero de configuración ​home/​guallar/​myCA/​caconfig.cnf que a continuación pongo con las opciones por defecto de la CA
 <file text caconfig.cnf>​ <file text caconfig.cnf>​
   # My sample caconfig.cnf file.   # My sample caconfig.cnf file.
Línea 174: Línea 180:
  
 <code bash> <code bash>
-guallar@debian:​~ export ​ OPENSSL_CONF=~/​myCA/​caconfig.cnf+guallar@debian:​/​home/​guallar# export OPENSSL_CONF=/​home/​guallar/​myCA/​caconfig.cnf
 </​code>​ </​code>​
  
-Este comando establece una variable de entorno, OPENSSL_CONF,​ que obliga a la herramienta openssl a buscar un archivo de configuración en una ubicación determinada (en este caso, ~/​myCA/​caconfig.cnf).+Este comando establece una variable de entorno, OPENSSL_CONF,​ que obliga a la herramienta openssl a buscar un archivo de configuración en una ubicación determinada (en este caso, /​home/​guallar/​myCA/​caconfig.cnf).
  
 ===== generar ===== ===== generar =====
Línea 185: Línea 191:
  
 <code bash> <code bash>
-guallar@debian:​~ openssl req -x509 -newkey rsa: 2048 -out cacert.pem -outform PEM-days 1825+guallar@debian:​/​home/​guallar# openssl req -x509 -newkey rsa:2048 -out cacert.pem -outform PEM -days 1825
 </​code>​ </​code>​
  
Línea 209: Línea 215:
  
 <code bash> <code bash>
-  ~/​myCA/​cacert.pem:​ certificado público de CA +guallar@debian:/​home/guallar# ​myCA/​cacert.pem:​ certificado público de CA 
-  ~/​myCA/​private/​cakey.pem:​ clave privada de CA+guallar@debian:/​home/guallar# ​myCA/​private/​cakey.pem:​ clave privada de CA
 </​code>​ </​code>​
  
Línea 228: Línea 234:
 Crear el archivo de configuración del servidor editando Crear el archivo de configuración del servidor editando
        
-   ~/​myCA/​exampleserver.cnf en el editor de texto.+  /​home/​guallar/​myCA/​exampleserver.cnf en el editor de texto.
   ​   ​
  ​Añadir este ejemplo de contenido:  ​Añadir este ejemplo de contenido:
Línea 259: Línea 265:
 Una vez que hayamos editado el archivo adecuadamente,​ lo guardamos como Una vez que hayamos editado el archivo adecuadamente,​ lo guardamos como
 <code bash> ​ <code bash> ​
-  ~/​myCA/​exampleserver.cnf.+ ​guallar@debian:/​home/​guallar# ​/​myCA/​exampleserver.cnf.
 </​code>​ </​code>​
 Y generamos el certificado de servidor y clave con los siguientes comandos: Y generamos el certificado de servidor y clave con los siguientes comandos:
  
 <code bash> <code bash>
-guallar@debian:​~  ​export OPENSSL_CONF=~/​myCA/​exampleserver.cnf+guallar@debian:​/​home/​guallar# export OPENSSL_CONF=/​home/​guallar/​myCA/​exampleserver.cnf
 </​code>​ </​code>​
  
-Este comando establece una variable de entorno OPENSSL_CONF que obliga a la herramienta openssl a buscar un archivo de configuración en una ubicación alternativa (en este caso, ~/​myCA/​exampleserver.cnf).+Este comando establece una variable de entorno OPENSSL_CONF que obliga a la herramienta openssl a buscar un archivo de configuración en una ubicación alternativa (en este caso, /​home/​guallar/​myCA/​exampleserver.cnf).
  
 Ahora generamos el certificado y clave: Ahora generamos el certificado y clave:
  
 <code bash> <code bash>
-guallar@debian:​~  ​openssl req -newkey rsa: 1024 -keyout tempkey.pem -keyform PEM -out tempreq.pem -outform PEM+guallar@debian:​/​home/​guallar openssl req -newkey rsa:1024 -keyout tempkey.pem -keyform PEM -out tempreq.pem -outform PEM
 </​code>​ </​code>​
  
Línea 293: Línea 299:
  
 <code bash> <code bash>
-guallar@debian:​~   export OPENSSL_CONF = / myCA / caconfig.cnf+guallar@debian:​/​home/​guallar# export OPENSSL_CONF=/​home/​guallar/​myCA/​caconfig.cnf
 </​code>​ </​code>​
  
-El comando anterior modifica la variable de entorno OPENSSL_CONF que obliga a la herramienta openssl a buscar un archivo de configuración en una ubicación alternativa (en este caso, / myCA / caconfig.cnf para volver a la configuración de CA).+El comando anterior modifica la variable de entorno OPENSSL_CONF que obliga a la herramienta openssl a buscar un archivo de configuración en una ubicación alternativa (en este caso, /​home/​gualalr/​myCA/​caconfig.cnf para volver a la configuración de CA).
  
  
Línea 302: Línea 308:
  
 <code bash> <code bash>
-guallar@debian:​~ openssl ca -in tempreq.pem -out server_crt.pem+guallar@debian:​/​home/​guallar# openssl ca -in tempreq.pem -out server_crt.pem
 </​code>​ </​code>​
  
Línea 349: Línea 355:
  
 <code bash> <code bash>
-guallar@debian:​~# openssl req -x509 -nodes -days 365 -newkey rsa:​1024 -keyout mycert.pem -out mycert.pem+guallar@debian:​/​home/​guallar# openssl req -x509 -nodes -days 365 -newkey rsa:​1024 -keyout mycert.pem -out mycert.pem
 </​code>​ </​code>​
  
Línea 355: Línea 361:
  
 <code bash> <code bash>
-guallar@debian:​~# openssl pkcs12 -export -out mycert.pfx -en mycert.pem -name "​Certificado para lo que sea"+guallar@debian:​/​home/​guallar# openssl pkcs12 -export -out mycert.pfx -in mycert.pem -name "​Certificado para lo que sea"
 </​code>​ </​code>​
  
Línea 367: Línea 373:
  
 === CREACIÓN DE UN CERTIFICADO PARA QUE SEA FIRMADO POR UNA CA RECONOCIDA EXTERNA === === CREACIÓN DE UN CERTIFICADO PARA QUE SEA FIRMADO POR UNA CA RECONOCIDA EXTERNA ===
 +
 +Generamos el certificado del siguiente modo:
 +Si ya tenemos una clave privada
 +
 +<code bash>
 +guallar@debian:/​home/​guallar#​ openssl req -new -key mykey.pem -out myreq.pem ​
 +</​code>​
 +Si no tenemos clave privada y queremos generar una nueva
 +<code bash>
 +guallar@debian:/​home/​guallar#​ openssl req -new -newkey rsa:1024 -nodes -keyout mykey.pem -out myreq.pem
 +</​code>​
 +Podemos verificar la firma con:
 +<code bash>
 +guallar@debian:/​home/​guallar#​ openssl req -in myreq.pem -noout -verify -key mykey.pem
 +</​code>​
 +Podemos verificar la información contenida en la petición de certificado con:
 +<code bash>
 +guallar@debian:/​home/​guallar#​ openssl req -in myreq.pem -noout -text 
 +</​code>​
 +Se envía a la CA que debe emitir el certificado el contenido del fichero de petición de certificado y debe esperarse a que la CA emita el certificado definitivo firmado por ella
 +
 +=== Incorporación de certificados a la base de datos de certificados del sistema ===
 +
 +Se pueden importar certificados a la base de datos de certificados del sistema
 +
 +Todas las aplicaciones que utilicen esta base de datos, automáticamente confiarán en los certificados que se hallen en ella
 +
 +**Operación manual**
 +
 +Si no está instalado ya:
 +<code bash>
 +guallar@debian:/​home/​guallar# ​ apt-get install ca-certificates
 +</​code>​
 +Copiar el certificado a
 +<code bash>
 +guallar@debian:/​home/​guallar/​myCA#​ cp mycert.pem /​usr/​share/​ca-certificates/​mycert.crt
 +</​code>​
 +
 +Editar el fichero
 +<code bash>
 +guallar@debian:/​home/​guallar#​ /​etc/​ca-certificates.conf
 +</​code>​
 +Añadir después del último comentario el nombre del fichero con el certificado a añadir
 +
 +**Operación guidada**
 +
 +<code bash>
 +guallar@debian:/​home/​guallar#​ dpkg-reconfigure ​ ca-certificates
 +guallar@debian:/​home/​guallar#​ update-ca-certificates
 +</​code>​
  
  
sad/t1/p2.1509035518.txt.gz · Última modificación: 2019/01/04 13:18 (editor externo)