← Cloudflare SSL/TLS / ssl / keyless-ssl / hardware-security-modules
Konfigurace
Než začnete používat token PKCS#11, musíte jej inicializovat soukromým klíčem, kódem PIN a označením tokenu. Postup se liší podle konkrétního hardwarového zařízení, proto se řiďte pokyny od svého dodavatele. Dále budete potřebovat cestu k module, sdílený objektový soubor (.so). Po inicializaci zařízení můžete pomocí následujícího příkazu zjistit označení tokenu:
pkcs11-tool --module <module path> --list-token-slotsBudete si také chtít zkontrolovat popisek privátního klíče, který jste importovali (nebo vygenerovali). Spusťte následující příkaz a vyhledejte Private Key Object:
pkcs11-tool --module <module path> --pin <pin> \
--list-token-slots --login --list-objectsNyní máte všechny informace potřebné k použití tokenu PKCS#11 s Keyless serverem, a to přidáním do private_key_stores sekci v konfiguračním souboru. Páry klíčů, ke kterým má mít Keyless přístup, můžete určit v konfigurační soubor pomocí URI PKCS#11 ↗ formát.
URI PKCS#11
URI PKCS#11 je posloupnost dvojic atribut-hodnota oddělených středníkem, které tvoří jednoúrovňovou komponentu cesty, volitelně následovanou dotazem. Obecný tvar vypadá takto:
pkcs11:path-component[?query-component]Komponenta cesty URI obsahuje atributy, které identifikují zdroj. Komponenta dotazu může obsahovat několik atributů, jež mohou být potřeba k získání zdroje identifikovaného komponentou cesty URI. Atributy v komponentě cesty jsou odděleny ; znak a atributy v části dotazu používají & jako oddělovač. Všechny atributy jsou kódované URL.
Keyless vyžaduje uvedení následujících tří atributů:
- Modul: použijte
module-pathk vyhledání knihovny modulu PKCS#11. - Token: použijte
serial,slot-id, nebotokenk určení tokenu PKCS#11. - Slot: použijte
idneboobjectk určení páru klíčů PKCS#11.
U některých modulů atribut dotazu max-sessions je vyžadován, aby se zabránilo otevření příliš mnoha relací k modulu. Některé další atributy, jako například pin-value, může být v závislosti na situaci nutné. Podrobnosti najdete v dokumentaci k vašemu modulu PKCS#11.
Příklady
Zde je několik příkladů URI PKCS#11 pro klíče uložené na různých modulech:
private_key_stores:
- uri: pkcs11:token=SoftHSM2%20RSA%20Token;id=%03?module-path=/usr/lib64/libsofthsm2.so&pin-value=1234
- uri: pkcs11:token=accelerator;object=thaleskey?module-path=/opt/nfast/toolkits/pkcs11/libcknfast.so
- uri: pkcs11:token=YubiKey%20PIV;id=%00?module-path=/usr/lib64/libykcs11.so&pin-value=123456&max-sessions=1
- uri: pkcs11:token=elab2parN;id=%04?module-path=/usr/lib/libCryptoki2_64.so&pin-value=crypto1Omezení
V současné době lze najednou použít pouze jeden modul PKCS#11, takže pokud máte klíče na více HSM, doporučujeme pomocí p11-glue ke sloučení přístupu prostřednictvím jednoho modulu ↗.