Skip to content

Instantly share code, notes, and snippets.

@inti25
Last active October 11, 2019 04:01
Show Gist options
  • Save inti25/9b15364850b5b34fb8b09154c1e71c04 to your computer and use it in GitHub Desktop.
Save inti25/9b15364850b5b34fb8b09154c1e71c04 to your computer and use it in GitHub Desktop.
// convert to pem file
openssl x509 -in cert.der -inform der -outform pem -out cert.pem
openssl rsa -in cert.key -inform der -out certkey.pem -outform pem
//export to p12 format
openssl pkcs12 -export -in cert.pem -inkey certkey.pem -name alias -out cert.p12
openssl pkcs12 -export -out certificate.p12 -inkey privateKey.key -in certificate.crt -certfile CACert.crt
//delete old alias
keytool -delete -alias alias -keystore keystore
keytool -delete -alias intermediate -keystore keystore
//import
keytool -v -importkeystore -srckeystore cert.p12 -srcstoretype PKCS12 -destkeystore keystore -deststoretype JKS
keytool -import -alias intermediate -file intermediate.cer -keystore keystore
------------------------------------------------------------------------------------------------------------------------
Convert x509 to PEM
openssl x509 -in certificatename.cer -outform PEM -out certificatename.pem
Convert PEM to DER
openssl x509 -outform der -in certificatename.pem -out certificatename.der
Convert DER to PEM
openssl x509 -inform der -in certificatename.der -out certificatename.pem
Note: The PKCS#7 or P7B format is stored in Base64 ASCII format and has a file extension of .p7b or .p7c.
A P7B file only contains certificates and chain certificates (Intermediate CAs), not the private key. The most common platforms that support P7B files are Microsoft Windows and Java Tomcat.
Convert PEM to P7B
openssl crl2pkcs7 -nocrl -certfile certificatename.pem -out certificatename.p7b -certfile CACert.cer
Convert PKCS7 to PEM
openssl pkcs7 -print_certs -in certificatename.p7b -out certificatename.pem
Note: The PKCS#12 or PFX format is a binary format for storing the server certificate, intermediate certificates, and the private key in one encryptable file. PFX files usually have extensions such as .pfx and .p12. PFX files are typically used on Windows machines to import and export certificates and private keys.
Convert pfx to PEM
openssl pkcs12 -in certificatename.pfx -out certificatename.pem
Convert PFX to PKCS#8
Note: This requires 2 commands
Step 1: Convert PFX to PEM
openssl pkcs12 -in certificatename.pfx -nocerts -nodes -out certificatename.pem
Step 2: Convert PEM to PKCS8
openSSL pkcs8 -in certificatename.pem -topk8 -nocrypt -out certificatename.pk8
Convert P7B to PFX
Note: This requires 2 commands
Step 1: Convert P7B to CER
openssl pkcs7 -print_certs -in certificatename.p7b -out certificatename.cer
Step 2: Convert CER and Private Key to PFX
openssl pkcs12 -export -in certificatename.cer -inkey privateKey.key -out certificatename.pfx -certfile cacert.cer
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment