1.6 KiB
1.6 KiB
external-signer-pkcs11
Specification: https://openwebstandard.org/rfc1
Cross compile:
CGO_ENABLED=1 GOOS=linux GOARCH=amd64 CC="zig cc -target x86_64-linux" CXX="zig c++ -target x86_64-linux" go build -o external-signer-pkcs11-linux-x86_64
List private objects:
pkcs11-tool --module /usr/local/lib/libykcs11.dylib --login --list-objects --type privkey
external-signer-pkcs11 external_spec
{
"success": true,
"agent": "external-signer-pkc11/0.1.0",
"specification": "External/1.0.0-alpha",
"commands": [
"external_public_key",
"external_sign"
]
}
external-signer-pkcs11 external_public_key --parameter "ewogICJsaWJyYXJ5IjogIi91c3IvbG9jYWwvbGliL2xpYnlrY3MxMS5keWxpYiIsCiAgInRva2VuX2xhYmVsIjogIll1YmlLZXkgUElWICM1MDEwMjIwIiwKICAicGluIjogIiIsCiAgImtleV9sYWJlbCI6ICJQcml2YXRlIGtleSBmb3IgUElWIEF1dGhlbnRpY2F0aW9uIgp9Cg=="
{
"success": true,
"public_key_base64": "MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE8XMmwYi50M/+3dj/k18k8gdLvvEorFsEucrAXeln312/0GVpjc47jB9FG7mhWTrOEzYLvEnFH1ITd3/Yc5Mu+kR2O/zBx2SxIqiol3vLPgrQmdZS5j2xxaG9oCEgoW3F"
}
external-signer-pkcs11 external_sign --parameter "ewogICJsaWJyYXJ5IjogIi91c3IvbG9jYWwvbGliL2xpYnlrY3MxMS5keWxpYiIsCiAgInRva2VuX2xhYmVsIjogIll1YmlLZXkgUElWICM1MDEwMjIwIiwKICAicGluIjogIiIsCiAgImtleV9sYWJlbCI6ICJQcml2YXRlIGtleSBmb3IgUElWIEF1dGhlbnRpY2F0aW9uIgp9Cg==" --message-base64 "$(echo aaaa |base64)" --alg ES256
{
"success": true,
"signature_base64": "MGUCMHiHNZ8cx5hNZNPQCfBEiX93go5YEr/6zvNXlcpoRP2bvc6Zmn8s6Taq1KhRQc0ChgIxAO3Qqo+XViaDauaGM+TyBF3Y2pJ6ojL/m24ftzyvtaIvG7CnAaao2l2oLyCpyTehJg=="
}