L'interfaccia Key e le classi KeySpec

Il materiale chiaro della chiave per le chiavi hardware private di tipo PKDS non viene mai restituito a un'applicazione e non può essere mai trasportato per l'utilizzo su un altro sistema. Per questo motivo, non è possibile utilizzare alcuna implementazione dell'interfaccia java.security.Key per rappresentarli.

Un riferimento software a una chiave hardware privata di tipo PKDS non è una chiave o una specifica chiave, ma è un'etichetta che può essere specificata al fornitore IBMJCECCA al posto di una chiave. Uno dei seguenti metodi può essere utilizzato per richiamare una rappresentazione di una coppia di chiavi hardware:
public byte [] getToken()
public byte [] getLabelString()

Per una coppia di chiavi DSA getLabelString() restituisce l'etichetta che rappresenta la chiave memorizzata nell'area di archiviazione chiavi CCA.

Per una coppia di chiavi RSA o EC di tipo CLEAR, getToken() deve essere utilizzata per restituire un token CCA interno. Per una coppia di chiavi RSA o EC di tipo PKDS, getLabelString() deve essere utilizzato per restituire l'etichetta che rappresenta la chiave memorizzata nell'area di memorizzazione delle chiavi CCA.

La KeyLabelKeySpec class

Questa classe (che implementa l'interfaccia KeySpec ) specifica l'etichetta CCA per una chiave AES, DES o DESede memorizzata nell'area di memorizzazione delle chiavi CCA. Se un KeyLabelKeySpec viene passato al metodo generateSecret() di un AESKeyFactory, un DESKeyFactoryo un DESedeKeyFactory , l'oggetto chiave restituito rappresenta una chiave già memorizzata nell'area di archiviazione delle chiavi CCA. Si noti che generateSecret() non crea una nuova chiave nell'area di archiviazione delle chiavi CCA e non verifica che tale voce esista nell'area di archiviazione delle chiavi CCA.

Questa classe specifica anche l'etichetta dell'area di memorizzazione chiave CCA per una coppia di chiavi DSA, RSA o EC memorizzata nell'area di memorizzazione chiave del sistema. Se un KeyLabelKeySpec viene passato al generatePrivate() o al metodo generatePublic() di un RSAKeyFactory o un ECKeyFactoryo al metodo generatePrivate() di un DSAKeyFactory, l'oggetto chiave restituito rappresenta la chiave corrispondente di una coppia di chiavi già memorizzata nell'area di archiviazione chiavi CCA. Notare che generatePublic() e generatePrivate() non creano una nuova chiave nell'area di memorizzazione delle chiavi CCA e non verificano che tale voce esista attualmente nell'area di memorizzazione delle chiavi CCA.

Questa classe ha i metodi seguenti:
public String getLabelString()
Questo metodo restituisce l'etichetta CCA per la chiave o la coppia di chiavi.

La classe DSAPrivateHWKeySpec

Questa classe (che implementa l'interfaccia KeySpec ) specifica una chiave hardware privata DSA con i parametri associati. Questa classe ha i metodi seguenti:
public byte[] getLabel()
Questo metodo restituisce l'etichetta della chiave privata.
public DSAKeyHWAttributes getAttributes()
Questo metodo restituisce i parametri dell'algoritmo DSA utilizzati per calcolare la chiave.
public DSAParameterSpec getDSAParamSpec()
Questo metodo restituisce gli attributi hardware DSA associati alla chiave.

Consultare la documentazione API Java™ per i metodi, i valori predefiniti e le limitazioni specifici associati a questa classe.

La classe RSAPrivateHWKeySpec

Questa classe (che implementa l'interfaccia KeySpec ) specifica una chiave hardware privata RSA con i parametri associati. Questa classe ha i metodi seguenti:

public byte[] getToken()
Questo metodo restituisce il token della chiave privata, che può essere un token CCA interno o un'etichetta di record della chiave dell'area di archiviazione della chiave CCA.
public RSAKeyHWAttributes getAttributes()
Questo metodo restituisce gli attributi hardware RSA associati alla chiave.

Consultare la documentazione API Java per i metodi specifici, i valori predefiniti e le restrizioni associati a questa classe.

La classe ECPrivateHWKeySpec

Questa classe (che implementa l'interfaccia KeySpec ) specifica una chiave hardware privata EC con i parametri associati. Questa classe ha i metodi seguenti:

public byte[] getToken()
Questo metodo restituisce il token della chiave privata, che può essere un token CCA esterno o un'etichetta di record della chiave dell'area di archiviazione della chiave CCA.
public ECHWKeyAttributes getAttributes()
Questo metodo restituisce gli attributi hardware EC associati alla chiave.
public ECParameterSpec getParams()
Questo metodo restituisce i parametri del dominio della curva ellittica associati alla chiave.

Consultare la documentazione API Java per i metodi, i valori predefiniti e le limitazioni specifici associati a questa classe.