Fontos

Ez az illesztőprogram még mindig egy korai Proof of Concept megvalósítás, amely csak a TLS-kiszolgálók, például egy HTTPS-kiszolgáló működtetéséhez szükséges funkciókat valósítja meg.

NetHSM elérése a PKCS#11 illesztőprogrammal#

  1. Töltse le a PKCS#11 illesztőprogramot a NetHSM számára.

  2. Módosítsa a p11nethsm.conf konfigurációs fájlt az Ön beállításainak megfelelően (pl. cím, operátor neve), és tárolja a $HOME/.nitrokey, /etc/nitrokey/ vagy az alkalmazás futtatási mappájában.

Titkosítás és visszafejtés#

Miután létrehoztunk egy kulcsot (itt: ID 42) a megfelelő mechanizmussal, használhatjuk azt titkosításra és visszafejtésre, de először létre kell hoznunk a kulcsot:

$ KEYID=42
$ HEXID=$(echo ${KEYID}'\c' | xxd -ps)
$ curl -s -X GET https://nethsmdemo.nitrokey.com/api/v1/keys/$KEYID/public.pem -o public.pem

Most már titkosíthat:

$ echo 'NetHSM rulez!' | openssl pkeyutl -encrypt -pubin -inkey public.pem -pkeyopt rsa_padding_mode:oaep -pkeyopt rsa_oaep_md:sha512 -pkeyopt rsa_mgf1_md:sha512 -out encrypted.data

… És dekódolja:

$ pkcs11-tool --module p11nethsm.so -v --decrypt --mechanism RSA-PKCS-OAEP --input-file encrypted.data --id $HEXID --hash-algorithm SHA512

Aláírás#

Először hozza létre újra a kulcsot:

$ KEYID=23
$ HEXID=$(echo ${KEYID}'\c' | xxd -ps)
$ curl -s -X GET https://nethsmdemo.nitrokey.com/api/v1/keys/$KEYID/public.pem -o public.pem

Miután létrehoztunk egy kulcsot (itt: ID 23) a megfelelő mechanizmussal, használhatjuk aláírásra:

$ echo 'NetHSM rulez!' | pkcs11-tool --module p11nethsm.so -v --sign --mechanism SHA512-RSA-PKCS-PSS --output-file sig.data --id $HEXID
$ echo 'NetHSM rulez!' | openssl dgst -keyform PEM -verify public.pem -sha512 -sigopt rsa_padding_mode:pss -sigopt rsa_pss_saltlen:-1 -signature sig.data