Hej eleg-projekt-listan!
När det gäller hur man som användare kan använda OpenPGP-kort (kan vara i form av yubikey eller annat) för sin privata nyckel, finns ju två delar:
(1) Skapa certificate signing request (CSR) som sedan ges till utfärdaren.
(2) Använda det personliga certifikatet, när man väl fått det från utfärdaren.
När det gäller (1) går det att använda kommandot gpgsm på följande sätt:
gpgsm --armor --output mycsr.pem --gen-key
vilket då skapar filen mycsr.pem kopplad till den privata nyckeln man har i sitt OpenPGP-kort. ( se https://security.stackexchange.com/questions/82284/create-certificate-withou... )
Det är ett sätt att lösa (1) alltså, frågan är sen hur man kan göra (2).
I det enklare fallet när man har sin privata nyckel på fil, då kan man ju använda curl med --cert och --key såhär, som nämnts i tidigare mejl här på listan:
curl --cert my_eid.crt.pem --key my_eid.key.pem https://example.org
Men när den privata nyckeln är i ett OpenPGP-kort går det ju inte, då fungerar förstås inte "--key my_eid.key.pem" (eftersom någon sån privat-nyckel-fil inte finns) utan man behöver göra på något annat sätt.
"man curl" säger bland annat följande:
-----
--key <key> (TLS SSH) Private key file name. Allows you to provide your private key in this separate file. For SSH, if not specified, curl tries the following candidates in or‐ der: '~/.ssh/id_rsa', '~/.ssh/id_dsa', './id_rsa', './id_dsa'.
If curl is built against OpenSSL library, and the engine pkcs11 is available, then a PKCS#11 URI (RFC 7512) can be used to specify a private key located in a PKCS#11 device. A string beginning with "pkcs11:" is interpreted as a PKCS#11 URI. If a PKCS#11 URI is provided, then the --engine option is set as "pkcs11" if none was pro‐ vided and the --key-type option is set as "ENG" if none was provided.
-----
Det där med "specify a private key located in a PKCS#11 device" kanske är relevant. Ett nästa steg kan vara att läsa på mer om hur det fungerar.
Den som har erfarenhet av såna saker, som att använda gpg eller openssl med pkcs11 eller liknande, eller känner till andra bättre sätt att göra det här, får mycket gärna hjälpa till!
/ Elias