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/31 16:44]
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-get install openssl 
-guallar@debian:​~#​ apt-get install ca-certificates 
  
- +<code bash> 
-guallar@debian:​~# apt-cache search libssl | grep SSL+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 67: 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 74: 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 176: 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 187: 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 211: 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 230: 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 261: 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 295: 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 304: 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 351: 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 357: 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 372: Línea 376:
 Generamos el certificado del siguiente modo: Generamos el certificado del siguiente modo:
 Si ya tenemos una clave privada Si ya tenemos una clave privada
-<code bash> 
-guallar@debian:​~#​ openssl req -new -key mykey.pem -out myreq.pem ​ 
  
 +<code bash>
 +guallar@debian:/​home/​guallar#​ openssl req -new -key mykey.pem -out myreq.pem ​
 </​code>​ </​code>​
 Si no tenemos clave privada y queremos generar una nueva Si no tenemos clave privada y queremos generar una nueva
 <code bash> <code bash>
-guallar@debian:​~# openssl req -new -newkey rsa:1024 -nodes -keyout mykey.pem -out myreq.pem+guallar@debian:​/​home/​guallar# openssl req -new -newkey rsa:1024 -nodes -keyout mykey.pem -out myreq.pem
 </​code>​ </​code>​
 Podemos verificar la firma con: Podemos verificar la firma con:
 <code bash> <code bash>
-guallar@debian:​~# openssl ​ req  –in  myreq.pem ​ -noout ​ -verify ​ -key  mykey.pem+guallar@debian:​/​home/​guallar# openssl req -in myreq.pem -noout -verify -key mykey.pem
 </​code>​ </​code>​
 Podemos verificar la información contenida en la petición de certificado con: Podemos verificar la información contenida en la petición de certificado con:
 <code bash> <code bash>
-guallar@debian:​~# openssl ​ req  -in  myreq.pem ​ -noout ​ -text +guallar@debian:​/​home/​guallar# openssl req -in myreq.pem -noout -text 
 </​code>​ </​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 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
Línea 396: Línea 400:
 Todas las aplicaciones que utilicen esta base de datos, automáticamente confiarán en los certificados que se hallen en ella Todas las aplicaciones que utilicen esta base de datos, automáticamente confiarán en los certificados que se hallen en ella
  
-Operación manual+**Operación manual**
  
 Si no está instalado ya: Si no está instalado ya:
 <code bash> <code bash>
-guallar@debian:​~#  apt-get install ca-certificates+guallar@debian:​/​home/​guallar#  apt-get install ca-certificates 
 +</​code>​
 Copiar el certificado a Copiar el certificado a
 <code bash> <code bash>
-guallar@debian:​~# cp mycert.pem /​usr/​share/​ca-certificates/​mycert.crt+guallar@debian:​/​home/​guallar/​myCA# cp mycert.pem /​usr/​share/​ca-certificates/​mycert.crt
 </​code>​ </​code>​
 +
 Editar el fichero Editar el fichero
 <code bash> <code bash>
-guallar@debian:​~# /​etc/​ca-certificates.conf+guallar@debian:​/​home/​guallar# /​etc/​ca-certificates.conf
 </​code>​ </​code>​
 Añadir después del último comentario el nombre del fichero con el certificado a añadir Añadir después del último comentario el nombre del fichero con el certificado a añadir
 +
 **Operación guidada** **Operación guidada**
 +
 <code bash> <code bash>
-guallar@debian:​~# dpkg-reconfigure ​ ca-certificates +guallar@debian:​/​home/​guallar# dpkg-reconfigure ​ ca-certificates 
-guallar@debian:​~# update-ca-certificates+guallar@debian:​/​home/​guallar# update-ca-certificates
 </​code>​ </​code>​
  
sad/t1/p2.1509468242.txt.gz · Última modificación: 2019/01/04 13:18 (editor externo)