g3/g3mkcert
2026-01-10 21:48:51 +08:00
..
debian update package build files 2026-01-10 21:48:51 +08:00
src update packages 2026-01-02 07:34:16 +08:00
build.rs switch to use SPDX license identifier and update copyright year 2025-05-16 18:30:35 +08:00
Cargo.toml display real used openssl variant name 2025-10-27 22:12:46 +08:00
CHANGELOG g3mkcert: add package files 2023-05-04 17:38:48 +08:00
g3mkcert.spec update package build files 2026-01-10 21:48:51 +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