Utilizzo della classe KeyStore Java AWS CloudHSM - AWS CloudHSM

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 KeyStore Java AWS CloudHSM

La classe AWS CloudHSM KeyStore fornisce un archivio di chiavi PKCS12 per scopi speciali. Questo archivio chiavi può archiviare i certificati insieme ai dati della chiave e correlarli ai dati della chiave memorizzati su AWS CloudHSM. La classe AWS CloudHSM KeyStore implementa l'interfaccia del provider di servizi (SPI) KeyStore della Java Cryptography Extension (JCE). Per ulteriori informazioni sull'utilizzo di KeyStore, vedi Classe KeyStore.

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.

Scegliere l'archivio chiavi appropriato

Il provider Java Cryptographic Extension (JCE) AWS CloudHSM offre un KeyStore AWS CloudHSM per scopi speciali. La classe AWS CloudHSM KeyStore supporta l'offload delle operazioni della chiave sull'HSM, l'archiviazione locale dei certificati e le operazioni basate sui certificati.

Carica il KeyStore CloudHSM per scopi speciali come segue:

KeyStore ks = KeyStore.getInstance("CloudHSM")

Inizializzazione di KeyStore AWS CloudHSM

Accedi al KeyStore AWS CloudHSM nello stesso modo in cui accedi al provider JCE. È possibile utilizzare le variabili di ambiente o il file delle proprietà di sistema ed è necessario accedere prima di iniziare a utilizzare KeyStore CloudHSM. Per un esempio di accesso a un HSM utilizzando JCE, vedi Accedi a un HSM.

Se lo si desidera, è possibile specificare una password per crittografare il file PKCS12 locale che contiene i dati dell'archivio chiavi. Quando crei l'archivio chiavi AWS CloudHSM, imposta la password e forniscila quando usi i metodi di caricamento, impostazioni e ottenimento.

Istanziare un nuovo oggetto KeyStore CloudHSM come segue:

ks.load(null, null);

Scrivi i dati dell'archivio chiavi 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);

Utilizzo di KeyStore AWS CloudHSM

AWS CloudHSM KeyStore è conforme alle specifiche JCE Classe KeyStore e fornisce le seguenti funzioni.

  • 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. Imposta 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 utilizzando il metodo destroy dell'interfaccia Distruggibile.

    ((Destroyable) key).destroy();
  • 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 chiave 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

    OttieniChiave 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 sia il file PKCS12 che l'HSM per l'alias.

  • 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 KeyStore SetKeyEntry per associare il certificato alla chiave.

  • SetKeyEntry con chiave byte[]

    Questa API non è attualmente supportata con Client SDK 5.

  • SetKeyEntry con oggetto Key

    Assegna la chiave considerata all'alias specificato e la memorizza all'interno dell'HSM. Se la chiave non esiste già all'interno dell'HSM, verrà importata nell'HSM come chiave di sessione estraibile.

    Se l'oggetto Key è di tipo PrivateKey, deve essere accompagnato da una catena di certificati corrispondente.

    Se l'alias esiste già, la chiamata SetKeyEntry genera un KeyStoreException e impedisce la sovrascrittura della chiave. Se la chiave deve essere sovrascritta, utilizzare 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).