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 anteriorRevisión previa
Próxima revisión
Revisión previa
sad:t1:p2 [2017/10/26 16:31] José Manuel Guallarsad:t1:p2 [2019/01/04 13:18] (actual) – editor externo 127.0.0.1
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: (editor externo)