Skip to main content

Certificate-authority test harness.

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ca_kit-0.2.1.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

ca_kit-0.2.1-py2-none-any.whl (13.3 kB view details)

Uploaded Python 2

File details

Details for the file ca_kit-0.2.1.tar.gz.

File metadata

  • Download URL: ca_kit-0.2.1.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ca_kit-0.2.1.tar.gz
Algorithm Hash digest
SHA256 e534132da8c616a32704a88fac8183d509bc73590351366fda05e64b82afb075
MD5 9d05f19edcf575e190e802bbb000cc93
BLAKE2b-256 f5795e6ff5b9c08540af5bd95b9831ebf72df7e10b68a337a641e4868ed8fc4e

See more details on using hashes here.

File details

Details for the file ca_kit-0.2.1-py2-none-any.whl.

File metadata

File hashes

Hashes for ca_kit-0.2.1-py2-none-any.whl
Algorithm Hash digest
SHA256 cf7ac3e83ebb0035be353c18504b85bb73bae41b5c39626effb209829e247a8d
MD5 62272bcf6ebc25b310633fe1e60dde45
BLAKE2b-256 37cebd87cbafa2360e2d21e8c1c36fb7a87123d8dbf9190a07eb8f48c1fe7452

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page