User Tools

Site Tools


linux:openssl:generar_ca_y_certificado_autofirmado

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
linux:openssl:generar_ca_y_certificado_autofirmado [2022/02/11 11:12] – ↷ Page moved from openssl:generar_ca_y_certificado_autofirmado to linux:openssl:generar_ca_y_certificado_autofirmado dodgerlinux:openssl:generar_ca_y_certificado_autofirmado [2023/08/31 13:49] dodger
Line 8: Line 8:
 Para generar certificados autofirmados para Apache (o cualquier otro programa que use openssl): Para generar certificados autofirmados para Apache (o cualquier otro programa que use openssl):
  
-<code>+<code bash>
 cd /etc/http/conf cd /etc/http/conf
 mkdir CA mkdir CA
Line 16: Line 16:
 En este punto pedirá un password **obligatorio** para generar la key. Será necesario recordarlo para el futuro y es recomendable incluirlo en el keepass por si acaso en el futuro alguien lo necesita. En este punto pedirá un password **obligatorio** para generar la key. Será necesario recordarlo para el futuro y es recomendable incluirlo en el keepass por si acaso en el futuro alguien lo necesita.
  
-<code>+<code bash>
 openssl req -new -x509 -days 3650 -key ca.key -out ca.crt openssl req -new -x509 -days 3650 -key ca.key -out ca.crt
-openssl genrsa -out `hostname`.key 2048 +openssl genrsa -out $(hostname).key 2048 
-openssl req -new -key `hostname`.key -out `hostname`.csr +openssl req -new -key $(hostname).key -out $(hostname).csr 
-openssl ca -keyfile ca.key -cert ca.crt -out `hostname`.crt -infiles `hostname`.csr+openssl ca -keyfile ca.key -cert ca.crt -out $(hostname).crt -infiles $(hostname).csr
 </code> </code>
 Siempre que nos pida un password, será el del key, **menos** cuando dice **"A challenge password"** que puede ser cualquier cosa, no es significativo. Siempre que nos pida un password, será el del key, **menos** cuando dice **"A challenge password"** que puede ser cualquier cosa, no es significativo.
Line 27: Line 27:
 Luego creamos los directorios: Luego creamos los directorios:
  
-<code>+<code bash>
 mkdir ../ssl.crt/ ../ssl.csr/ ../ssl.key/ mkdir ../ssl.crt/ ../ssl.csr/ ../ssl.key/
-mv `hostname`.crt ../ssl.crt/ +mv $(hostname).crt ../ssl.crt/ 
-mv `hostname`.csr ../ssl.csr/ +mv $(hostname).csr ../ssl.csr/ 
-mv `hostname`.key ../ssl.key/+mv $(hostname).key ../ssl.key/
 </code> </code>
  
 ====== Troubleshoot ====== ====== Troubleshoot ======
 ===== Errores con el demoCA o index.txt ===== ===== Errores con el demoCA o index.txt =====
 +
 +==== quick fix ====
 +
 +<code bash>
 +export SSL_CONFIG="/etc/ssl/openssl.cnf"
 +export SSL_CAPATH="/etc/ssl/CA"
 +
 +sed -i "s,.demoCA,${SSL_CAPATH},g" ${SSL_CONFIG}
 +
 +mkdir -p ${SSL_CAPATH}/{certs,crl,newcerts}
 +touch ${SSL_CAPATH}/index.txt
 +echo "01" > ${SSL_CAPATH}/serial
 +</code>
 +
 +==== long explanation ====
 +
 En determinadas ocasiones no se generan los directorios/ficheros correctamente, de ahí­ errores del tipo: En determinadas ocasiones no se generan los directorios/ficheros correctamente, de ahí­ errores del tipo:
-<code>+<code bash>
 Using configuration from /etc/pki/tls/openssl.cnf Using configuration from /etc/pki/tls/openssl.cnf
 Enter pass phrase for ca.key: Enter pass phrase for ca.key:
Line 46: Line 62:
 </code> </code>
 o o
-<code>+<code bash>
 Using configuration from /etc/pki/tls/openssl.cnf Using configuration from /etc/pki/tls/openssl.cnf
 Enter pass phrase for ca.key: Enter pass phrase for ca.key:
Line 57: Line 73:
  
 Hay que editar el fichero de configuración del openssl, en este caso: Hay que editar el fichero de configuración del openssl, en este caso:
-<code> +<code bash
-vi /etc/pki/tls/openssl.cnf+vim /etc/ssl/openssl.cnf
 </code> </code>
  
 Y cambiar el directorio por defecto, lo habitual es ponerlo en el directorio donde está el **"cnf"**, por ejemplo: Y cambiar el directorio por defecto, lo habitual es ponerlo en el directorio donde está el **"cnf"**, por ejemplo:
-<code>+<code bash>
 [[|CA_default ]] [[|CA_default ]]
  
Line 83: Line 99:
  
 Si **database** y **serial** no existen, **HAY QUE CREARLOS**, se pueden usar los siguientes comandos: Si **database** y **serial** no existen, **HAY QUE CREARLOS**, se pueden usar los siguientes comandos:
-<code>+<code bash>
 mkdir -p /etc/pki/tls/CA/newcerts mkdir -p /etc/pki/tls/CA/newcerts
 touch /etc/pki/tls/CA/index.txt touch /etc/pki/tls/CA/index.txt
Line 94: Line 110:
 ===== The organizationName field needed to be the same in the ===== ===== The organizationName field needed to be the same in the =====
 Añadir: Añadir:
-<code>+<code bash>
 -policy policy_anything -policy policy_anything
 </code> </code>
 A la linea de ejecución en la generación del crt: A la linea de ejecución en la generación del crt:
-<code>+<code bash>
 openssl ca -policy policy_anything -keyfile ca.key -cert ca.crt -out DOMINIO.COM.crt -infiles DOMINIO.COM.csr openssl ca -policy policy_anything -keyfile ca.key -cert ca.crt -out DOMINIO.COM.crt -infiles DOMINIO.COM.csr
 </code> </code>
  
linux/openssl/generar_ca_y_certificado_autofirmado.txt · Last modified: 2023/08/31 15:42 by dodger