skillfed

certipy

Utility to create and sign CAs and certificates

certipy v0.2.3 375.8K downloads/30d#7,132 on PyPI12
Permissive license BSD 3-Clause License Copyright (c) 2018, Lawrence Livermore National Security, LLC All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted… (full text in the JSON record) Active released

What it is and what it does

Certipy is a Python utility that simplifies the creation and management of certificate authorities and certificates for local or development use. It provides both a command-line interface and a Python API to generate CAs, create and sign certificate-key pairs, manage certificate hierarchies, and build trust bundles. The package maintains a persistent store of all certificates it creates, tracking signing relationships and file locations, and it relies on the cryptography library for the underlying cryptographic operations.

The tool is designed to reduce boilerplate around certificate generation by handling file I/O, permission management, and record-keeping automatically. It exposes methods to create CAs, sign certificates under a parent CA, import external certificates, remove certificates, and generate CA bundles for trust configuration. Records are stored as dictionaries containing metadata (serial number, CA status, parent relationship, signees) and file paths, making it easy to query and manage certificates programmatically.

Use it for:

  • Generate self-signed root CAs and intermediate signing authorities for local testing environments without external PKI infrastructure.
  • Automate certificate creation in integration tests or CI/CD pipelines where temporary certificates are needed for TLS configuration.
  • Build trust bundles and certificate chains for development servers or containerized applications that need to validate client certificates.
  • Manage a small local PKI hierarchy for internal tools, microservices, or lab environments where certificate rotation and signing relationships need tracking.
  • Import and organize externally-issued certificates alongside locally-generated ones in a unified certificate store.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Certipy creates and manages certificate authorities and signed certificates on demand, with command-line and Python API interfaces for generating PKI hierarchies, signing operations, and trust bundle management.

Yes, if you need to generate and manage certificates programmatically for development, testing, or internal tooling. The low install friction, permissive license, and active maintenance make it a practical choice for local PKI tasks. Not recommended for production certificate generation without careful evaluation of security requirements and compliance constraints.

Install

certipy on PyPI

pip

pip install certipy

uv

uv add certipy

poetry

poetry add certipy

Installing certipy

Before you install

Low install friction with a single runtime dependency (cryptography). The package is actively maintained with recent commits and supports modern Python versions (3.7–3.12), though its modest star count and position in the popularity tier suggest limited production adoption.

License in practice

BSD 3-Clause License is permissive and allows commercial use, modification, and distribution with minimal restrictions—suitable for most projects that need to bundle or redistribute the package.

Quickstart

from certipy import Certipy

certipy = Certipy(store_dir='/tmp')
certipy.create_ca('my-ca')
certipy.create_signed_pair('my-cert', 'my-ca')
record = certipy.store.get_record('my-cert')

Verify before relying

  • Whether the package is suitable for production certificate generation or intended primarily for development and testing scenarios.
  • Performance characteristics when managing large numbers of certificates or complex hierarchies.
  • Whether external certificate import and management covers all common certificate formats and encodings.

Package facts

License BSD 3-Clause License Copyright (c) 2018, Lawrence Livermore National Security, LLC All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted… (full text in the JSON record) (permissive)
Python support supports the current Python release (>=3.7)
Install friction low — pure-Python wheel
Runtime dependencies 1 — cryptography
Maintenance actively maintained — 107 days since the last release
Last repo commit
First released
Downloads 375,809/month — #7,132 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: certipy-0.2.3-py3-none-any.whl

Keywords: pki, ssl, tls, certificates

Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Utilities

Tags

certificate authority creationself-signed certificate generationPKI management toolcertificate signing automationlocal CA managementTLS certificate generationcertificate hierarchy management
certificate-managementpkidevelopment-tool

More Utilities packages