New signer implementation in Go
Find a file
Jan Dittberner de997913cf Implement configuration and CA hierarchy setup
This commit implements a mechanism to load CA configuration dynamically from
JSON files. Missing keys and certificates can be generated in a PKCS#11 HSM
or Smartcard. Certificates are stored as PEM encoded .crt files in the
filesystem.

The default PKCS#11 module (softhsm2) is now loaded from a platform specific
path using go:build comments.
2022-04-16 22:24:32 +02:00
cmd/signer Implement configuration and CA hierarchy setup 2022-04-16 22:24:32 +02:00
openpgp/signing First DDD based signer implementation parts 2021-08-23 20:53:43 +02:00
pkg Implement configuration and CA hierarchy setup 2022-04-16 22:24:32 +02:00
x509 Implement signing test and domain logic 2021-08-24 22:02:14 +02:00
.gitattributes First DDD based signer implementation parts 2021-08-23 20:53:43 +02:00
.gitignore Implement configuration and CA hierarchy setup 2022-04-16 22:24:32 +02:00
.goreleaser.yaml Add goreleaser configuration 2022-04-16 14:43:05 +02:00
go.mod Implement configuration and CA hierarchy setup 2022-04-16 22:24:32 +02:00
go.sum Implement configuration and CA hierarchy setup 2022-04-16 22:24:32 +02:00
README.md Add PKCS#11 test to generate root certificate 2022-04-13 08:32:16 +02:00

Testing with softhsm2

sudo apt install softhsm2 gnutls-bin
umask 077
mkdir -p ~/.config/softhsm2/tokens
echo "directories.tokendir = $HOME/.config/softhsm2/tokens/" > ~/.config/softhsm2/softhsm2.conf
softhsm2-util --init-token --free --label localhsm --so-pin 47110815 --pin 123456
export TOKEN_URL=$(p11tool --list-token-urls | grep localhsm | head -1)
p11tool --login --outfile=rootkey2022.pub --label=rootkey2022 --generate-privkey=ECDSA --curve=secp521r1 $TOKEN_URL
go test -v ./cmd/signer/
openssl x509 -in /tmp/test.pem -noout -text