create a private key para el servedor (el sitio Web)
es un simple llave RSA
openssl genrsa -des3 -out server.key 2048
Create a CSR (Certificate Signing Request)
es una solicitud de certificado a un entidad CA (Certificate authority)
openssl req -new -key server.key -out server.csr
Borar la Passphrase de la llave
eso permite de no pedir una contraseña al incender el servedor apache
cp server.key server.key.orig
openssl rsa -in server.key.orig -out server.key
Ahora tienes tres opticiones:
mandar la solicitud a un otoridad de certificado (su Registrar generalmente)
o auto firmar su certificado
o declararse como Certificate Autority y firmar su certificado
generalmente los navegadores necesitan una autoridad de certificacion que ellos conoce las dos opciones de firmar si mismo son menos aceptado
autofirmar el Certificado
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
firmar la solicitud con una llave CA
openssl ca -in requests/server.crs -cert ca.crt -keyfile ca.key -out server.crt
Configurar el SSL en su Virtual Hosts apache2
SSLEngine on
SSLCertificateFile path_to_cert/server.crt
SSLCertificateKeyFile path_to_key/server.key
Verificar el certificado
openssl x509 -in server.crt -text
Convertir el certificado para su navegador
openssl pkcs12 -export -clcerts -in garex.CRT -inkey garex.KEY -out garex.P12