Classi di parametri algoritmo
Classi che implementano l'interfaccia AlgorithmParameterSpec .
La classe CCAAlgorithmParameterSpec
Questa classe (che implementa l'interfaccia AlgorithmParameterSpec ) specifica se la chiave AES, DES o DES triplo da generare o da decodificare è una chiave hardware segreta e se è memorizzata nell'area di memorizzazione della chiave CCA.
Nel caso predefinito, un oggetto di questa classe viene creato senza specificare un tipo di chiave e viene passato al metodo init() di un AESKeyGenerator, un DESKeyGeneratoro un DESedeKeyGenerator. In questo caso, una chiamata successiva a generateKey() restituirà un oggetto chiave che contiene la chiave richiesta, codificata utilizzando la chiave primaria dell'host.
Un oggetto CCAAlgorithmParameterSpec può essere usato per specificare la forza (dimensione) della chiave da generare.
Un oggetto CCAAlgorithmParameterSpec può essere utilizzato per specificare il tipo di wrapping del token chiave CCA da utilizzare per una chiave DES o DESede di tipo CKDS o SECURE_INTERNAL_TOKEN.
Se l'oggetto CCAAlgorithmParameterSpec viene utilizzato per generare una chiave di tipo CKDS, è possibile utilizzare CCAAlgorithmParameterSpec per specificare l'etichetta desiderata da utilizzare per memorizzare la chiave all'interno dell'area di archiviazione delle chiavi CCA. Se viene specificata un'etichetta, deve essere univoca nell'area di archiviazione delle chiavi CCA e deve seguire le regole CCA per le etichette. Se non viene specificata alcuna etichetta per una nuova voce CCA, il metodo KeyGenerator generateKey() ne crea una automaticamente.
Un oggetto CCAAlgorithmParameterSpec può essere utilizzato anche per specificare esplicitamente il tipo di chiave da creare:
CCAAlgorithmParameterSpec.CKDSpuò essere passato al costruttoreCCAAlgorithmParameterSpece l'oggetto risultante può essere passato al metodoinit()di unAESKeyGenerator, unDESKeyGeneratoro unDESedeKeyGenerator. In questo caso, una chiamata successiva agenerateKey()restituisce un oggetto chiave che contiene l'etichetta CCA della chiave codificata utilizzando la chiave primaria host e memorizzata nell'area di memorizzazione delle chiavi CCA del sistema.CCAAlgorithmParameterSpec.SECURE_INTERNAL_TOKENpuò essere passato al costruttoreCCAAlgorithmParameterSpece l'oggetto risultante può essere passato al metodoinit()di unAESKeyGenerator, unDESKeyGeneratoro unDESedeKeyGenerator. In questo caso, una chiamata successiva agenerateKey()restituirà un oggetto chiave che contiene la chiave richiesta, codificata utilizzando la chiave primaria dell'host. Questa chiave può essere generata anche utilizzando una classeKeyGeneratore passando un oggettoCCAAlgorithmParameterSpec, creato senza specificare un tipo di chiave, al metodoKeyGenerator init().CCAAlgorithmParameterSpec.CLEARpuò essere passato al costruttoreCCAAlgorithmParameterSpece l'oggetto risultante può essere passato al metodoinit()di unAESKeyGenerator, unDESKeyGeneratoro unDESedeKeyGenerator. In tal caso, una chiamata successiva agenerateKey()restituirà un oggetto chiave che contiene il materiale della chiave chiara per la chiave richiesta. Questa chiave può essere generata anche utilizzando una classeKeyGeneratorsenza passare un oggettoCCAAlgorithmParameterSpecal metodoKeyGenerator init().
CCAAlgorithmParameterSpec dispone dei seguenti metodi costruttore:public CCAAlgorithmParameterSpec()public CCAAlgorithmParameterSpec(int size)public CCAAlgorithmParameterSpec(byte hwType)public CCAAlgorithmParameterSpec(int size,byte hwType)public CCAAlgorithmParameterSpec(int size,byte hwType,String label)public CCAAlgorithmParameterSpec(byte hwType,String label)public CCAAlgorithmParameterSpec(int size, byte hwType, String label, byte wrappingMode)A questi metodi costruttore si applicano le seguenti limitazioni dei parametri:
- Il parametro
sizedeve essere valido per l'algoritmo specifico diKeyGeneratora cui viene passato questoCCAAlgorithmParameterSpec. - Il parametro
hwTypedeve essere uno dei seguenti valori costanti:CCAAlgorithmParameterSpec.CLEARCCAAlgorithmParameterSpec.SECURE_INTERNAL_TOKENCCAAlgorithmParameterSpec.CKDS
- Il parametro
labeldeve essere valido per il componente CCA, in base alle regole definite per ICSF su z/OS®. - Il parametro
wrappingModeviene utilizzato per specificare il tipo di impacchettamento della chiave che si desidera utilizzare da CCA quando si generano le chiavi DES o DESede. Altri tipi di chiave, come AES, non rispettano il valore della modalità di impacchettamento della chiave perché sono sempre generati con la modalità di impacchettamento predefinita di sistema definita per ICSF su z/OS. I valori accettabili per mode includono ECB, CBC e DEFAULT (il caso viene ignorato per questi valori). Quando si utilizza questo indicatore, si riceve un errore nelle condizioni seguenti:- Quando si genera una chiave che non è di tipo DES o DESede. L'impacchettamento della chiave migliorato è supportato solo per le chiavi DES e DESede.
- Se non è stato specificato ECB, CBC o DEFAULT per la modalità.
- Se è stato specificato l'indicatore
-wrappingModequando è stata creata una chiave CLEAR. La modalità di wrapping della chiave avanzata è supportata solo quando si creano tipi di chiavi SECURE_INTERNAL_TOKEN e CKDS.
La classe CCAAlgorithmParameterSpec ha i seguenti metodi.
- Metodi di dimensione chiave
- Questi metodi impostano o restituiscono la dimensione della chiave specificata facoltativamente per il metodo costruttore
CCAAlgorithmParameterSpec:public int getKeySize()public void setKeySize(int size)
- Metodi di tipo chiave
- Questi metodi impostano o restituiscono il tipo di chiave facoltativamente specificato per il metodo costruttore
CCAAlgorithmParameterSpec:public byte getHwType()public void setHwType(byte hwTypeVal)
CCAAlgorithmParameterSpec.CLEARCCAAlgorithmParameterSpec.SECURE_INTERNAL_TOKENCCAAlgorithmParameterSpec.CKDS
- Metodi di etichetta di archiviazione
- Questi metodi impostano o restituiscono l'etichetta di archiviazione della chiave CCA che è facoltativamente specificata per il metodo costruttore
CCAAlgorithmParameterSpec. Se non si specifica un'etichetta CCA, questa etichetta viene impostata sunull:public String getLabel()public void setLabel(String label)
- Metodi della modalità di impacchettamento
- Questi metodi impostano o restituiscono la modalità di wrapping del token CCA che è facoltativamente specificata per il metodo del costruttore
CCAAlgorithmParameterSpec. Se non si specifica una modalità di impacchettamento, questa modalità è impostata suDEFAULT:public byte getTokenWrappingMode()public void setTokenWrappingMode(byte wrappingMode)
Non è necessario specificare un oggetto CCAAlgorithmParameterSpec per creare una chiave utilizzando un oggetto AESKeyGenerator, DESKeyGeneratoro DESedeKeyGenerator . Se nessun oggetto CCAAlgorithmParameterSpec viene passato al metodo KeyGenerator init() prima che venga richiamato il metodo generateKey() , l'oggetto chiave restituito contiene il materiale della chiave chiara per la chiave richiesta.
La classe KeyParameterSpec per hardware DSA (DSAHWKeyParameterSpec)
Questa classe (che implementa l'interfaccia di AlgorithmParameterSpec ) specifica la serie di parametri da utilizzare con l'algoritmo hardware DSA:
DSAKeyHWAttributesA causa delle limitazioni hardware, devono essere
KeyHWAttributeValues.PKDSeKeyHWAttributeValues.SIGNATURE.DSAParameterSpecQuesti sono i seguenti:p: il primoq: il subprimeg: la base
KeySizeQuesto parametro indica la dimensione della chiave in base al numero primo
p.KeyLabelQuesto parametro specifica il nome utilizzato come riferimento alla chiave memorizzata nell'hardware.
Consultare la documentazione API Java™ per i metodi specifici, i valori predefiniti e le limitazioni associati a questa classe.
La classe KeyParameterSpec per hardware RSA (RSAKeyParameterSpec)
Questa classe (che implementa l'interfaccia di AlgorithmParameterSpec ) specifica la serie di parametri da utilizzare con l'algoritmo hardware RSA:
RSAKeyHWAttributesQuesto parametro include i seguenti elementi:
RSAKeyHWAttributes.typeQuesto elemento deve avere uno dei seguenti valori:KeyHWAttributeValues.PKDSKeyHWAttributeValues.CLEARKeyHWAttributeValues.RETAIN
RSAKeyHWAttributes.usageQuesto elemento deve avere uno dei seguenti valori:KeyHWAttributeValues.SIGNATUREKeyHWAttributeValues.KEYMANAGEMENT
KeySizeQuesto parametro specifica la dimensione della chiave.
KeyLabelSe
RSAKeyHWAttributes.typenon è specificato comeKeyHWAttributeValues.CLEAR, questo parametro specifica il nome utilizzato come riferimento alla chiave memorizzata nell'area di archiviazione chiavi CCA.
Consultare la documentazione API Java per i metodi specifici, i valori predefiniti e le limitazioni associati a questa classe.
La classe KeyParameterSpec per hardware EC (ECHWKeyParameterSpec)
Questa classe (che implementa l'interfaccia di AlgorithmParameterSpec ) specifica la serie di parametri da utilizzare con l'algoritmo hardware EC:
ECHWKeyAttributesQuesto parametro include i seguenti elementi:
ECHWKeyAttributes.typeQuesto elemento deve avere uno dei seguenti valori:
KeyHWAttributeValues.PKDSKeyHWAttributeValues.CLEAR
ECHWKeyAttributes.usageQuesto elemento deve avere uno dei seguenti valori:
KeyHWAttributeValues.SIGNATUREKeyHWAttributeValues.KEYMANAGEMENT
ECParameterSpecQuesto elemento è composto dai seguenti elementi:curve: la curva ellitticag: il generatore, noto anche come punto basen: l'ordine del generatoregh: il cofattore
StandardNameQuesto parametro specifica il nome standard dei parametri del dominio della curva ellittica.
KeySizeQuesto parametro specifica la dimensione della chiave.
KeyLabelSe
ECHWKeyAttributes.typenon è specificato comeKeyHWAttributeValues.CLEAR, questo parametro specifica il nome utilizzato come riferimento alla chiave memorizzata nell'area di archiviazione chiavi CCA.
Consultare la documentazione API Java per i metodi, i valori predefiniti e le limitazioni specifici associati a questa classe.