pqcrypto/pqcrypto-cli

By pqcrypto

Updated 6 months ago

This Docker image supports the creation of Post-Quantum Cryptography PKI for PQCrypto service.

Image
Security
Developer tools
1

1.1K

pqcrypto/pqcrypto-cli repository overview

This Docker image supports the creation of PQC (Post-Quantum Cryptography) private keys and CSR files for the PQCrypto service

Table of Contents

Two options to run PQC supported pqcrypto (PQCrypto CLI) command using Docker image

Option-1. Interactive mode in Docker image

Please reference <Command> below example in Command section

$ docker run -it -v $(pwd):/output --entrypoint /bin/bash pqcrypto/pqcrypto-cli

root@<container-id>:/# <Command below> 
Option-2. Execute commands without entering the container shell (not interactive mode)

Please reference <Command> below example in Command section

$ docker run -v $(pwd):/output pqcrypto/pqcrypto-cli <Command below>

ML-DSA Algorithm

  • mL-DSA-44 (mldsa44)
  • mL-DSA-65 (mldsa65)
  • mL-DSA-87 (mldsa87)

Command

Examples below

CLI version
$ pqcrypto version
PQCrypto CLI 3.6.0 1 Feb 2026
Create Key

Create private key with mL-DSA-65 (mldsa65) PQC algorithm

$ pqcrypto genpkey \
    -algorithm mldsa65 \
    -out /output/mykey.key
Create Key with hexseed
$ pqcrypto rand -hex 32
91ef26a3a3a264d3d956893c46893c340992d801e8abfaf250d1d75fcb54c669

$ pqcrypto genpkey \
    -algorithm mldsa65 \
    -pkeyopt hexseed:91ef26a3a3a264d3d956893c46893c340992d801e8abfaf250d1d75fcb54c669 \
    -out /output/ml-dsa-65.key
Create Key with password

Create private key with mL-DSA-65 (mldsa65) PQC algorithm

$ pqcrypto genpkey \
    -algorithm mldsa65 \
    -aes256 \
    -pass pass:mysecret \
    -out /output/mykey.key
Create Key with hexseed and password
$ pqcrypto rand -hex 32
91ef26a3a3a264d3d956893c46893c340992d801e8abfaf250d1d75fcb54c669

$ pqcrypto genpkey \
    -algorithm mldsa65 \
    -aes256 \
    -pass pass:mysecret \
    -pkeyopt hexseed:91ef26a3a3a264d3d956893c46893c340992d801e8abfaf250d1d75fcb54c669 \
    -out /output/ml-dsa-65.key
Create CSR
$ pqcrypto req \
    -new \
    -key /output/mykey.key \
    -subj '/C=US/ST=California/L=San Jose/O=<Your company name>/OU=IT Department/CN=<your domain or ip address>' \
    -out /output/mykey.csr
Interactive mode to create CSR
$ pqcrypto req -new -key /output/mykey.key 

You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
ountry Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]: ...
Create CSR with password for private key
$ pqcrypto req \
    -new \
    -key /output/mykey.key \
    -passin pass:mysecret \
    -subj '/C=US/ST=California/L=San Jose/O=<Your company name>/OU=IT Department/CN=<your domain or ip address>' \
    -out /output/mykey.csr

Tag summary

Content type

Image

Digest

sha256:583580dc5

Size

45.5 MB

Last updated

6 months ago

docker pull pqcrypto/pqcrypto-cli