Using OpenSSL CLI to Check Information from Certificates in PEM Format

  ·   2 min read

In the world of DevOps, managing and verifying SSL/TLS certificates is a crucial task to ensure secure communication between systems. OpenSSL, a robust open-source toolkit, provides a command-line interface (CLI) that allows you to perform various operations on certificates, including checking information from certificates in PEM format. This article will guide you through the process of using OpenSSL CLI to extract and verify information from PEM-encoded certificates.

What is PEM Format?

PEM (Privacy Enhanced Mail) is a base64 encoded format with header and footer lines. It is commonly used for encoding X.509 certificates, private keys, and other cryptographic materials. A typical PEM file looks like this:

-----BEGIN CERTIFICATE-----
MIIDXTCCAkWgAwIBAgIJALa6...
-----END CERTIFICATE-----

Installing OpenSSL

Before diving into the commands, ensure that OpenSSL is installed on your system. Most Unix-based systems come with OpenSSL pre-installed. You can verify the installation by running:

openssl version

If OpenSSL is not installed, you can install it using your package manager. For example, on Ubuntu, you can use:

sudo apt-get update
sudo apt-get install openssl

Checking Certificate Information

1. Viewing Certificate Details

To view the details of a PEM-encoded certificate, use the following command:

openssl x509 -in certificate.pem -text -noout

This command will display detailed information about the certificate, including the subject, issuer, validity period, and extensions.

2. Extracting the Subject

To extract the subject of the certificate, which contains information about the entity the certificate is issued to, use:

openssl x509 -in certificate.pem -noout -subject

3. Extracting the Issuer

To find out who issued the certificate, you can extract the issuer information with:

openssl x509 -in certificate.pem -noout -issuer

4. Checking the Validity Period

To check the validity period of the certificate, which includes the start and end dates, use:

openssl x509 -in certificate.pem -noout -dates

5. Verifying the Certificate Signature

To verify the signature of a certificate against a Certificate Authority (CA) certificate, use:

openssl verify -CAfile ca_certificate.pem certificate.pem

This command will confirm whether the certificate is correctly signed by the CA.

6. Extracting the Public Key

To extract the public key from a certificate, use:

openssl x509 -in certificate.pem -noout -pubkey

This can be useful for verifying signatures or encrypting data.

Conclusion

OpenSSL provides a powerful set of tools for managing and verifying SSL/TLS certificates. By using the OpenSSL CLI, you can easily extract and verify information from PEM-encoded certificates, ensuring that your systems are communicating securely. As a DevOps engineer, mastering these commands will enhance your ability to manage secure communications effectively.

References