Los dos archivos que necesita son un certificado SSL codificado en PEM y una clave privada. Los certificados y claves codificados en PEM son texto codificado en Base64 con delimitadores de inicio / fin que se parecen -----BEGIN RSA PRIVATE KEY-----
o similares.
Para crear un certificado SSL, primero debe generar una clave privada y una solicitud de firma de certificado, o CSR (que también contiene su clave pública). Puede hacerlo de varias formas, pero así es como se hace en OpenSSL.
openssl req -newkey rsa:2048 -new -nodes -keyout key.pem -out csr.pem
Esto hará que ingrese un mensaje interactivo para generar una clave privada RSA de 2048 bits y un CSR que tenga toda la información que elija ingresar en los mensajes. ( Nota: Common Name es donde querrá poner el nombre de dominio que usará para acceder a su sitio ) . Una vez que haya hecho esto, normalmente enviará esta CSR a una autoridad certificadora de confianza y una vez que hayan validado su solicitud recibirá un certificado.
Si no le importa que su certificado sea confiable (generalmente el caso para fines de desarrollo), puede simplemente crear un certificado autofirmado. Para hacer esto, podemos usar casi la misma línea, pero pasaremos dos parámetros adicionales.
openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem
Esto le dará un certificado (válido por 10 años) y un par de claves que puede usar en el fragmento de código que publicó.
Simplemente siga este procedimiento:
cree la carpeta donde desea almacenar su clave y certificado:
mkdir conf
ve a ese directorio:
cd conf
tome este
ca.cnf
archivo para usarlo como acceso directo de configuración:wget https://raw.githubusercontent.com/anders94/https-authorized-clients/master/keys/ca.cnf
cree una nueva autoridad de certificación usando esta configuración:
openssl req -new -x509 -days 9999 -config ca.cnf -keyout ca-key.pem -out ca-cert.pem
ahora que tenemos nuestra autoridad de certificación en
ca-key.pem
yca-cert.pem
, generemos una clave privada para el servidor:openssl genrsa -out key.pem 4096
tome este
server.cnf
archivo para usarlo como acceso directo de configuración:wget https://raw.githubusercontent.com/anders94/https-authorized-clients/master/keys/server.cnf
genere la solicitud de firma de certificado usando esta configuración:
openssl req -new -config server.cnf -key key.pem -out csr.pem
firmar la solicitud:
openssl x509 -req -extfile server.cnf -days 999 -passin "pass:password" -in csr.pem -CA ca-cert.pem -CAkey ca-key.pem -CAcreateserial -out cert.pem
Encontré este procedimiento aquí , junto con más información sobre cómo usar estos certificados.
fuente