Como já foi dito por @John, isso não é possível. O certificado SSL .crt
contém a chave pública; e na criptografia assimétrica não é possível recuperar a chave privada da chave pública.
Note também que o certificado SSL deve estar publicamente acessível para ser usado; é apresentado pelo servidor web HTTPS para cada cliente que se conecta, então é meio lógico que não se pode usá-lo para derivar a chave privada.
Portanto, o certificate.crt
agora é inútil. Você precisa gerar um novo par de chaves e enviar um CSR à autoridade de certificação para que eles possam enviar um novo certificado a você.
Observe também que:
-
SSLCertificateFile
especifica seu certificado SSL, contendo sua chave pública e assinado pela CA;
-
SSLCertificateKeyFile
especifica sua chave privada associada à sua chave pública;
-
SSLCertificateChainFile
especifica a cadeia de certificados, não é um parâmetro obrigatório e, de fato, foi preterido em versões mais recentes do Apache :
SSLCertificateChainFile
became obsolete with version 2.4.8, when SSLCertificateFile
was extended to also load intermediate CA certificates from the server certificate file.