Skip to content

Simple script to view a chain of x509 certificates stored in a single PEM file as a tree. It also enables viewing expiry dates and purging expired certificates. It uses openssl under the hood. It builds the tree looking only at Subject and Issuer fields. It does NOT validate the certificate chain.

Notifications You must be signed in to change notification settings

alexjoedt/cert_tree

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 

Repository files navigation

cert_tree

Simple script to view a chain of x509 certificates stored in a single PEM file as a tree. It also enables viewing expiry dates and purging expired certificates.

Note: it builds the tree looking only at Subject and Issuer fields. It does NOT validate the certificate chain.

Usage

cert_tree.py --help 
usage: cert_tree.py [-h] [-p] [-e] [-r] cert_file

View tree of certificates in pem bundle

positional arguments:
  cert_file             the cert file in pem format

optional arguments:
  -h, --help            show this help message and exit
  -p, --position        show position of cert in file
  -e, --expiry          show expiry date
  -r, --remove_expired  remove expired certs and output the good ones to stderr

Examples:

cert_tree.py -p ~/.certs/ca_list.pem  
━ CorpRoot            [1]
    ┣━ ServerCA       [2]
    ┣━ example_cert   [3]
    ┗━ example_2      [8]
━ RootCert            [4]
    ┣━ example_cert3  [5] [EXPIRED on: 2019-06-03 13:26:21]
    ┣━ other          [6]
    ┣━ other1         [7] [EXPIRED on: 2017-06-16 21:12:18]
    ┗━ AnotherOne     [9]
    
cert_tree.py -pr ~/.certs/ca_list.pem 1>/dev/null 2>ca_list_new.pem 

cert_tree.py -pe ca_list_new.pem  
━ CorpRoot           [1] [valid until: 2040-05-05 18:19:20]
    ┣━ ServerCA      [2] [valid until: 2025-05-29 19:51:12]
    ┣━ example_cert  [3] [valid until: 2025-06-15 00:07:55]
    ┗━ example_2     [4] [valid until: 2025-06-04 14:56:07]
━ RootCert           [5] [valid until: 2029-04-28 14:53:22]
    ┣━ other         [6] [valid until: 2022-09-05 21:32:11]
    ┗━ AnotherOne    [7] [valid until: 2023-10-06 15:30:47]
    
cert_tree.py -pe ~/.certs/mycert.pem
━ RootCert                [3] [valid until: 2031-07-08 17:57:15]
    ┗━ IntermediateCert   [2] [valid until: 2023-07-08 18:55:58]
        ┗━ UserCert       [1] [valid until: 2023-09-17 13:33:00]
        
cert_tree.py ~/.certs/myothercert.pem
━ ClientCA (NOT PRESENT IN THIS PEM FILE)
    ┗━ UserCert
━ RootCert
    ┗━ IntermediateCert
━ OtherCert

See also

https://jkolezyn.github.io/cert_tree/

About

Simple script to view a chain of x509 certificates stored in a single PEM file as a tree. It also enables viewing expiry dates and purging expired certificates. It uses openssl under the hood. It builds the tree looking only at Subject and Issuer fields. It does NOT validate the certificate chain.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%