Operacija#
Šiame skyriuje aprašomos naudotojų, turinčių Administrator ir Operator vaidmenis, veiklos užduotys. Daugiau informacijos apie vaidmenį rasite skyriuje Vaidmenys.
Svarbu
Prieš pradėdami darbą būtinai perskaitykite šio dokumento pradžioje pateiktą informaciją.
Raktų valdymas#
Generuoti raktą#
NetHSM gali generuoti raktų poras. Rekomenduojama nurodyti parinktį Key ID (rakto ID), kad suteiktumėte jam išraiškingą pavadinimą.
Palaikomi šie raktų tipai ir juos atitinkantys mechanizmai.
Rakto tipas |
Mechanizmai |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Keys are assigned to the Namespace of the user that generates the key.
Raktą galima sugeneruoti taip.
Reikalingas vaidmuo
Šiai operacijai atlikti reikia autentiškumo patvirtinimo su Administrator vaidmeniu.
Reikalingos parinktys
Galimybė |
Aprašymas |
---|---|
|
Sugeneruoto rakto tipas. Galimas |
|
Sugeneruoto rakto mechanizmai. Galimas |
|
Sugeneruoto rakto ilgis |
Vienkartinės parinktys
Galimybė |
Aprašymas |
---|---|
|
Sugeneruoto rakto ID |
Pavyzdys
$ nitropy nethsm --host $NETHSM_HOST generate-key --type RSA --mechanism RSA_Signature_PSS_SHA256 --mechanism RSA_Decryption_PKCS1 --length 2048 --key-id myFirstKey
Key myFirstKey generated on NetHSM localhost:8443
Informacijos apie /keys/generate galinį tašką galima rasti API dokumentacijoje.
Importo raktas#
NetHSM gali importuoti esamus privačius raktus į raktų saugyklą.
Palaikomi šie raktų tipai ir juos atitinkantys mechanizmai.
Rakto tipas |
Mechanizmai |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Keys are assigned to the Namespace of the user that imports the key.
Importuokite privatų raktą iš PEM failo į NetHSM taip.
Reikalingas vaidmuo
Šiai operacijai atlikti reikia autentiškumo patvirtinimo su Administrator vaidmeniu.
Argumentai
Argumentas |
Aprašymas |
---|---|
|
Private key file in PEM format |
Vienkartinės parinktys
Galimybė |
Aprašymas |
---|---|
|
Sugeneruoto rakto mechanizmai. Galimas |
|
Naujojo rakto ID |
|
Naujo rakto žymė |
Pavyzdys
$ nitropy nethsm --host $NETHSM_HOST import-key \
--mechanism RSA_Signature_PSS_SHA256 \
--mechanism RSA_Decryption_PKCS1 \
--key-id myFirstKey \
mykey.pem
Key myFirstKey added to NetHSM localhost:8443
Informacijos apie /keys galinį tašką galima rasti API dokumentacijoje.
Private keys in raw format can be imported as follows.
Reikalingas vaidmuo
Šiai operacijai atlikti reikia autentiškumo patvirtinimo su Administrator vaidmeniu.
Reikalingos parinktys
Galimybė |
Aprašymas |
---|---|
|
Sugeneruoto rakto tipas. Galimas |
|
Sugeneruoto rakto mechanizmai. Galimas |
|
RSA raktų pirminis skaičius p, užkoduotas bazine 64 koduote |
|
RSA raktų pirminis q, užkoduotas baziniu64 kodu |
|
RSA raktų viešasis eksponentas, užkoduotas base64 kodu |
|
ED25519 arba ECDSA_* raktų raktų duomenys, užkoduoti base64 kodu. |
Vienkartinės parinktys
Galimybė |
Aprašymas |
---|---|
|
Naujojo rakto ID |
|
Naujo rakto žymė |
Pavyzdys
$ nitropy nethsm --host $NETHSM_HOST add-key \
--type RSA \
--mechanism RSA_Signature_PSS_SHA256 \
--mechanism RSA_Decryption_PKCS1 \
--key-id myFirstKey \
--public-exponent AQAB \
--prime-p "AOnWFZ+JrI/xOXJU04uYCZOiPVUWd6CSbVseEYrYQYxc7dVroePshz29tc+VEOUP5T0O8lXMEkjFAwjW6C9QTAsPyl6jwyOQluMRIkdN4/7BAg3HAMuGd7VmkGyYrnZWW54sLWp1JD6XJG33kF+9OSar9ETPoVyBgK5punfiUFEL" \
--prime-q "ANT1kWDdP9hZoFKT49dwdM/S+3ZDnxQa7kZk9p+JKU5RaU9e8pS2GOJljHwkES1FH6CUGeIaUi81tRKe2XZhe/163sEyMcxkaaRbBbTc1v6ZDKILFKKt4eX7LAQfhL/iFlgi6pcyUM8QDrm1QeFgGz11ChM0JuQw1WwkX06lg8iv"
Key myFirstKey added to NetHSM localhost:8443
Informacijos apie /keys galinį tašką galima rasti API dokumentacijoje.
Ištrinti klavišą#
The NetHSM can delete keys from the Key Store. Users can only delete keys in their Namespace.
Reikalingas vaidmuo
Šiai operacijai atlikti reikia autentiškumo patvirtinimo su Administrator vaidmeniu.
Argumentai
Argumentas |
Aprašymas |
---|---|
|
Trinamo rakto ID |
Pavyzdys
$ nitropy nethsm --host $NETHSM_HOST delete-key myFirstKey
Key myFirstKey deleted on NetHSM localhost:8443
Informacijos apie /keys/{KeyID} galinį tašką rasite API dokumentacijoje.
Sąrašo raktai#
The NetHSM can list all keys in the Key Store that are in the Namespace of the current user.
Sąrašą galima gauti taip.
Reikalingas vaidmuo
Šiai operacijai atlikti reikalingas Administrator arba Operator vaidmens autentiškumo patvirtinimas.
Vienkartinės parinktys
Galimybė |
Aprašymas |
---|---|
|
Ieškoma žyma |
Pavyzdys
$ nitropy nethsm --host $NETHSM_HOST list-keys
Keys on NetHSM localhost:8443:
Key ID Type Mechanisms Operations Tags
----------- ---- ---------------------------------------------- ---------- ----
myFirstKey RSA RSA_Decryption_PKCS1, RSA_Signature_PSS_SHA256 0
Informacijos apie /keys galinį tašką galima rasti API dokumentacijoje.
Rodyti informaciją apie raktą#
The NetHSM can output more detailed information about a stored key. Users can only access keys in their Namespace.
Išsamią informaciją galima gauti taip.
Reikalingas vaidmuo
Šiai operacijai atlikti reikalingas Administrator arba Operator vaidmens autentiškumo patvirtinimas.
Pavyzdys
$ nitropy nethsm --host $NETHSM_HOST get-key myFirstKey
Key myFirstKey on NetHSM localhost:8443:
Type: RSA
Mechanisms: RSA_Decryption_RAW
Operations: 0
Modulus: r62XHPWMDdEf2I1WEpSxGowY/fQF8lMPtv3EUQJE/PLWBvehF8G0QY3AVVZ3etlQWiKreOuGDx4Nr2PFNYAu5f+JP2Jc1lsFNOYF8D82RF41MBySbQR+k+44N/04B0ahTBCxX+ovFH7Sd6SzvxMPa7EKvhaOsLbgyrPlFZxQnhIEqJRCSo5DRRD+CRCPpGXsVXgFbJrNilh21i8OZCct4nC2OS191MeDKmCH4tjrfLMwOKJE8zKlwhdtA1uMY49+JuaC48GUFsLYwbLp1723Uv1PjZjC5jbUhScD0u9I+iNrqznAeka4dWsJ9jgA+h6hblSgCs0I3MWOsMXx/Y5PGQ==
Public exponent: AQAB
Informacijos apie /keys/{KeyID} galinį tašką rasite API dokumentacijoje.
Viešąjį rakto raktą galima gauti taip. Jis pateikiamas PKCS#8 formatu.
Reikalingas vaidmuo
Šiai operacijai atlikti reikalingas Administrator arba Operator vaidmens autentiškumo patvirtinimas.
Pavyzdys
$ nitropy nethsm --host $NETHSM_HOST get-key myFirstKey --public-key
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr62XHPWMDdEf2I1WEpSx
GowY/fQF8lMPtv3EUQJE/PLWBvehF8G0QY3AVVZ3etlQWiKreOuGDx4Nr2PFNYAu
5f+JP2Jc1lsFNOYF8D82RF41MBySbQR+k+44N/04B0ahTBCxX+ovFH7Sd6SzvxMP
a7EKvhaOsLbgyrPlFZxQnhIEqJRCSo5DRRD+CRCPpGXsVXgFbJrNilh21i8OZCct
4nC2OS191MeDKmCH4tjrfLMwOKJE8zKlwhdtA1uMY49+JuaC48GUFsLYwbLp1723
Uv1PjZjC5jbUhScD0u9I+iNrqznAeka4dWsJ9jgA+h6hblSgCs0I3MWOsMXx/Y5P
GQIDAQAB
-----END PUBLIC KEY-----
Informacijos apie /keys/{KeyID}/public.pem galinį tašką galima rasti API dokumentacijoje.
Viešąjį raktą galima patikrinti, pavyzdžiui, naudojant „OpenSSL“ taip.
Reikalingas vaidmuo
Šiai operacijai atlikti reikalingas Administrator arba Operator vaidmens autentiškumo patvirtinimas.
Pavyzdys
nitropy nethsm --host= $NETHSM_HOST get-key myFirstKey --public-key | openssl rsa -pubin -text
Public-Key: (2048 bit)
Modulus:
00:af:ad:97:1c:f5:8c:0d:d1:1f:d8:8d:56:12:94:
b1:1a:8c:18:fd:f4:05:f2:53:0f:b6:fd:c4:51:02:
44:fc:f2:d6:06:f7:a1:17:c1:b4:41:8d:c0:55:56:
77:7a:d9:50:5a:22:ab:78:eb:86:0f:1e:0d:af:63:
c5:35:80:2e:e5:ff:89:3f:62:5c:d6:5b:05:34:e6:
05:f0:3f:36:44:5e:35:30:1c:92:6d:04:7e:93:ee:
38:37:fd:38:07:46:a1:4c:10:b1:5f:ea:2f:14:7e:
d2:77:a4:b3:bf:13:0f:6b:b1:0a:be:16:8e:b0:b6:
e0:ca:b3:e5:15:9c:50:9e:12:04:a8:94:42:4a:8e:
43:45:10:fe:09:10:8f:a4:65:ec:55:78:05:6c:9a:
cd:8a:58:76:d6:2f:0e:64:27:2d:e2:70:b6:39:2d:
7d:d4:c7:83:2a:60:87:e2:d8:eb:7c:b3:30:38:a2:
44:f3:32:a5:c2:17:6d:03:5b:8c:63:8f:7e:26:e6:
82:e3:c1:94:16:c2:d8:c1:b2:e9:d7:bd:b7:52:fd:
4f:8d:98:c2:e6:36:d4:85:27:03:d2:ef:48:fa:23:
6b:ab:39:c0:7a:46:b8:75:6b:09:f6:38:00:fa:1e:
a1:6e:54:a0:0a:cd:08:dc:c5:8e:b0:c5:f1:fd:8e:
4f:19
Exponent: 65537 (0x10001)
writing RSA key
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr62XHPWMDdEf2I1WEpSx
GowY/fQF8lMPtv3EUQJE/PLWBvehF8G0QY3AVVZ3etlQWiKreOuGDx4Nr2PFNYAu
5f+JP2Jc1lsFNOYF8D82RF41MBySbQR+k+44N/04B0ahTBCxX+ovFH7Sd6SzvxMP
a7EKvhaOsLbgyrPlFZxQnhIEqJRCSo5DRRD+CRCPpGXsVXgFbJrNilh21i8OZCct
4nC2OS191MeDKmCH4tjrfLMwOKJE8zKlwhdtA1uMY49+JuaC48GUFsLYwbLp1723
Uv1PjZjC5jbUhScD0u9I+iNrqznAeka4dWsJ9jgA+h6hblSgCs0I3MWOsMXx/Y5P
GQIDAQAB
-----END PUBLIC KEY-----
Informacijos apie /keys/{KeyID}/public.pem galinį tašką galima rasti API dokumentacijoje.
Pagrindiniai sertifikatai#
Galima nustatyti ir užklausti NetHSM saugomų raktų sertifikatus.
Palaikomi šie MIME tipai.
application/x-pem-file
application/x-x509-ca-cert
application/pgp-keys
Sertifikatą galima nustatyti taip.
Reikalingas vaidmuo
Šiai operacijai atlikti reikia autentiškumo patvirtinimo su Administrator vaidmeniu.
Reikalingos parinktys
Galimybė |
Aprašymas |
---|---|
|
Raktas, kuriam nustatomas sertifikatas |
Vienkartinės parinktys
Galimybė |
Aprašymas |
---|---|
|
Sertifikato MIME tipas. Galimi MIME tipai išvardyti pirmiau. |
Argumentai
Argumentas |
Aprašymas |
---|---|
|
Sertifikato failas |
Pavyzdys
$ nitropy nethsm --host $NETHSM_HOST set-certificate --key-id myFirstKey --mime-type application/x-pem-file /tmp/cert.pem
Updated the certificate for key myFirstKey on NetHSM localhost:8443
Informacijos apie /keys/{KeyID}/cert galinį tašką rasite API dokumentacijoje.
Sertifikatą galima gauti taip.
Reikalingas vaidmuo
Šiai operacijai atlikti reikalingas Administrator arba Operator vaidmens autentiškumo patvirtinimas.
Reikalingos parinktys
Galimybė |
Aprašymas |
---|---|
|
Raktas, kurio sertifikatą reikia gauti, ID |
Pavyzdys
$ nitropy nethsm --host $NETHSM_HOST get-certificate --key-id myFirstKey
-----BEGIN CERTIFICATE-----
MIICeTCCAWECFCbuzdkAvc3Zx3W53IoSnmhUen42MA0GCSqGSIb3DQEBCwUAMHsx
CzAJBgNVBAYTAkRFMQ8wDQYDVQQIDAZCZXJsaW4xDzANBgNVBAcMBkJlcmxpbjER
MA8GA1UECgwITml0cm9rZXkxFTATBgNVBAMMDG5pdHJva2V5LmNvbTEgMB4GCSqG
SIb3DQEJARYRaW5mb0BuaXRyb2tleS5jb20wHhcNMjIwODMwMjAxMzA2WhcNMjMw
ODMwMjAxMzA2WjBxMW8wCQYDVQQGEwJERTANBgNVBAcMBkJlcmxpbjANBgNVBAgM
BkJlcmxpbjAPBgNVBAoMCE5pdHJva2V5MBMGA1UEAwwMbml0cm9rZXkuY29tMB4G
CSqGSIb3DQEJARYRaW5mb0BuaXRyb2tleS5jb20wKjAFBgMrZXADIQDc58LGDY9B
wbJFdXTiDalNXrDC60Sxu3eHcpnh1MSoCjANBgkqhkiG9w0BAQsFAAOCAQEAGip8
aU5nJnzm3eic3t1ihUA3VJ0mAPyfrb1Rn8tEKOZo3vg0jpRd9CSESlBsKqhvxsdQ
A3eomM+W7R37TL5+ISm5QrbijLHz3OHoPM68c1Krz3bXTkJetf4YAxpLOPYfXXHv
weRzwVJb4y3E0lJGhZxI3sUE8Yn/T1UvTbu/o/O5P/XTA8vfFrSNQkQxWBgYh4gC
KjFFALqUPFrctSFIi34aqpdihNJWnjSS2Y7INm3oxwkR3NMKP8x4wBGfZK22nHnu
PPzXuMGJTmQM8GHTzltNvLx5Iv2sXoSHClXSpdIT5IBIcR1GmZ78fmcr75OAU0+z
3XbJq/1ij3tKsjV6WA==
-----END CERTIFICATE-----
Informacijos apie /keys/{KeyID}/cert galinį tašką rasite API dokumentacijoje.
Rakto sertifikato pasirašymo užklausos#
NetHSM palaiko CSR (Certificate Signing Requests) generavimą saugomiems raktams.
Reikalingas vaidmuo
Šiai operacijai atlikti reikalingas Administrator arba Operator vaidmens autentiškumo patvirtinimas.
Reikalingos parinktys
Galimybė |
Aprašymas |
---|---|
|
Raktas, kuriam generuojamas CSR, ID |
|
Šalies pavadinimas |
|
Valstybės arba provincijos pavadinimas |
|
Vietovės pavadinimas |
|
Organizacijos pavadinimas |
|
Organizacijos padalinio pavadinimas |
|
Bendrinis pavadinimas |
|
El. pašto adresas |
Pavyzdys
$ nitropy nethsm --host $NETHSM_HOST csr --key-id myFirstKey --country="DE" --state-or-province="Berlin" --locality="Berlin" --organization="Nitrokey" --organizational-unit="" --common-name=nitrokey.com --email-address="info@nitrokey.com"
-----BEGIN CERTIFICATE REQUEST-----
MIHxMIGkAgEAMHExbzAJBgNVBAYTAkRFMA0GA1UEBwwGQmVybGluMA0GA1UECAwG
QmVybGluMA8GA1UECgwITml0cm9rZXkwEwYDVQQDDAxuaXRyb2tleS5jb20wHgYJ
KoZIhvcNAQkBFhFpbmZvQG5pdHJva2V5LmNvbTAqMAUGAytlcAMhADJMNAifke6s
u7CYqHGDy3xGtXVOUNbTJG6Gn4oki+j3oAAwBQYDK2VwA0EAQilRK2Mf6kfJ4ByI
WCn9A+8IHsnE7iFcuFZpmaKfcJwZiaQppHvPg/Z0zqldzviPQ1cjKR7hSZG+8GHH
gWjEDg==
-----END CERTIFICATE REQUEST-----
Informacijos apie /keys/{KeyID}/csr.pem galinį tašką galima rasti API dokumentacijoje.
Pagrindinės operacijos#
All operations described in this chapter can only be executed for keys that are in the Namespace of the current user.
Užšifruoti#
NetHSM gali šifruoti duomenis simetriniais raktais, saugomais raktų saugykloje. Tuo tarpu užšifruoti duomenų asimetriniais raktais „NetHSM“ negalima dėl viešojo rakto kriptografijos koncepcijos, pagal kurią viešasis raktas turi būti prieinamas visiems. Asimetrinių raktų atveju NetHSM pateikia viešąjį raktą, kurį galima naudoti šifruojant išorine priemone.* Daugiau informacijos apie tai, kaip gauti rakto viešąjį raktą *raktų saugykloje , rasite rodyti informaciją apie raktą .
Duomenis simetriniu raktu galima užšifruoti taip.
Reikalingas vaidmuo
Šiai operacijai reikia autentiškumo patvirtinimo naudojant Operator vaidmenį.
Reikalingos parinktys
Galimybė |
Aprašymas |
---|---|
|
Rakto, kuriuo šifruojami duomenys, ID |
|
„Base64“ koduotės duomenys |
|
Šifravimo režimas |
|
Inicializacijos vektorius, užkoduotas Base64 koduote |
Pavyzdys
$ nitropy nethsm --host $NETHSM_HOST encrypt -k myFirstKey -d "TmV0SFNNIHJ1bGV6enp6enp6enp6enp6enp6enp6IQo=" -m AES_CBC -iv "aYlwUI4A9zL9tts4dMAq+A=="
Encrypted: Uk+9pgucdxTnbyIb/6+BDJef+HfRWhw+Eg3RcCvyHaU=
Initialization vector: aYlwUI4A9zL9tts4dMAq+A==
Informacijos apie /keys/{KeyID}/encrypt galinį tašką galima rasti API dokumentacijoje.
Atspausdinamas užšifruotas ir base64 kodu užkoduotas pranešimas NetHSM rulezzzzzzzzzzzzzzzzzzz!
ir iniciacijos vektorius.
Duomenis asimetriniais raktais galima užšifruoti naudojant „OpenSSL“ taip.
$ echo 'NetHSM rulez!' | openssl pkeyutl -encrypt -pubin -inkey public.pem | base64 > data.crypt
Užšifruotas ir base64 kodu užkoduotas pranešimas NetHSM rulez!
įrašomas į failą data.crypt
, naudojant viešąjį raktą iš public.pem
.
Iššifruoti#
NetHSM gali iššifruoti duomenis privačiu raktu, saugomu NetHSM saugykloje Key Store. Šiame pavyzdyje naudojamas užšifruotas pranešimas iš ankstesnio skyriaus Iššifruoti.
Palaikomi šie iššifravimo režimai.
TAG
PKCS1
FILENAME
--network
OAEP_SHA224
OAEP_SHA224
OAEP_SHA224
OAEP_SHA224
USER_ID
Duomenis galima iššifruoti taip.
Reikalingas vaidmuo
Šiai operacijai reikia autentiškumo patvirtinimo naudojant Operator vaidmenį.
Reikalingos parinktys
Galimybė |
Aprašymas |
---|---|
|
Duomenų pločio iššifravimo rakto ID |
|
Užšifruoti duomenys „Base64“ kodavimo būdu |
|
Dešifravimo režimas. Galimi režimai išvardyti pirmiau. |
Pavyzdys
$ nitropy nethsm -h $NETHSM_HOST decrypt -k myFirstKey -d "$(cat data.crypt)" -m PKCS1 | base64 -d
NetHSM rulez!
Informacijos apie /keys/{KeyID}/decrypt galinį tašką galima rasti API dokumentacijoje.
Ženklas#
NetHSM gali pasirašyti duomenis privačiu raktu, saugomu NetHSM Key Store (raktų saugykloje). Pasirašant su RSA ir ECDSA raktu, pirmiausia turi būti apskaičiuota suvestinė.
Norint apskaičiuoti saugiklį, pirmiausia reikia duomenų. Pranešimas sukuriamas taip.
$ echo 'NetHSM rulez!' > data
Viršutinė vertė apskaičiuojama naudojant „OpenSSL“ taip.
$ openssl dgst -sha256 -binary data | base64 > data.digest
Palaikomi šie pasirašymo režimai.
PKCS1
USER_ID
FILENAME
Curve25519
Curve25519
Curve25519
Curve25519
PKCS1
PKCS1
Iš suvestinės galima sukurti parašą taip.
Reikalingas vaidmuo
Šiai operacijai reikia autentiškumo patvirtinimo naudojant Operator vaidmenį.
Reikalingos parinktys
Galimybė |
Aprašymas |
---|---|
|
Duomenų pločio pasirašymo rakto ID |
|
Duomenys, kuriuos reikia pasirašyti, užkoduoti naudojant „Base64“. |
|
Ženklo režimas |
Pavyzdys
$ nitropy nethsm -h $NETHSM_HOST sign -k myFirstKey -m PKCS1 -d "$(cat data.digest)" | base64 -d > data.sig
Informacijos apie /keys/{KeyID}/sign galinį tašką galima rasti API dokumentacijoje.
Sukurtą parašą galima patikrinti naudojant OpenSSL taip.
$ openssl dgst -sha256 -verify public.pem -signature data.sig -sigopt rsa_padding_mode:pss -sigopt rsa_pss_saltlen:-1 data
Verified OK
Atsitiktinis#
NetHSM gali pateikti atsitiktinius baitus kaip Base64 eilutę.
Reikalingas vaidmuo
Šiai operacijai reikia autentiškumo patvirtinimo naudojant Operator vaidmenį.
Argumentai
Argumentas |
Aprašymas |
---|---|
|
Gauti baitai |
Pavyzdys
nitropy nethsm --host $NETHSM_HOST random 4
94A2rg==
Informacijos apie /random galinį tašką galima rasti API dokumentacijoje.