Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
AWS CloudHSM KeyStore Java-Klasse für Client SDK 3
Die AWS CloudHSM KeyStore
Klasse bietet einen speziellen PKCS12 Schlüsselspeicher, der den Zugriff auf AWS CloudHSM Schlüssel über Anwendungen wie Keytool und Jarsigner ermöglicht. Dieser Schlüsselspeicher kann Zertifikate zusammen mit Ihren Schlüsseldaten speichern und sie mit den in AWS CloudHSM gespeicherten Schlüsseldaten korrelieren.
Anmerkung
Da es sich bei Zertifikaten um öffentliche Informationen handelt und um die Speicherkapazität für kryptografische Schlüssel zu maximieren, wird das Speichern von Zertifikaten AWS CloudHSM nicht unterstützt. HSMs
Die AWS CloudHSM KeyStore
Klasse implementiert das KeyStore
Service Provider Interface (SPI) der Java Cryptography Extension (JCE). Weitere Informationen zur Verwendung finden Sie KeyStore
unter Class KeyStore
Wählen Sie den entsprechenden Schlüsselspeicher für AWS CloudHSM Client SDK 3
Der Anbieter AWS CloudHSM Java Cryptographic Extension (JCE) verfügt über einen standardmäßigen, schreibgeschützten Passthrough-Schlüsselspeicher, der alle Transaktionen an den weiterleitet. HSM Dieser Standardschlüsselspeicher unterscheidet sich von dem Spezialschlüsselspeicher. AWS CloudHSM KeyStore In den meisten Situationen erhalten Sie eine bessere Laufzeitleistung und mehr Durchsatz, wenn Sie den Standard verwenden. Sie sollten den nur AWS CloudHSM KeyStore für Anwendungen verwenden, bei denen Sie Unterstützung für Zertifikate und zertifikatsbasierte Operationen benötigen und zusätzlich wichtige Operationen auf die auslagern möchten. HSM
Beide Schlüsselspeicher verwenden zwar den JCE Anbieter für Operationen, sind jedoch unabhängige Einheiten und tauschen keine Informationen miteinander aus.
Laden Sie den Standard-Schlüsselspeicher für Ihre Java-Anwendung wie folgt:
KeyStore ks = KeyStore.getInstance("Cavium");
Laden Sie die Spezial-Cloud HSM KeyStore wie folgt:
KeyStore ks = KeyStore.getInstance("CloudHSM")
Initialisieren Sie die AWS CloudHSM KeyStore für Client 3 SDK
Melden Sie sich genauso AWS CloudHSM KeyStore an, wie Sie sich beim JCE Anbieter anmelden. Sie können entweder Umgebungsvariablen oder die Systemeigenschaftendatei verwenden. Sie sollten sich anmelden, bevor Sie die Cloud nutzen HSM KeyStore. Ein Beispiel für die Anmeldung bei und HSM über den JCE Anbieter finden Sie unter Anmelden bei einem HSM
Falls gewünscht, können Sie ein Passwort angeben, um die lokale PKCS12 Datei zu verschlüsseln, die Schlüsselspeicherdaten enthält. Wenn Sie den AWS CloudHSM Keystore erstellen, legen Sie das Passwort fest und geben es an, wenn Sie die Methoden load, set und get verwenden.
Instanziieren Sie ein neues HSM KeyStore Cloud-Objekt wie folgt:
ks.load(null, null);
Schreiben Sie Schlüsselspeicherdaten mit der store
-Methode in eine Datei. Von da an können Sie den vorhandenen Schlüsselspeicher mit der load
-Methode mit der Quelldatei und dem Passwort wie folgt laden:
ks.load(inputStream, password);
Verwenden Sie AWS CloudHSM KeyStore für Client 3 AWS CloudHSM SDK
Ein HSM KeyStore Cloud-Objekt wird in der Regel über eine Drittanbieteranwendung wie Jarsigner
AWS CloudHSM KeyStore entspricht der JCE KeyStoreKlassenspezifikation
-
load
Lädt den Schlüsselspeicher aus dem angegebenen Eingabe-Stream. Wenn beim Speichern des Schlüsselspeichers ein Passwort festgelegt wurde, muss dasselbe Passwort angegeben werden, damit das Laden erfolgreich ist. Setzen Sie beide Parameter auf null, um einen neuen leeren Schlüsselspeicher zu initialisieren.
KeyStore ks = KeyStore.getInstance("CloudHSM"); ks.load(inputStream, password);
-
aliases
Gibt eine Aufzählung der Aliasnamen aller Einträge in der angegebenen Schlüsselspeicherinstanz zurück. Zu den Ergebnissen gehören Objekte, die lokal in der PKCS12 Datei gespeichert sind, und Objekte, die sich in der Datei befindenHSM.
Beispiel-Code:
KeyStore ks = KeyStore.getInstance("CloudHSM"); for(Enumeration<String> entry = ks.aliases(); entry.hasMoreElements();) { String label = entry.nextElement(); System.out.println(label); }
-
ContainsAlias
Gibt „true“ zurück, wenn der Schlüsselspeicher Zugriff auf mindestens ein Objekt mit dem angegebenen Alias hat. Der Schlüsselspeicher überprüft Objekte, die lokal in der PKCS12 Datei gespeichert sind, und Objekte, die sich auf der befindenHSM.
-
DeleteEntry
Löscht einen Zertifikatseintrag aus der lokalen PKCS12 Datei. Das Löschen von Schlüsseldaten, die in einem gespeichert sind, HSM wird mit dem AWS CloudHSM KeyStore nicht unterstützt. Sie können Schlüssel mit dem Tool HSM key_mgmt_util von Cloud löschen.
-
GetCertificate
Gibt das Zertifikat zurück, das einem Alias zugeordnet ist, falls verfügbar. Wenn der Alias nicht existiert oder auf ein Objekt verweist, das kein Zertifikat ist, kehrt die Funktion zurück. NULL
KeyStore ks = KeyStore.getInstance("CloudHSM"); Certificate cert = ks.getCertificate(alias)
-
GetCertificateAlias
Gibt den Namen (Alias) des ersten Schlüsselspeichereintrags zurück, dessen Daten mit dem angegebenen Zertifikat übereinstimmen.
KeyStore ks = KeyStore.getInstance("CloudHSM"); String alias = ks.getCertificateAlias(cert)
-
GetCertificateChain
Gibt die Zertifikatkette zurück, die dem angegebenen Alias zugeordnet ist. Wenn der Alias nicht existiert oder auf ein Objekt verweist, das kein Zertifikat ist, kehrt die Funktion zurückNULL.
-
GetCreationDate
Gibt das Erstellungsdatum des durch den angegebenen Alias identifizierten Eintrags zurück. Wenn kein Erstellungsdatum verfügbar ist, gibt die Funktion das Datum zurück, an dem das Zertifikat gültig wurde.
-
GetKey
GetKey wird an die übergeben HSM und gibt ein Schlüsselobjekt zurück, das dem angegebenen Label entspricht. Da es
getKey
direkt das abfragtHSM, kann es für jeden Schlüssel auf dem verwendet werden, HSM unabhängig davon, ob er von der generiert wurde KeyStore.Key key = ks.getKey(keyLabel, null);
-
IsCertificateEntry
Überprüft, ob der Eintrag mit dem angegebenen Alias einen Zertifikateintrag darstellt.
-
IsKeyEntry
Überprüft, ob der Eintrag mit dem angegebenen Alias einen Schlüsseleintrag darstellt. Die Aktion durchsucht sowohl die PKCS12 Datei als auch den HSM nach dem Alias.
-
SetCertificateEntry
Weist dem angegebenen Alias das angegebene Zertifikat zu. Wenn der angegebene Alias bereits verwendet wird, um einen Schlüssel oder ein Zertifikat zu identifizieren, wird ein
KeyStoreException
ausgelöst. Sie können JCE Code verwenden, um das Schlüsselobjekt abzurufen, und dann die KeyStoreSetKeyEntry
Methode verwenden, um das Zertifikat dem Schlüssel zuzuordnen. -
SetKeyEntry
mitbyte[]
-SchlüsselDies API wird derzeit von Client SDK 3 nicht unterstützt.
-
SetKeyEntry
mitKey
-ObjektWeist den angegebenen Schlüssel dem angegebenen Alias zu und speichert ihn in der. HSM Wenn das
Key
Objekt nicht vom Typ istCaviumKey
, wird der Schlüssel HSM als extrahierbarer Sitzungsschlüssel in den importiert.Wenn das
Key
-Objekt vom TypPrivateKey
ist, muss es von einer entsprechenden Zertifikatkette begleitet werden.Wenn der Alias bereits vorhanden ist, wird ein
SetKeyEntry
- Aufruf ausgelöst, undKeyStoreException
verhindert, dass der Schlüssel überschrieben wird. Wenn der Schlüssel überschrieben werden muss, verwenden Sie KMU oder JCE für diesen Zweck. -
EngineSize
Gibt die Anzahl der Einträge im Schlüsselspeicher zurück.
-
Store
Speichert den Schlüsselspeicher für den angegebenen Ausgabestrom als PKCS12 Datei und sichert ihn mit dem angegebenen Passwort. Darüber hinaus bleiben alle geladenen Schlüssel (die über
setKey
-Aufrufe gesetzt werden) bestehen.