# external-signer-pkcs11 > Specification: https://openwebstandard.org/rfc1 Cross compile: ```shell 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 ``` ```shell external-signer-pkcs11 external_spec ``` ```json { "success": true, "agent": "external-signer-pkc11/0.1.0", "specification": "External/1.0.0-alpha" } ``` ```shell external-signer-pkcs11 external_public_key --parameter "ewogICJsaWJyYXJ5IjogIi91c3IvbG9jYWwvbGliL2xpYnlrY3MxMS5keWxpYiIsCiAgInRva2VuX2xhYmVsIjogIll1YmlLZXkgUElWICM1MDEwMjIwIiwKIC AicGluIjogIiIsCiAgImtleV9sYWJlbCI6ICJQcml2YXRlIGtleSBmb3IgUElWIEF1dGhlbnRpY2F0aW9uIgp9Cg==" ``` ```json { "success": true, "public_key_base64": "MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE8XMmwYi50M/+3dj/k18k8gdLvvEorFsEucrAXeln312/0GVpjc47jB9FG7mhWTrOEzYLvEnFH1ITd3/Yc5Mu+kR2O/zBx2SxIqiol3vLPgrQmdZS5j2xxaG9oCEgoW3F" } ``` ```shell external-signer-pkcs11 external_sign --parameter "ewogICJsaWJyYXJ5IjogIi91c3IvbG9jYWwvbGliL2xpYnlrY3MxMS5keWxpYiIsCiAgInRva2VuX2xhYmVsIjogIll1YmlLZXkgUElWICM1MD EwMjIwIiwKICAicGluIjogIiIsCiAgImtleV9sYWJlbCI6ICJQcml2YXRlIGtleSBmb3IgUElWIEF1dGhlbnRpY2F0aW9uIgp9Cg==" --message-base64 "$(echo aaaa |base64)" --alg ES256 ``` ```json { "success": true, "signature_base64": "MGUCMHiHNZ8cx5hNZNPQCfBEiX93go5YEr/6zvNXlcpoRP2bvc6Zmn8s6Taq1KhRQc0ChgIxAO3Qqo+XViaDauaGM+TyBF3Y2pJ6ojL/m24ftzyvtaIvG7CnAaao2l2oLyCpyTehJg==" } ```