75
votes

I already have purchased SSL certificate and i have received certificate and a .pem file as a private key? from the supplier; now i need to convert this .pem key into .key for bitnami Redmine Apache web server in order to make it work.

How do I go about doing this what what program or commands to do this? I am a newbie in terms of using Openssl etc to do this.

Any advice would be much appreciated!

Thank you.

6
although it only partially solves your problem, you might be able to tune these commands to get the right output format, see stackoverflow.com/questions/991758/… and stackoverflow.com/questions/13732826/convert-pem-to-crt-and-keyx29a
you can also check this site: sslshopper.com/ssl-converter.htmlauthcate

6 Answers

84
votes

I assume you want the DER encoded version of your PEM private key.

openssl rsa -outform der -in private.pem -out private.key
32
votes

openssl rsa -in privkey.pem -out private.key does the job.

25
votes
openssl x509 -outform der -in your-cert.pem -out your-cert.crt
9
votes

CA's don't ask for your private keys! They only asks for CSR to issue a certificate for you.

If they have your private key, it's possible that your SSL certificate will be compromised and end up being revoked.

Your .key file is generated during CSR generation and, most probably, it's somewhere on your PC where you generated the CSR.

That's why private key is called "Private" - because nobody can have that file except you.

3
votes

If you're looking for a file to use in httpd-ssl.conf as a value for SSLCertificateKeyFile, a PEM file should work just fine.

See this SO question/answer for more details on the SSL options in that file.

Why is SSLCertificateKeyFile needed for Apache?

0
votes

just as a .crt file is in .pem format, a .key file is also stored in .pem format. Assuming that the cert is the only thing in the .crt file (there may be root certs in there), you can just change the name to .pem. The same goes for a .key file. Which means of course that you can rename the .pem file to .key.

Which makes gtrig's answer the correct one. I just thought I'd explain why.