Attributi chiave Java supportati per AWS CloudHSM Client SDK 5 - 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à.

Attributi chiave Java supportati per AWS CloudHSM Client SDK 5

Questo argomento fornisce informazioni sugli attributi chiave Java supportati per il AWS CloudHSM Client SDK 5. Questo argomento descrive come utilizzare un'estensione proprietaria per il JCE provider per impostare gli attributi chiave. Utilizzare questa estensione per impostare gli attributi della chiave supportati e i relativi valori durante le operazioni seguenti:

  • Generazione delle chiavi

  • Importazione delle chiavi

Per esempi di utilizzo degli attributi chiave, vedi Esempi di codice per la libreria AWS CloudHSM software per Java for Client SDK 5.

Comprensione degli attributi

Gli attributi chiave vengono utilizzati per specificare le operazioni consentite su oggetti chiave, incluse le chiavi pubbliche, private o segrete. Gli attributi e i valori della chiave vengono definiti durante le operazioni di creazione degli oggetti chiave.

L'estensione di crittografia Java (JCE) non specifica come impostare i valori sugli attributi chiave, quindi la maggior parte delle azioni era consentita per impostazione predefinita. Al contrario, lo standard PKCS n. 11 definisce un set completo di attributi con impostazioni predefinite più restrittive. A partire dal JCE provider 3.1, AWS CloudHSM fornisce un'estensione proprietaria che consente di impostare valori più restrittivi per gli attributi di uso comune.

Attributi supportati

Puoi impostare i valori per gli attributi elencati nella tabella sottostante. Come best practice, imposta i valori solo per gli attributi che desideri rendere restrittivi. Se non si specifica un valore, AWS CloudHSM utilizza il valore predefinito specificato nella tabella seguente. Una cella vuota nella colonna Valore predefinito indica che all'attributo non è stato assegnato alcun valore predefinito specifico.

Attributo Valore predefinito Note
Chiave simmetrica Chiave pubblica in una coppia di chiavi Chiave privata in una coppia di chiavi
DECRYPT TRUE TRUE Il valore Vero indica che è possibile utilizzare la chiave per decodificare qualsiasi buffer. In genere lo si imposta su FALSE una chiave WRAP impostata su true.
DERIVE Consente di utilizzare una chiave per derivare altre chiavi.
ENCRYPT TRUE TRUE Il valore Vero indica che è possibile utilizzare la chiave per crittografare qualsiasi buffer.
EXTRACTABLE TRUE TRUE Il valore True indica che è possibile esportare questa chiave daHSM.
ID Un valore definito dall'utente utilizzato per identificare la chiave.
KEY_TYPE Utilizzato per identificare il tipo di chiave (AES,DESede, segreto generico, EC oRSA).
LABEL Una stringa definita dall'utente che ti consente di identificare comodamente le chiavi del tuo. HSM Per seguire le best practice, utilizza un'etichetta univoca per ogni chiave in modo che sia più facile trovarla in seguito.
LOCAL Indica una chiave generata da. HSM
OBJECT_CLASS Utilizzato per identificare la classe dell'oggetto di una chiave (SecretKey, PublicKey o PrivateKey).
PRIVATE TRUE TRUE TRUE Il valore Vero indica che un utente potrebbe non poter accedere alla chiave finché l'utente non viene autenticato. Per motivi di chiarezza, gli utenti non possono accedere a nessuna chiave AWS CloudHSM finché non vengono autenticati, anche se questo attributo è impostato su. FALSE
SIGN TRUE TRUE Il valore Vero indica che è possibile utilizzare la chiave per firmare un messaggio di digest. In genere è impostato FALSE per le chiavi pubbliche e per le chiavi private archiviate.
SIZE Un attributo che definisce la dimensione di una chiave. Per maggiori dettagli sulle dimensioni delle chiavi supportate, consulta Meccanismi supportati per il Client SDK 5.
TOKEN FALSE FALSE FALSE

Una chiave permanente che viene replicata HSMs in tutto il cluster e inclusa nei backup. TOKEN= FALSE implica una chiave temporanea che viene cancellata automaticamente quando la connessione a viene interrotta o disconnessa. HSM

UNWRAP TRUE TRUE Il valore Vero indica che è possibile utilizzare la chiave per annullare il wrapping (importazione) di un'altra chiave.
VERIFY TRUE TRUE Il valore Vero indica che è possibile utilizzare la chiave per verificare una firma. Questa opzione è generalmente impostata per le chiavi private. FALSE
WRAP TRUE TRUE Il valore Vero indica che è possibile utilizzare la chiave per eseguire il wrapping di un'altra chiave. In genere lo imposterai FALSE per le chiavi private.
WRAP_WITH_TRUSTED FALSE FALSE Il valore Vero indica che una chiave può essere soggetta a wrapping e ad annullamento del wrapping con chiavi con l'attributo TRUSTED impostato su vero. Una volta che una chiave ha il valore WRAP_WITH_TRUSTED impostato su vero, tale attributo è di sola lettura e non può essere impostato su falso. Per saperne di più sul wrapping di fiducia, vedi Utilizzo di chiavi fidate per controllare l'annullamento del wrapping delle chiavi.
Nota

È disponibile un supporto più ampio per gli attributi nella libreria PKCS #11. Per ulteriori informazioni, consulta Attributi PKCS #11 supportati.

Impostazione attributi per una chiave

KeyAttributesMap è un oggetto simile a Java Map che puoi utilizzare per impostare i valori degli attributi per gli oggetti chiave. I metodi per la funzione KeyAttributesMap sono simili a quelli utilizzati per la manipolazione della mappa Java.

Per impostare valori personalizzati sugli attributi, sono disponibili due opzioni:

  • Utilizzare i metodi elencati nella tabella seguente

  • Utilizzare i modelli di generatore illustrati più avanti in questo documento

Gli oggetti della mappa attributi supportano i seguenti metodi per impostare gli attributi:

Operazione Valore restituito Metodo KeyAttributesMap
Ottenere il valore di un attributo chiave per una chiave esistente Oggetto (contenente il valore) o nulla

get (keyAttribute)

Inserire il valore di un attributo chiave Il valore precedente associato all'attributo chiave o nulla se non esiste alcuna mappatura per un attributo chiave

put (keyAttribute, valore)

Compilare i valori per più attributi chiave N/D

putAll(keyAttributesMap)

Rimuovere una coppia chiave-valore dalla mappa degli attributi

Il valore precedente associato all'attributo chiave o nulla se non esiste alcuna mappatura per un attributo chiave

rimuovere (keyAttribute)

Nota

Eventuali attributi non specificati in modo esplicito vengono impostati sui valori predefiniti elencati nella tabella precedente in Attributi supportati.

Impostazione di attributi per una coppia di chiavi

Utilizza la classe Java KeyPairAttributesMap per gestire gli attributi chiave per una coppia di chiavi. KeyPairAttributesMap incapsula due oggetti KeyAttributesMap; uno per una chiave pubblica e uno per una chiave privata.

Per impostare singoli attributi per la chiave pubblica e la chiave privata separatamente, puoi utilizzare il metodo put() sull'oggetto mappa KeyAttributes corrispondente per tale chiave. Utilizza il metodo getPublic() per recuperare la mappa degli attributi per la chiave pubblica e utilizza getPrivate() per recuperare la mappa degli attributi per la chiave privata. Compila il valore di più attributi chiave insieme per coppie di chiavi pubbliche e private utilizzando la putAll() con una mappa degli attributi della coppia di chiavi come relativo argomento.