DEV Community

Judy Page
Judy Page

Posted on

1

How to Convert CRT to PEM Format Using OpenSSL Tool

Convert CRT to PEM Format Using OpenSSL: Step-by-Step Guide

Image description
Are you struggling to convert your CRT certificate to PEM format? then you're not alone. Do you know many website owners, IT administrators, and developers face challenges when they are dealing with SSL certificates, especially when different servers and applications require specific formats.

In this guide, we'll show you how to use the OpenSSL tool to quickly and correctly convert a CRT file to PEM (Privacy-Enhanced Mail) format.

Whether you are managing multiple certificates or just need a one-time conversion, this step-by-step process will help you avoid errors and maintain compatibility with your system.

First, you need to know what is the CRT and PEM file formats.

Overview of CRT and PEM File Formats

When setting up SSL/TLS certificates, it’s important to understand the different file types used. Two common types are CRT and PEM.

These file types hold SSL certificates and related security information. They help make sure that information sent between a website and a user is secure and trusted.

What is a CRT file?

A CRT file is a digital certificate issued by a Certificate Authority (CA) to verify the authenticity of a website or organization. It helps establish secure connections and is commonly used in SSL encryption for HTTPS communication.

CRT files can be in binary DER or Base64-encoded PEM format and are typically installed on web servers.

What is a PEM file?

A PEM file (Privacy-Enhanced Mail) is a standard format for storing and transmitting SSL/TLS certificates, private keys, and CA bundles. It is Base64-encoded and contains certificates enclosed between -----BEGIN CERTIFICATE----- and -----END CERTIFICATE----- markers.

What are the Prerequisites for Conversion

Before converting a CRT file to PEM, you have to follow the below three things:

  1. - OpenSSL is installed on your system.
  2. - The certificate file (CRT) is accessible.
  3. - If required, the private key and CA bundle files are available.

To check if OpenSSL is installed, run the following command:

openssl version

If OpenSSL is not installed, download and install it from OpenSSL’s official website.

Steps to Convert CRT to PEM Using OpenSSL

Sometimes, SSL certificates need to be in different formats for different systems. CRT files are commonly used, but PEM format is often required for broader compatibility.

OpenSSL makes it easy to convert your CRT file into PEM format, as shown in the following steps.

Step 1: Basic Conversion Command

To convert a CRT file to PEM format, open a terminal or command prompt and run:

openssl x509 -in certificate.crt -out certificate.pem -outform PEM

Explanation of the command:

  • openssl x509 – Calls OpenSSL to process an X.509 certificate.
  • -in certificate.crt – Specifies the input CRT file.
  • -out certificate.pem – Defines the output PEM file.
  • -outform PEM – Make sure the output format is PEM.

Step 2: Converting CRT with Private Key

If your private key is stored separately, you may need to combine it with the certificate:

cat certificate.crt privatekey.key > certificate.pem

This merges the certificate and private key into a single PEM file.

Step 3: Converting a CRT with Full Certificate Chain

For complete SSL chain compatibility, merge the certificate, private key, and CA bundle:

cat certificate.crt privatekey.key ca_bundle.crt > fullcertificate.pem

This confirms the certificate works with browsers and servers that require the full chain.

Step 4: Verifying the Converted PEM File

To confirm that the PEM file is correctly formatted, use:

openssl x509 -in certificate.pem -text -noout

This command displays the certificate details without modifying the file.

Common Errors and Troubleshooting

Error -1 : "Unable to load certificate"

Solution: Make sure the correct file path is specified and the file is not corrupted.

Error -2 :File format mismatches

If a file is not in the expected format, OpenSSL may fail to process it. Use:

file certificate.crt

This will display the file type. If needed, convert it to the correct format before proceeding.

You can also refer this article DER to PEM, CER to PEM, and CER to PFX for more format changes.

Conclusion

Converting a CRT file to PEM format is a straightforward process using OpenSSL. This conversion is often necessary for different server environments and security configurations.

By following the steps outlined above, you can achieve a smooth transition between certificate formats, enabling secure communication and proper SSL implementation.

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs