apache - instalar - sslcertificatechainfile
¿Cómo puedo convertir un archivo de certificado PFX para utilizarlo con Apache en un servidor Linux? (5)
¿Cómo puedo convertir un archivo de certificado PFX para utilizarlo con Apache en un servidor Linux?
Creé el PFX de los Servicios de Certificado de Windows. El PFX contiene toda la cadena de certificados. (Que es solo una raíz y el certificado principal, no intermedio).
Guíame, sabios.
Además de
openssl pkcs12 -in domain.pfx -clcerts -nokeys -out domain.cer
openssl pkcs12 -in domain.pfx -nocerts -nodes -out domain.key
También genere un certificado de Autoridad de Certificación (CA):
openssl pkcs12 -in domain.pfx -out domain-ca.crt -nodes -nokeys -cacerts
Y lo incluyó en el archivo de configuración de Apache:
<VirtualHost 192.168.0.1:443>
...
SSLEngine on
SSLCertificateFile /path/to/domain.cer
SSLCertificateKeyFile /path/to/domain.key
SSLCACertificateFile /path/to/domain-ca.crt
...
</VirtualHost>
Con OpenSSL puede convertir pfx a formato compatible con Apache con los siguientes comandos:
openssl pkcs12 -in domain.pfx -clcerts -nokeys -out domain.cer
openssl pkcs12 -in domain.pfx -nocerts -nodes -out domain.key
El primer comando extrae la clave pública a domain.cer
.
El segundo comando extrae la clave privada de domain.key
.
Actualice su archivo de configuración de Apache con:
<VirtualHost 192.168.0.1:443>
...
SSLEngine on
SSLCertificateFile /path/to/domain.cer
SSLCertificateKeyFile /path/to/domain.key
...
</VirtualHost>
Para que funcione con Apache, necesitábamos un paso adicional.
openssl pkcs12 -in domain.pfx -clcerts -nokeys -out domain.cer
openssl pkcs12 -in domain.pfx -nocerts -nodes -out domain_encrypted.key
openssl rsa -in domain_encrypted.key -out domain.key
El comando final descifra la clave para usar con Apache. El archivo domain.key debería verse así:
-----BEGIN RSA PRIVATE KEY-----
MjQxODIwNTFaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3
LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxp
YWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEG
A1UEAxMqRW50cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgp
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArU1LqRKGsuqjIAcVFmQq
-----END RSA PRIVATE KEY-----
SSLSHopper tiene algunos artículos bastante completos acerca de cómo moverse entre diferentes servidores.
http://www.sslshopper.com/how-to-move-or-copy-an-ssl-certificate-from-one-server-to-another.html
Simplemente elija el enlace relevante en la parte inferior de esta página.
Nota: tienen un convertidor en línea que les da acceso a su clave privada. Probablemente se pueda confiar en ellos, pero sería mejor usar el comando OPENSSL (que también se muestra en este sitio) para mantener la clave privada privada en su propia máquina.
Tomé algunas herramientas pero esto es con lo que terminé.
Generado e instalado un certificado en IIS7. Exportado como PFX de IIS
Convertir a pkcs12
openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes
NOTA: Al convertir el formato PFX a PEM, openssl colocará todos los certificados y la clave privada en un único archivo. Deberá abrir el archivo en el editor de texto y copiar cada clave privada y de certificado (incluidas las instrucciones BEGIN / END) en su propio archivo de texto individual y guardarlas como certificate.cer, CAcert.cer, privateKey.key, respectivamente.
-----BEGIN PRIVATE KEY-----
Saved as certificate.key
-----END PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
Saved as certificate.crt
-----END CERTIFICATE-----
Agregado a apache vhost w / Webmin.