Como primer caso generamos un nueva clave privada (private key):
openssl genrsa -out domain.com.key 2048
Acto seguido generamos una nueva solicitud (CSR) basándonos en la clave privada que acabamos de crear:
openssl req -new -sha256 -key domain.com.key -out domain.com.csr
Ahora, una vez que disponemos de la clave y la solicitud (archivos .key y .csr respectivamente) necesitaremos ir a la entidad registrante a comprar el Certificado SSL. Nos pedirá que pongamos esos datos (archivos .key y .csr) y nos enviarán el certificado, habitualmente en formato .crt.
Integridad y coherencia entre archivos
Cuando queramos verificar que una clave privada y una solicitud, archivos .key y .csr, son coherentes entre sí, podemos usar el paramétro modulus de openssl de la siguiente forma:
openssl rsa -noout -modulus -in domain.com.key | openssl md5
openssl req -noout -modulus -in domain.com.csr | openssl md5Las cadenas de texto devueltas por ambos comandos deben coincidir. Si no es así, el servidor web no nos dejará usar estos datos y dará un error al recargar.
Finalmente también podemos comprobar que el certificado que nos envía la empresa registrante es coherente con nuestros archivos .key y .csr. Lo haremos de nuevo con el parámetro modulus de openssl:
openssl x509 -noout -modulus -in domain.com.crt | openssl md5