g3/g3mkcert
2025-08-18 21:51:46 +08:00
..
debian update package files 2025-08-18 21:51:46 +08:00
src g3mkcert: restore support for ED448 and X448 when possible 2025-06-14 13:38:40 +08:00
build.rs switch to use SPDX license identifier and update copyright year 2025-05-16 18:30:35 +08:00
Cargo.toml bump version for binaries and use workspace level MSRV 2025-08-10 08:56:57 +08:00
CHANGELOG g3mkcert: add package files 2023-05-04 17:38:48 +08:00
g3mkcert.spec update rpm build file 2025-08-17 23:39:22 +08:00
README.md g3: update dev instructions 2025-07-17 15:18:34 +08:00

g3mkcert

A tool to generate certificates, including:

  • root CA
  • intermediate CA
  • TLS server certificate
  • TLS client certificate
  • TLCP server sign certificate
  • TLCP server encrypt certificate
  • TLCP client sign certificate
  • TLCP client encrypt certificate

How to build

Use default installed OpenSSL

cargo build -p g3mkcert

Use latest OpenSSL

cargo build -p g3mkcert --features vendored-openssl

Use Tongsuo

cargo build -p g3mkcert --features vendored-tongsuo

How to use

Generate a root CA certificate

g3mkcert --root --common-name "G3 test ROOT CA" --rsa 2048 --output-cert rootCA.crt --output-key rootCA.key

Generate a TLS certificates

server side:

g3mkcert --tls-server --ec256 --common-name "Example Server" --host www.example.net --ca-cert rootCA.crt --ca-key rootCA.key

client side:

g3mkcert --tls-client --ec256 --common-name "Example Client" --host www.example.net --ca-cert rootCA.crt --ca-key rootCA.key

Generate TLCP certificates

server side:

g3mkcert --tlcp-server-sign --sm2 --common-name "Example Server Sign" --host www.example.net --ca-cert rootCA.crt --ca-key rootCA.key
g3mkcert --tlcp-server-enc --sm2 --common-name "Example Server Enc" --host www.example.net --ca-cert rootCA.crt --ca-key rootCA.key

client side:

g3mkcert --tlcp-client-sign --sm2 --common-name "Example Client Sign" --host www.example.net --ca-cert rootCA.crt --ca-key rootCA.key
g3mkcert --tlcp-client-enc --sm2 --common-name "Example Client Enc" --host www.example.net --ca-cert rootCA.crt --ca-key rootCA.key

Generate a mimic certificate

g3mkcert --mimic input.crt --ca-cert rootCA.crt -ca-key rootCA.key --output-cert mimic.crt --output-key mimic.key