A continuación se detallan los pasos de creación de CA raíz: -
$ cd /media/$USER/safe_storage
$ mkdir -p example.net.ca/root-ca/{certreqs,certs,crl,newcerts,private}
$ cd example.net.ca/root-ca
$ chmod 700 private
$ touch root-ca.index
$ echo 00 > root-ca.crlnum
$ openssl rand -hex 16 > root-ca.serial
$ export OPENSSL_CONF=./root-ca.cnf
$ openssl req -new -out root-ca.req.pem
$ chmod 400 private/root-ca.key.pem
Generar CSR a partir de clave existente
$ openssl req -new \
-key private/root-ca.key.pem \
-out root-ca.req.pem
Enter pass phrase for private/root-ca.key.pem: ********
Autofirmante del certificado raíz
$ openssl rand -hex 16 > root-ca.serial
$ openssl ca -selfsign \
-in root-ca.req.pem \
-out root-ca.cert.pem \
-extensions root-ca_ext \
-startdate 'date +%y%m%d000000Z -u -d -1day' \
-enddate 'date +%y%m%d000000Z -u -d +10years+1day'
Puede verificar si se reconocerá como válido:
$ openssl verify -verbose -CAfile root-ca.cert.pem \
root-ca.cert.pem
root-ca.cert.pem: OK
Los siguientes son los pasos de configuración del servidor: -
Generación de par de llaves de servidor: -
$ openssl genrsa -out s_priv.key 2048
$ openssl rsa -pubout -in s_priv.key -out s_pub.key
Generación de CSR basada en la clave privada del servidor
$ openssl req -config csr.conf -out codesigning.csr -key s_priv.key -new
cree un certificado de servidor firmado de raíz-ca utilizando la clave privada de RootCA y el CSR del servidor:
$ openssl ca -config root-ca.cnf -policy signing_policy -extensions signing_req -out servercert.pem -infiles codesigning.csr
El objetivo principal detrás de esto es entender los conceptos, estoy recibiendo un error al firmar el certificado del servidor con root-ca. Error al cargar la sección de extensión sign_req
por favor ayuda para revisar los pasos.