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.
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.
public String getLabelString()- Questo metodo restituisce l'etichetta CCA per la chiave o la coppia di chiavi.
La classe DSAPrivateHWKeySpec
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.