Skip to main content

Overview

The purpose of this project is to package the logic needed to:

  • Build a CA certificates

  • Build a regular certificate

  • Sign the regular certificate with the CA certificate

  • Verify that the regular certificate is signed with the CA certificate

I find that I often need to do this, and/or need to do this as part of other projects to prove a design. This project assumes some defaults, and makes it ridiculously easy to establish a CA and build certificates. You can pass parameters to change the name of the output files, and the path that they are written to.

The scripts are comprised of Python logic. So, for those who’d like a quick tutorial on how to do these tasks via Python, they can use this project as a roadmap.

Scripts

This project encapsulates four executable scripts.

Name

Description

ck_create_ca

Create CA keys and certificate

ck_create

Create normal keys

ck_sign

Create a signed certificate using the CA certificate and key

ck_verify_ca

Verify that the signed certificate was issued by the CA

The Python scripts use M2Crypto to manipulate the keys/certificates.

Installation

This project can not be installed. Clone it from the GitHub project, and run the following to install the dependencies:

$ sudo pip install -r requirements.txt

Usage

To specify a directory, use the “-o” parameter. If none is given, you will be prompted to confirm.

  1. Create the CA:

    $ ck_create_ca
    Please confirm output directory []: output

    This generates:

    • ca.crt.pem

    • ca.csr.pem

    • ca.key.pem

    • ca.public.pem

  2. Create the normal keys:

    $ ck_create
    Please confirm output directory []: output

    This generates:

    • normal.csr.pem

    • normal.key.pem

    • normal.public.pem

  3. Sign the request:

    $ ck_sign
    Please confirm output directory []: output

    This generates:

    • normal.crt.pem

  4. Verify that the certificate was signed by our CA:

    $ ck_verify_ca
    Please confirm input directory []: output
    Is valid? True

Release files for ca_kit 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ca_kit 0.2.1
File Size Uploaded
ca_kit-0.2.1.tar.gz 5.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ca_kit 0.2.1
File Interpreter ABI Platform
ca_kit-0.2.1-py2-none-any.whl Python 2 none any Details

Total release size: 18.6 kB

Release files / ca_kit-0.2.1.tar.gz

Download URL ca_kit-0.2.1.tar.gz
Size 5.3 kB
Tags Source
SHA-256 checksum
How to use checksums
e534132da8c616a32704a88fac8183d509bc73590351366fda05e64b82afb075
BLAKE2b-256 checksum
How to use checksums
f5795e6ff5b9c08540af5bd95b9831ebf72df7e10b68a337a641e4868ed8fc4e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / ca_kit-0.2.1-py2-none-any.whl

Download URL ca_kit-0.2.1-py2-none-any.whl
Size 13.3 kB
Tags Python 2
SHA-256 checksum
How to use checksums
cf7ac3e83ebb0035be353c18504b85bb73bae41b5c39626effb209829e247a8d
BLAKE2b-256 checksum
How to use checksums
37cebd87cbafa2360e2d21e8c1c36fb7a87123d8dbf9190a07eb8f48c1fe7452
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page