How do I convert a .cer certificate to .pem?
I have a .cer
certificate and I would like to convert it to the .pem
format.
If I remember correctly, I used to be able to convert them by exporting the .cer
in Base64, then renaming the file to .pem
.
How do I convert a .cer
certificate to .pem
?
Convert a DER file (.crt .cer .der) to PEM
openssl x509 -inform der -in certificate.cer -out certificate.pem
Source
convert a .cer file in .pem
open a terminal and run the following command
openssl x509 -inform der -in certificate.cer -outform pem -out certificate.pem
Where certificate.cer is the source certificate file you want to convert and certificate.pem is the name of the converted certificate.
When openssl is not available on your system you could alternatively convert certificates with the java keytool.
However you have to create a java keystore (JKS) first. The certificates can then be imported and exported in different formats.
keytool -genkey -alias test -keystore <key store file>
keytool -delete -alias test -keystore <key store file>
Converting from DER to PEM:
keytool -import -trustcacerts -alias test -file <der certificate file> -keystore test.keystore
keytool -exportcert -alias test -file <pem certificate file> -rfc -keystore test.keystore
This blog post explains how to convert certificate formats in detail
Answer
-
If your certificate is exported with DER encoding, then use the accepted answer:
openssl x509 -inform der -in certificate.cer -out certificate.pem
-
If your certificate is exported with Base64 encoding, then rename the extension
.cer
to.pem
. The file is already in.pem
format.
How to tell that your .cer
file is in .pem
format?
See this stack-o answer, quoted here:
A .pem format certificate will most likely be ASCII-readable. It will have a line
-----BEGIN CERTIFICATE-----
, followed by base64-encoded data, followed by a line-----END CERTIFICATE-----
. There may be other lines before or after.
For example, a .pem
certificate (shortened):
-----BEGIN CERTIFICATE-----
MIIG6DCCBNCgAwIBAgITMgAAGCeh8HZoCVDcnwAAAAAYJzANBgkqhkiG9w0BAQsF
ADBAMRUwEwYKCZImiZPyLGQBGRYFbG9jYWwxEzARBgoJkiaJk/IsZAEZFgNkb3Ix
EjAQBgNVBAMTCURPUi1TVUJDQTAeFw0yMDA1MDExNTI0MTJaFw0yMjA1MDExNTI0
MTJaMBYxFDASBgNVBAMTC3dwZG9yd2VibDE2MIIBIjANBgkqhkiG9w0BAQEFAAOC
...
-----END CERTIFICATE-----