Dedizierte KMS-Keystores für JCE
Erfahren Sie mehr über die Keystores für den dedizierten KMS JCE-Provider.
Die in diesem Thema beschriebene Java-Klasse KeyStore wird zum Speichern Ihrer Schlüsseldaten verwendet und korreliert diese mit den Schlüsseldaten, die im HSM-Cluster gespeichert sind. Außerdem bietet es die Funktionalität zum Speichern von Zertifikaten im Speicher.
Dediziertes KMS KeyStore
DedicatedKMSKeyStore erweitert die Java-Klasse KeyStoreSpi. Erstellen Sie wie folgt ein DedicatedKmsKeyStore-Objekt:
`KeyStore ks = KeyStore.getInstance(DedicatedKmsProvider.DEDICATED_KMS_KEYSTORE_TYPE);`
Diese KeyStore stellt die folgenden Funktionen bereit:
| Funktion | Beschreibung |
|---|---|
| Aliasnamen | Gibt alle Aliasnamen zurück, die im lokalen speicherbasierten Speicher gefunden wurden. |
| containsAlias | Ähnlich wie getKey durchsucht diese Funktion zuerst den lokalen speicherbasierten Speicher und durchsucht dann den HSM nach einer Übereinstimmung mit einem angegebenen Alias. |
| deleteEntry | Entfernt den angegebenen Alias aus dem lokalen speicherbasierten Speicher. Der Schlüssel lebt weiterhin auf dem HSM. Um einen Schlüssel im HSM zu löschen, verwenden Sie die Funktion destroy unter der Klasse DedicatedKmsKey oder den Befehl deleteKey im Schlüsselverwaltungsutility. |
| getCertificate | Ruft das Zertifikat für einen angegebenen Alias ab. |
| getCertificateAlias | Prüft, ob ein bereitgestelltes Zertifikat mit gespeicherten Zertifikaten im lokalen speicherbasierten Speicher übereinstimmt. |
| getCertificateChain | Ruft eine Zertifikatskette für einen angegebenen Alias ab. |
| getCreationDate | Gibt das Datum zurück, an dem ein angegebener Schlüssel zum lokalen speicherbasierten Speicher hinzugefügt wurde. |
| getKey | Ruft den mit dem angegebenen Alias verknüpften Schlüssel aus dem Keystore ab. Die Funktion versucht zuerst, den Schlüssel aus dem lokalen speicherbasierten Speicher abzurufen. Wenn der Schlüssel nicht gefunden wird, durchsucht Dedicated KMS das Hardware Security Module (HSM) nach einem unterstützten Schlüsseltyp. Beachten Sie, dass das HSM keine eindeutigen Schlüssellabels erzwingt. Wenn also mehrere Schlüssel gefunden werden, wird ein zufälliger Nicht-Public Key zurückgegeben. |
| isCertificateEntry | Gibt an, ob ein bestimmter Alias mit einem Zertifikateintrag verknüpft ist. |
| isKeyEntry | Gibt an, ob ein bestimmter Alias mit einem Schlüsseleintrag verknüpft ist. Ähnlich wie bei getKey durchsucht diese Funktion zuerst den lokalen speicherbasierten Speicher und sucht dann im HSM nach einer Übereinstimmung mit einem angegebenen Schlüsseleintrag. |
| Laden | Lädt den Keystore aus dem angegebenen Eingabestream. |
| setCertificateEntry | Weist einem Alias ein angegebenes Zertifikat zu und speichert das Zertifikat im lokalen speicherbasierten Speicher. |
| setKeyEntry mit Schlüsselobjekt | Weist einem Alias einen angegebenen Schlüssel zu und speichert den Schlüssel im lokalen speicherbasierten Speicher und im HSM. |
| setKeyEntry mit Byte[]-Schlüssel | Diese API wird nicht unterstützt. |
| Größe | Ruft die Anzahl der Einträge im lokalen speicherbasierten Speicher ab. |
| Shop | Speichert den Keystore im angegebenen Ausgabestream. |
Dediziertes KMS Extended KeyStore
DedicatedKmsExtendedKeystore erweitert die Java-Klasse DedicatedKmsExtendedKeyStoreSpi. Erstellen Sie wie folgt ein DedicatedKmsExtendedKeyStore-Objekt:
`DedicatedKmsExtendedKeystore keyStore = DedicatedKmsExtendedKeystore.getInstance(DedicatedKmsProvider.DEDICATED_KMS_KEYSTORE_TYPE);`
Diese KeyStore stellt die folgenden Funktionen bereit:
| Funktion | Beschreibung |
|---|---|
| findKey | Sucht einen Zufallsschlüssel im Hardwaresicherheitsmodul (HSM), der mit dem angegebenen Alias, Schlüsseltyp (z.B. RSA, EC, AES oder DES3) und dem Schlüsselobjekttyp (z.B. PUBLIC_KEY, PRIVATE_KEY oder SECRET_KEY) übereinstimmt |
| findKeys | Sucht alle Schlüssel im Hardwaresicherheitsmodul (HSM), die mit dem angegebenen Alias, Schlüsseltyp (für exmaple, RSA, EC, AES oder DES3) und dem Schlüsselobjekttyp übereinstimmen (Beispiel: PUBLIC_KEY, PRIVATE_KEY oder SECRET_KEY) |