Skip to content

adwise-fiu/PQ-Cryptography-With-Certificate-Validation-Methods

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Trust chain overview

Overview

This tools in this repo can be used to:

  1. pqsetup.sh
    Can be used to install LibOQS and the accompanying OpenSSL fork, typically for research & testing with post-quantum cryptographic algorithms.
  2. mkcerts.sh
    Can be used to quickly create CA infrastructure & accompanying certificates:
    • Root CA
    • Intermediate CA
    • OCSP signing
    • TLS Server
    • TLS Client
      For several different algorithms:
    • RSA
    • ECDSA
    • EdDSA
    • Falcon512
    • Falcon1024
    • Dilithium2
    • Dilithium3
    • Dilithium5
    • SPHINCS+-Haraka
    • SPHINCS+-SHA256
    • SPHINCS+-SHAKE256
  3. openssl.cnf
    Is the accompanying config file for proper execution of #2. You can modify as needed if necessary. Key sections are listed below:
    [RootCA]
    [InterCA]
    [v3_ca]
    [v3_ocsp]
    [v3_server]*
    [v3_client]*
    * - It is particularly important to edit the authorityInfoAccess attribute under these sections, as this defines the OCSP URL for certs signed with these extensions.

Requirements

pqsetup.sh is written only for the Ubuntu operating system, and will likely fail on any other OS. It should be fairly simple to manipulate the script to consider other OSes though, as the restriction is primarily due to the use of the apt package manager for installing packages. There is also a version check at the beginning of the main function that will need to be omitted to facilitate this bypass.

mkcerts.sh should work fine on any Linux OS, provided the variables have been appropriately configured.

Usage

BEFORE running anything, open the script in your editor of choice, look for the below section at the top of the script:

###############################################################################
################################## IMPORTANT ##################################
###############################################################################

This section has parameters that MUST be appropriately set for proper execution. The default values should work fine, but you will likely want to customize certain attributes, such as the certificate subject details, passphrase, etc.

Once you are satisfied with the configuration, simply ./<script name> to run the script

Notes

  • The scripts in this repo may not be executable by default. This is intentional to maybe stop people from just running things without reading first, and is fixable with the standard chmod +x <script name>

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages