Operācija#
Šajā nodaļā ir aprakstīti darbības uzdevumi lietotājiem ar Administratora un Operatora lomu. Lai uzzinātu vairāk par šo lomu, skatiet nodaļu Lomas.
Svarīgi
Pirms darba uzsākšanas izlasiet informāciju, kas sniegta šā dokumenta sākumā.
Atslēgas pārvaldība#
Ģenerēt atslēgu#
NetHSM var ģenerēt atslēgu pārus. Ieteicams norādīt atslēgas ID opciju, lai piešķirtu tai izteiksmīgu nosaukumu.
Atbalstāmie atslēgu tipi un tiem atbilstošie mehānismi ir šādi.
Atslēgas tips |
Mehānismi |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Keys are assigned to the Namespace of the user that generates the key.
Atslēgu var ģenerēt šādi.
Nepieciešamā loma
Šai operācijai nepieciešama autentifikācija ar Administrator lomu.
Nepieciešamās opcijas
Iespēja |
Apraksts |
---|---|
|
Ģenerētās atslēgas tips. Iespējamās vērtības argumentam |
|
Ģenerētās atslēgas mehānismi. Iespējamās vērtības argumentam |
|
Ģenerētās atslēgas garums |
Vienreizējas opcijas
Iespēja |
Apraksts |
---|---|
|
Izveidotās atslēgas ID |
Piemērs
$ 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
Informāciju par /keys/generate galapunktu var atrast API dokumentācijā.
Importa atslēga#
NetHSM var importēt esošās privātās atslēgas uz Key Store.
Atbalstāmie atslēgu tipi un tiem atbilstošie mehānismi ir šādi.
Atslēgas tips |
Mehānismi |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Keys are assigned to the Namespace of the user that imports the key.
Importējiet privāto atslēgu no PEM faila NetHSM šādi.
Nepieciešamā loma
Šai operācijai nepieciešama autentifikācija ar Administrator lomu.
Argumenti
Arguments |
Apraksts |
---|---|
|
Private key file in PEM format |
Vienreizējas opcijas
Iespēja |
Apraksts |
---|---|
|
Ģenerētās atslēgas mehānismi. Iespējamās vērtības argumentam |
|
Jaunās atslēgas ID |
|
Jaunās atslēgas birka |
Piemērs
$ 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
Informāciju par /keys galapunktu var atrast API dokumentācijā.
Private keys in raw format can be imported as follows.
Nepieciešamā loma
Šai operācijai nepieciešama autentifikācija ar Administrator lomu.
Nepieciešamās opcijas
Iespēja |
Apraksts |
---|---|
|
Ģenerētās atslēgas tips. Iespējamās vērtības argumentam |
|
Ģenerētās atslēgas mehānismi. Iespējamās vērtības argumentam |
|
RSA atslēgu pirmskaitlis p, kodēts bāzes64 formātā |
|
RSA atslēgu pirmskaitlis q, kodēts bāzē 64 |
|
RSA atslēgu publiskais eksponents, kodēts bāzes64 formātā |
|
ED25519 vai ECDSA_* atslēgas dati, kodēti base64 formātā. |
Vienreizējas opcijas
Iespēja |
Apraksts |
---|---|
|
Jaunās atslēgas ID |
|
Jaunās atslēgas birka |
Piemērs
$ 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
Informāciju par /keys galapunktu var atrast API dokumentācijā.
Dzēst taustiņu#
The NetHSM can delete keys from the Key Store. Users can only delete keys in their Namespace.
Nepieciešamā loma
Šai operācijai nepieciešama autentifikācija ar Administrator lomu.
Argumenti
Arguments |
Apraksts |
---|---|
|
Dzēšamās atslēgas ID |
Piemērs
$ nitropy nethsm --host $NETHSM_HOST delete-key myFirstKey
Key myFirstKey deleted on NetHSM localhost:8443
Informāciju par /keys/{KeyID} galapunktu var atrast API dokumentācijā.
Saraksta atslēgas#
The NetHSM can list all keys in the Key Store that are in the Namespace of the current user.
Sarakstu var iegūt šādi.
Nepieciešamā loma
Šai operācijai nepieciešama autentifikācija ar Administrators vai Operators lomu.
Vienreizējas opcijas
Iespēja |
Apraksts |
---|---|
|
Tag meklēt |
Piemērs
$ 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
Informāciju par /keys galapunktu var atrast API dokumentācijā.
Rādīt atslēgas informāciju#
The NetHSM can output more detailed information about a stored key. Users can only access keys in their Namespace.
Sīkāku informāciju var iegūt šādi.
Nepieciešamā loma
Šai operācijai nepieciešama autentifikācija ar Administrators vai Operators lomu.
Piemērs
$ 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
Informāciju par /keys/{KeyID} galapunktu var atrast API dokumentācijā.
Atslēgas publisko atslēgu var iegūt šādi. Tas ir PKCS#8 formātā.
Nepieciešamā loma
Šai operācijai nepieciešama autentifikācija ar Administrators vai Operators lomu.
Piemērs
$ 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-----
Informāciju par /keys/{KeyID}/public.pem galapunktu var atrast API dokumentācijā.
Publisko atslēgu var pārbaudīt, piemēram, izmantojot OpenSSL šādi.
Nepieciešamā loma
Šai operācijai nepieciešama autentifikācija ar Administrators vai Operators lomu.
Piemērs
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-----
Informāciju par /keys/{KeyID}/public.pem galapunktu var atrast API dokumentācijā.
Atslēgas sertifikāti#
Ir iespējams iestatīt un pieprasīt sertifikātus NetHSM saglabātajām atslēgām.
Atbalstāmie MIME tipi ir šādi.
application/x-pem-file`
application/x-x509-ca-cert`
application/pgp-keys`
Sertifikātu var iestatīt šādi.
Nepieciešamā loma
Šai operācijai nepieciešama autentifikācija ar Administrator lomu.
Nepieciešamās opcijas
Iespēja |
Apraksts |
---|---|
|
Sertifikāta iestatīšanas atslēgas ID |
Vienreizējas opcijas
Iespēja |
Apraksts |
---|---|
|
Sertifikāta MIME tips. Pieejamie MIME tipi ir uzskaitīti iepriekš. |
Argumenti
Arguments |
Apraksts |
---|---|
|
Sertifikāta fails |
Piemērs
$ 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
Informācija par /keys/{KeyID}/cert galapunktu ir atrodama API dokumentācijā.
Sertifikātu var iegūt šādi.
Nepieciešamā loma
Šai operācijai nepieciešama autentifikācija ar Administrators vai Operators lomu.
Nepieciešamās opcijas
Iespēja |
Apraksts |
---|---|
|
Atslēgas ID, lai iegūtu sertifikātu. |
Piemērs
$ 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-----
Informācija par /keys/{KeyID}/cert galapunktu ir atrodama API dokumentācijā.
Atslēgas sertifikātu parakstīšanas pieprasījumi#
NetHSM atbalsta CSR (sertifikātu parakstīšanas pieprasījumu) ģenerēšanu saglabātajām atslēgām.
Nepieciešamā loma
Šai operācijai nepieciešama autentifikācija ar Administrators vai Operators lomu.
Nepieciešamās opcijas
Iespēja |
Apraksts |
---|---|
|
Tās atslēgas ID, kurai paredzēts ģenerēt CSR. |
|
Valsts nosaukums |
|
Valsts vai provinces nosaukums |
|
Vietas nosaukums |
|
Organizācijas nosaukums |
|
Organizācijas vienības nosaukums |
|
Vispārpieņemtais nosaukums |
|
E-pasta adrese |
Piemērs
$ 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-----
Informāciju par /keys/{KeyID}/csr.pem galapunktu var atrast API dokumentācijā.
Galvenās darbības#
All operations described in this chapter can only be executed for keys that are in the Namespace of the current user.
Šifrēt#
NetHSM var šifrēt datus simetriskajām atslēgām, kas glabājas atslēgu krātuvē. Turpretī datu šifrēšanu ar asimetriskām atslēgām NetHSM nevar veikt, jo publiskā atslēgas kriptogrāfijas koncepcija paredz, ka publiskā atslēga ir pieejama visiem. Asimetrisko atslēgu gadījumā NetHSM nodrošina publisko atslēgu, ko var izmantot šifrēšanai ar ārēju rīku. Lai uzzinātu vairāk par to, kā iegūt atslēgas publisko atslēgu, lūdzu, skatiet Rādīt atslēgas informāciju Atslēgu krātuvē.
Datu šifrēšanu ar simetrisku atslēgu var veikt šādi.
Nepieciešamā loma
Šai operācijai ir nepieciešama autentifikācija ar Operatora lomu.
Nepieciešamās opcijas
Iespēja |
Apraksts |
---|---|
|
Tās atslēgas ID, ar kuru šifrēt datus. |
|
Dati Base64 kodējumā |
|
Šifrēšanas režīms |
|
Inicializācijas vektors Base64 kodējumā |
Piemērs
$ 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==
Informāciju par /keys/{KeyID}/encrypt galapunktu var atrast API dokumentācijā.
Tiek izdrukāts šifrēts un base64 kodēts ziņojums NetHSM rulezzzzzzzzzzzzzzzzzzz!
un inicializācijas vektors.
Datu šifrēšanu asimetriskām atslēgām ar OpenSSL var veikt šādi.
$ echo 'NetHSM rulez!' | openssl pkeyutl -encrypt -pubin -inkey public.pem | base64 > data.crypt
Šādi šifrētu un base64 kodētu ziņojumu NetHSM rulez!
ieraksta failā data.crypt
, izmantojot publisko atslēgu no public.pem
.
Atšifrējiet#
NetHSM var atšifrēt datus par privāto atslēgu, kas glabājas NetHSM Key Store. Šajā piemērā izmantots iepriekšējā nodaļā šifrētais ziņojums Išifrēt.
Atbalstītie atšifrēšanas režīmi ir šādi.
TAG`
PKCS1`
FILENAME`
--network`
OAEP_SHA224`
OAEP_SHA224`
OAEP_SHA224`
OAEP_SHA224`
USER_ID`
Datus var atšifrēt šādi.
Nepieciešamā loma
Šai operācijai ir nepieciešama autentifikācija ar Operatora lomu.
Nepieciešamās opcijas
Iespēja |
Apraksts |
---|---|
|
Datu platuma atšifrēšanas atslēgas ID |
|
Šifrētie dati Base64 kodējumā |
|
Dešifrēšanas režīms. Pieejamie režīmi ir uzskaitīti iepriekš. |
Piemērs
$ nitropy nethsm -h $NETHSM_HOST decrypt -k myFirstKey -d "$(cat data.crypt)" -m PKCS1 | base64 -d
NetHSM rulez!
Informāciju par /keys/{KeyID}/decrypt galapunktu var atrast API dokumentācijā.
Pierakstīties#
NetHSM var parakstīt datus par privāto atslēgu, kas glabājas NetHSM Key Store. Parakstīšanai ar RSA un ECDSA atslēgu vispirms jāaprēķina digest.
Lai aprēķinātu digestu, vispirms ir nepieciešami dati. Ziņu izveido šādi.
$ echo 'NetHSM rulez!' > data
Digestu aprēķina, izmantojot OpenSSL, šādi.
$ openssl dgst -sha256 -binary data | base64 > data.digest
Tiek atbalstīti šādi parakstīšanas režīmi.
PKCS1`
USER_ID`
FILENAME`
Curve25519`
Curve25519`
Curve25519`
Curve25519`
PKCS1`
PKCS1`
No digest var izveidot parakstu šādi.
Nepieciešamā loma
Šai operācijai ir nepieciešama autentifikācija ar Operatora lomu.
Nepieciešamās opcijas
Iespēja |
Apraksts |
---|---|
|
Datu platuma parakstīšanas atslēgas ID |
|
Parakstāmie dati, kas kodēti, izmantojot Base64. |
|
Zīmju režīms |
Piemērs
$ nitropy nethsm -h $NETHSM_HOST sign -k myFirstKey -m PKCS1 -d "$(cat data.digest)" | base64 -d > data.sig
Informācija par /keys/{KeyID}/sign galapunktu ir atrodama API dokumentācijā.
Izveidoto parakstu var pārbaudīt, izmantojot OpenSSL, šādi.
$ openssl dgst -sha256 -verify public.pem -signature data.sig -sigopt rsa_padding_mode:pss -sigopt rsa_pss_saltlen:-1 data
Verified OK
Nejaušs#
NetHSM var sniegt izlases baitus kā Base64 virkni.
Nepieciešamā loma
Šai operācijai ir nepieciešama autentifikācija ar Operatora lomu.
Argumenti
Arguments |
Apraksts |
---|---|
|
Iegūstamie baiti |
Piemērs
nitropy nethsm --host $NETHSM_HOST random 4
94A2rg==
Informācija par /random galapunktu ir atrodama API dokumentācijā.