Tähtis
See draiver on veel varajane Proof of Concept’i rakendus, mis rakendab ainult TLS-serverite, näiteks HTTPS-serveri käitamiseks vajalikke funktsioone.
Juurdepääs NetHSMile PKCS#11 draiveri abil#
Laadige alla PKCS#11 draiver NetHSM-i jaoks.
Muutke konfiguratsioonifaili p11nethsm.conf vastavalt oma seadistusele (nt aadress, operaatori nimi) ja salvestage see $HOME/.nitrokey, /etc/nitrokey/ või kausta, kus teie rakendus käivitatakse.
Krüpteerimine &; dekrüpteerimine#
Pärast võtme (siin: ID 42) loomist vastava mehhanismiga saate seda kasutada krüpteerimiseks ja dekrüpteerimiseks, kuid kõigepealt peate looma võtme:
$ 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
Nüüd saate krüpteerida:
$ 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
… Ja dekrüpteerida:
$ pkcs11-tool --module p11nethsm.so -v --decrypt --mechanism RSA-PKCS-OAEP --input-file encrypted.data --id $HEXID --hash-algorithm SHA512
Allkirjastamine#
Looge kõigepealt uuesti võti:
$ 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
Pärast võtme (siin: ID 23) loomist vastava mehhanismiga saate seda kasutada allkirjastamiseks:
$ 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