Művelet#
Ez a fejezet a Administrator és Operator szerepkörrel rendelkező felhasználók üzemeltetési feladatait írja le. A szerepkörökről bővebben a Rollák fejezetben olvashat.
Fontos
Kérjük, a munka megkezdése előtt feltétlenül olvassa el a a dokumentum elején található információkat.
Kulcskezelés#
Kulcs generálása#
A NetHSM képes kulcspárokat generálni. Ajánlott a kulcs azonosítója opció megadása, hogy kifejező nevet adjon neki.
A támogatott kulcstípusok és a hozzájuk tartozó mechanizmusok a következők.
Kulcs típusa |
Mechanizmusok |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A kulcsokat a kulcsot létrehozó felhasználó Namespace címéhez rendeljük.
A kulcs a következőképpen generálható.
Szükséges szerepkör
Ehhez a művelethez a Administrator szerepkörrel történő hitelesítés szükséges.
Szükséges opciók
Opció |
Leírás |
---|---|
|
A generált kulcs típusa. A |
|
A generált kulcs mechanizmusai. A |
|
A generált kulcs hossza |
választható opciók
Opció |
Leírás |
---|---|
|
A generált kulcs azonosítója |
Példa
$ 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
A /keys/generate végponttal kapcsolatos információk az API dokumentációban találhatók.
Importálási kulcs#
A NetHSM képes a meglévő magánkulcsok importálására a Key Store-ba.
A támogatott kulcstípusok és a hozzájuk tartozó mechanizmusok a következők.
Kulcs típusa |
Mechanizmusok |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A kulcsokat a Namespace a kulcsot importáló felhasználóhoz rendeljük.
Importáljon egy privát kulcsot egy PEM-fájlból a NetHSM-be az alábbiak szerint.
Szükséges szerepkör
Ehhez a művelethez a Administrator szerepkörrel történő hitelesítés szükséges.
érvek
Érv |
Leírás |
---|---|
|
Privát kulcsfájl PEM formátumban |
választható opciók
Opció |
Leírás |
---|---|
|
A generált kulcs mechanizmusai. A |
|
Az új kulcs azonosítója |
|
Az új kulcs címkéje |
Példa
$ 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
A /keys végponttal kapcsolatos információk az API dokumentációban találhatók.
A nyers formátumú magánkulcsok a következőképpen importálhatók.
Szükséges szerepkör
Ehhez a művelethez a Administrator szerepkörrel történő hitelesítés szükséges.
Szükséges opciók
Opció |
Leírás |
---|---|
|
A generált kulcs típusa. A |
|
A generált kulcs mechanizmusai. A |
|
Az RSA kulcsok p prímje, base64-kódolva |
|
Az RSA kulcsok q prímje, base64-kódolva |
|
Az RSA kulcsok nyilvános exponense, base64 kódolva |
|
Az ED25519 vagy ECDSA_* kulcsok kulcsadatai, base64-kódolva. |
választható opciók
Opció |
Leírás |
---|---|
|
Az új kulcs azonosítója |
|
Az új kulcs címkéje |
Példa
$ 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
A /keys végponttal kapcsolatos információk az API dokumentációban találhatók.
Törlés gomb#
A NetHSM törölheti a kulcsokat a kulcstárolóból. A felhasználók csak a saját névterükben lévő kulcsokat törölhetik.
Szükséges szerepkör
Ehhez a művelethez a Administrator szerepkörrel történő hitelesítés szükséges.
érvek
Érv |
Leírás |
---|---|
|
A törlendő kulcs azonosítója |
Példa
$ nitropy nethsm --host $NETHSM_HOST delete-key myFirstKey
Key myFirstKey deleted on NetHSM localhost:8443
A /keys/{KeyID} végponttal kapcsolatos információk az API dokumentációban találhatók.
Kulcsok listája#
A NetHSM a kulcstárolóban található összes olyan kulcsot fel tudja sorolni, amely az aktuális felhasználó névterében található.
A lista a következőképpen hívható le.
Szükséges szerepkör
Ehhez a művelethez Administrator vagy Operator szerepkörrel történő hitelesítés szükséges.
választható opciók
Opció |
Leírás |
---|---|
|
A keresendő címke |
Példa
$ 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
A /keys végponttal kapcsolatos információk az API dokumentációban találhatók.
Kulcs részletek megjelenítése#
A NetHSM részletesebb információkat is ki tud adni egy tárolt kulcsról. A felhasználók csak a saját Namespace kulcsokhoz férhetnek hozzá.
A részletes információk az alábbiak szerint kérhetők le.
Szükséges szerepkör
Ehhez a művelethez Administrator vagy Operator szerepkörrel történő hitelesítés szükséges.
Példa
$ 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
A /keys/{KeyID} végponttal kapcsolatos információk az API dokumentációban találhatók.
Egy kulcs nyilvános kulcsa a következőképpen kérhető le. PKCS#8 formátumban.
Szükséges szerepkör
Ehhez a művelethez Administrator vagy Operator szerepkörrel történő hitelesítés szükséges.
Példa
$ 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-----
A /keys/{KeyID}/public.pem végponttal kapcsolatos információk az API dokumentációban találhatók.
A nyilvános kulcsot például az OpenSSL segítségével a következőképpen lehet ellenőrizni.
Szükséges szerepkör
Ehhez a művelethez Administrator vagy Operator szerepkörrel történő hitelesítés szükséges.
Példa
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-----
A /keys/{KeyID}/public.pem végponttal kapcsolatos információk az API dokumentációban találhatók.
Kulcsfontosságú tanúsítványok#
Lehetőség van a NetHSM-en tárolt kulcsokhoz tanúsítványok beállítására és lekérdezésére.
A támogatott MIME típusok a következők.
application/x-pem-file
application/x-x509-ca-cert<x>
application/pgp-keys
A tanúsítványt a következőképpen lehet beállítani.
Szükséges szerepkör
Ehhez a művelethez a Administrator szerepkörrel történő hitelesítés szükséges.
Szükséges opciók
Opció |
Leírás |
---|---|
|
A kulcs azonosítója, amelyhez a tanúsítványt be kell állítani. |
választható opciók
Opció |
Leírás |
---|---|
|
A tanúsítvány MIME típusa. A rendelkezésre álló MIME-típusok a fenti listában szerepelnek. |
érvek
Érv |
Leírás |
---|---|
|
Tanúsítvány fájl |
Példa
$ 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
A /keys/{KeyID}/cert végponttal kapcsolatos információk az API dokumentációban találhatók.
A tanúsítványt a következőképpen lehet lekérni.
Szükséges szerepkör
Ehhez a művelethez Administrator vagy Operator szerepkörrel történő hitelesítés szükséges.
Szükséges opciók
Opció |
Leírás |
---|---|
|
Annak a kulcsnak az azonosítója, amelyhez a tanúsítványt le kell kérni. |
Példa
$ 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-----
A /keys/{KeyID}/cert végponttal kapcsolatos információk az API dokumentációban találhatók.
Kulcs-tanúsítvány aláírási kérelmek#
A NetHSM támogatja a tárolt kulcsokhoz CSR (Certificate Signing Requests) generálását.
Szükséges szerepkör
Ehhez a művelethez Administrator vagy Operator szerepkörrel történő hitelesítés szükséges.
Szükséges opciók
Opció |
Leírás |
---|---|
|
A kulcs azonosítója, amelyhez a CSR-t generálni kell. |
|
Az ország neve |
|
Az állam vagy tartomány neve |
|
A helység neve |
|
A szervezet neve |
|
A szervezeti egység neve |
|
A közös név |
|
Az e-mail cím |
Példa
$ 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-----
A /keys/{KeyID}/csr.pem végponttal kapcsolatos információk az API dokumentációban találhatók.
Kulcsműveletek#
Az ebben a fejezetben leírt összes művelet csak olyan kulcsokra hajtható végre, amelyek az aktuális felhasználó Namespace __ címén szerepelnek.
Titkosítás#
A NetHSM képes titkosítani a Key Store oldalon tárolt szimmetrikus kulcsok adatait. Ezzel szemben a NetHSM-en nem lehet aszimmetrikus kulcsokkal adatokat titkosítani, mivel a nyilvános kulcsú kriptográfiában a nyilvános kulcsot mindenki számára hozzáférhetővé kell tenni. Aszimmetrikus kulcsok esetében a NetHSM biztosítja a nyilvános kulcsot, amelyet külső eszközzel lehet titkosításra használni. Kérjük, olvassa el a Show Key Details című részt, ahol többet megtudhat arról, hogyan lehet lekérdezni egy kulcs nyilvános kulcsát a Key Store oldalon.
Az adatok szimmetrikus kulcs esetén a következőképpen titkosíthatók.
Szükséges szerepkör
Ez a művelet Operator szerepkörrel történő hitelesítést igényel.
Szükséges opciók
Opció |
Leírás |
---|---|
|
A kulcs azonosítója, amellyel az adatokat titkosítani kell. |
|
Az adatok Base64 kódolásban |
|
A titkosítási mód |
|
Az inicializálási vektor Base64 kódolásban |
Példa
$ 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==
A /keys/{KeyID}/encrypt végponttal kapcsolatos információk az API dokumentációban találhatók.
Ez kiírja a titkosított és base64 kódolt üzenetet NetHSM rulezzzzzzzzzzzzzzzzzzz!
, és az inicializációs vektort.
Az adatok aszimmetrikus kulcsok esetén az OpenSSL segítségével a következőképpen titkosíthatók.
$ echo 'NetHSM rulez!' | openssl pkeyutl -encrypt -pubin -inkey public.pem | base64 > data.crypt
Ez a NetHSM rulez!
titkosított és base64 kódolt üzenetet írja a data.crypt
fájlba, a public.pem
nyilvános kulcsának felhasználásával.
Dekódolás#
A NetHSM képes visszafejteni a NetHSM-en található Key Store-ban tárolt magánkulcs adatait. Ez a példa az előző fejezetben szereplő titkosított üzenetet használja Encrypt.
A támogatott dekódolási módok a következők.
TAG
PKCS1<x>
FILENAME
--network
OAEP_SHA224<x>
OAEP_SHA224<x>
OAEP_SHA224<x>
OAEP_SHA224<x>
USER_ID
Az adatok a következőképpen dekódolhatók.
Szükséges szerepkör
Ez a művelet Operator szerepkörrel történő hitelesítést igényel.
Szükséges opciók
Opció |
Leírás |
---|---|
|
Az adatszélesség dekódolásához használt kulcs azonosítója |
|
A titkosított adatok Base64 kódolásban |
|
A dekódolási mód. A rendelkezésre álló módok a fenti listában szerepelnek. |
Példa
$ nitropy nethsm -h $NETHSM_HOST decrypt -k myFirstKey -d "$(cat data.crypt)" -m PKCS1 | base64 -d
NetHSM rulez!
A /keys/{KeyID}/decrypt végponttal kapcsolatos információk az API dokumentációban találhatók.
Jelentkezzen a címen.#
A NetHSM képes aláírni a NetHSM-en található Key Store-ban tárolt magánkulcshoz tartozó adatokat. Az RSA és ECDSA kulccsal történő aláíráshoz először egy digestet kell kiszámítani.
A digest kiszámításához először az adatokra van szükség. Az üzenet létrehozása a következőképpen történik.
$ echo 'NetHSM rulez!' > data
A kivonatot az OpenSSL a következőképpen számítja ki.
$ openssl dgst -sha256 -binary data | base64 > data.digest
A támogatott aláírási módok a következők.
PKCS1<x>
USER_ID
FILENAME
Curve25519<x>
Curve25519<x>
Curve25519<x>
Curve25519<x>
PKCS1<x>
PKCS1<x>
A kivonatból a következőképpen hozható létre aláírás.
Szükséges szerepkör
Ez a művelet Operator szerepkörrel történő hitelesítést igényel.
Szükséges opciók
Opció |
Leírás |
---|---|
|
Az adatszélesség aláírására szolgáló kulcs azonosítója |
|
Az aláírandó adatok Base64 kódolással kódolva |
|
A jelzési mód |
Példa
$ nitropy nethsm -h $NETHSM_HOST sign -k myFirstKey -m PKCS1 -d "$(cat data.digest)" | base64 -d > data.sig
A /keys/{KeyID}/sign végponttal kapcsolatos információk az API dokumentációban találhatók.
A létrehozott aláírás az OpenSSL segítségével a következőképpen ellenőrizhető.
$ openssl dgst -sha256 -verify public.pem -signature data.sig -sigopt rsa_padding_mode:pss -sigopt rsa_pss_saltlen:-1 data
Verified OK
Random#
A NetHSM véletlenszerű bájtokat tud Base64 karakterlánc formájában megadni.
Szükséges szerepkör
Ez a művelet Operator szerepkörrel történő hitelesítést igényel.
érvek
Érv |
Leírás |
---|---|
|
Leolvasandó bájtok |
Példa
nitropy nethsm --host $NETHSM_HOST random 4
94A2rg==
A /random végponttal kapcsolatos információk az API dokumentációban találhatók.