Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizzo della classe Java KeyStore AWS CloudHSM per Client SDK 3
La classe AWS CloudHSM KeyStore
fornisce un archivio di chiavi PKCS12 per uso speciale che consente l'accesso alle chiavi AWS CloudHSM tramite applicazioni come keytool e jarsigner. Questo archivio chiavi può archiviare i certificati insieme ai dati chiave e correlarli ai dati chiave memorizzati su AWS CloudHSM.
Nota
Poiché i certificati sono informazioni pubbliche e, per massimizzare la capacità di archiviazione per le chiavi di crittografia, AWS CloudHSM non supporta l'archiviazione dei certificati sui moduli HSM.
La classe AWS CloudHSM KeyStore
implementa l'Interfaccia del Provider del Servizio (SPI) KeyStore
della Java Cryptography Extension (JCE). Per ulteriori informazioni sull'utilizzo di KeyStore
, vedi Classe KeyStore
Scegliere l'archivio chiavi appropriato
Il provider Java Cryptographic Extension (JCE) AWS CloudHSM viene fornito con un pass-through predefinito e di sola lettura che passa tutte le transazioni all'HSM. Questo archivio di chiavi predefinito è diverso da quello AWS CloudHSM per uso speciale. Nella maggior parte delle situazioni, è possibile ottenere prestazioni di runtime e velocità effettiva migliori utilizzando l'impostazione predefinita. È consigliabile utilizzare l'archivio di chiavi AWS CloudHSM solo per le applicazioni in cui è necessario il supporto per certificati e operazioni basate su certificati, oltre a scaricare le operazioni chiave nell'HSM.
Sebbene entrambi gli archivi di chiavi utilizzino il provider JCE per le operazioni, sono entità indipendenti e non scambiano informazioni tra loro.
Carica l'archivio chiavi predefinito per l'applicazione Java come segue:
KeyStore ks = KeyStore.getInstance("Cavium");
Carica il KeyStore CloudHSM per scopi speciali come segue:
KeyStore ks = KeyStore.getInstance("CloudHSM")
Inizializzazione di KeyStore AWS CloudHSM
Accedi all'archivio chiavi AWS CloudHSM nello stesso modo in cui accedi al provider JCE per . È possibile utilizzare le variabili di ambiente o il file delle proprietà di sistema ed è necessario accedere prima di iniziare a utilizzare l'archivio chiavi di CloudHSM. Per un esempio di accesso a un HSM utilizzando JCE, vedi Accedi a un HSM
Se lo desideri, è possibile specificare una password per crittografare il file PKCS12 locale che contiene i dati dell'archivio chiavi. Quando crei l'archivio chiavi AWS CloudHSM, imposti la password e la fornisci quando usi i metodi di caricamento, impostazione e ottenimento.
Istanziare un nuovo oggetto KeyStore CloudHSM come segue:
ks.load(null, null);
Scrivere i dati del keystore in un file utilizzando il metodo store
. Da quel momento in poi, puoi caricare l'archivio chiavi esistente utilizzando il metodo load
con il file sorgente e la password come segue:
ks.load(inputStream, password);
Usare KeyStore AWS CloudHSM
Un oggetto KeyStore CloudHSM viene generalmente utilizzato attraverso un'applicazione di terze parti come jarsigner
KeyStore AWS CloudHSM è conforme alle specifiche JCE Classe KeyStore
-
load
Carica l'archivio chiavi dal flusso di input specificato. Se durante il salvataggio dell'archivio chiavi è stata impostata una password, è necessario fornire questa stessa password affinché il caricamento abbia esito positivo. Impostare entrambi i parametri su nulla per inizializzare un nuovo archivio di chiavi vuoto.
KeyStore ks = KeyStore.getInstance("CloudHSM"); ks.load(inputStream, password);
-
aliases
Restituisce un'enumerazione dei nomi alias di tutte le voci nell'istanza dell'archivio chiavi considerato. I risultati includono gli oggetti archiviati localmente nel file PKCS12 e gli oggetti residenti in HSM.
Esempio di codice:
KeyStore ks = KeyStore.getInstance("CloudHSM"); for(Enumeration<String> entry = ks.aliases(); entry.hasMoreElements();) { String label = entry.nextElement(); System.out.println(label); }
-
ContainsAlias
Restituisce vero se l'archivio chiavi ha accesso ad almeno un oggetto con l'alias specificato. L'archivio chiavi controlla gli oggetti archiviati localmente nel file PKCS12 e gli oggetti residenti nell'HSM.
-
DeleteEntry
Elimina una voce di certificato dal file PKCS12 locale. L'eliminazione dei dati chiave archiviati in un HSM non è supportata utilizzando il KeyStore AWS CloudHSM. È possibile eliminare le chiavi con lo strumento key_mgmt_util di CloudHSM.
-
GetCertificate
Restituisce il certificato associato a un alias, se disponibile. Se l'alias non esiste o fa riferimento a un oggetto che non è un certificato, la funzione restituisce NULLA.
KeyStore ks = KeyStore.getInstance("CloudHSM"); Certificate cert = ks.getCertificate(alias)
-
GetCertificateAlias
Restituisce il nome (alias) della prima voce dell'archivio chiavi i cui dati corrispondono al certificato specificato.
KeyStore ks = KeyStore.getInstance("CloudHSM"); String alias = ks.getCertificateAlias(cert)
-
GetCertificateChain
Restituisce la catena di certificati associata all'alias specificato. Se l'alias non esiste o fa riferimento a un oggetto che non è un certificato, la funzione restituisce NULLA.
-
GetCreationDate
Restituisce la data di creazione della voce identificata dall'alias specificato. Se una data di creazione non è disponibile, la funzione restituisce la data in cui il certificato è diventato valido.
-
GetKey
GetKey viene passato all'HSM e restituisce un oggetto chiave corrispondente all'etichetta specificata. Poiché
getKey
interroga direttamente l'HSM, può essere utilizzato per qualsiasi chiave sull'HSM indipendentemente dal fatto che sia stata generata dall'archivio chiavi.Key key = ks.getKey(keyLabel, null);
-
IsCertificateEntry
Controlla se la voce con l'alias specificato rappresenta una voce di certificato.
-
IsKeyEntry
Controlla se la voce con l'alias specificato rappresenta una voce chiave. L'azione cerca l'alias sia nel file PKCS12 che nell'HSM.
-
SetCertificateEntry
Assegna il certificato dato all'alias specificato. Se l'alias specificato è già in uso per identificare una chiave o un certificato, viene generata una
KeyStoreException
. È possibile utilizzare il codice JCE per ottenere l'oggetto chiave e quindi utilizzare il metodo KeyStoreSetKeyEntry
per associare il certificato alla chiave. -
SetKeyEntry
con chiavebyte[]
Questa API non è attualmente supportata con Client SDK 3.
-
SetKeyEntry
con oggettoKey
Assegna la chiave considerata all'alias specificato e la memorizza all'interno dell'HSM. Se l'oggetto
Key
non è di tipoCaviumKey
, la chiave viene importata nell'HSM come chiave di sessione estraibile.Se l'oggetto
Key
è di tipoPrivateKey
, deve essere accompagnato da una catena di certificati corrispondente.Se l'alias esiste già, la chiamata
SetKeyEntry
genera unKeyStoreException
e impedisce la sovrascrittura della chiave. Se la chiave deve essere sovrascritta, utilizza KMU o JCE a tale scopo. -
EngineSize
Restituisce il numero di voci nell'archivio chiavi.
-
Store
Memorizza l'archivio delle chiavi nel flusso di output specificato come file PKCS12 e lo protegge con la password indicata. Inoltre, persiste tutte le chiavi caricate (che sono impostate usando le chiamate
setKey
).