Comandi Keytool
Quando si utilizzano i comandi keytool in questo argomento, assicurarsi di utilizzare i flag dei comandi descritti in Prerequisiti per Keytool e Jarsigner.
Genera coppia di chiavi
Utilizzare il flag -genkeypair per generare 1 chiave privata e 1 chiave pubblica nell'HSM DKMS utilizzando lo strumento chiave con JCE. Questa operazione consente anche di memorizzare la chiave nel keystore locale.
Importante: quando si utilizza il comando keytool per generare una coppia di chiavi o importare un keystore esistente, la configurazione della sicurezza Java garantisce la generazione di una chiave pubblica e privata nella scheda HSM. Se si utilizza il file java.security per questa configurazione, il provider KMS dedicato OCI deve essere specificato come priorità 2 nel file per la generazione delle coppie di chiavi nell'HSM.
In alternativa, nella directory corrente, creare un file di override della sicurezza Java e aggiungere il provider KMS dedicato OCI nella seconda posizione come security.provider.2. Quando si esegue un comando Keytool, utilizzare l'opzione seguente per specificare il file di sostituzione della sicurezza Java:
-J-Djava.security.properties=<java_security_override_file>
Per ulteriori informazioni sulla configurazione della sicurezza Java, vedere Aggiungere il provider JCE a Java Security.
Impossibile trovare la coppia di chiavi generata utilizzando un alias nella utility di gestione delle chiavi. Facoltativamente, è possibile elencare le chiavi prima e dopo la generazione delle chiavi per identificare la nuova chiave nell'HSM. Ciò consente di eliminare facilmente la chiave nell'HSM se necessario. Prima di creare una coppia di chiavi, accedere all'HSM e creare un elenco di handle esistenti. Creare quindi un elenco dopo aver creato la coppia di chiavi per trovare l'handle della nuova coppia di chiavi. Per istruzioni, vedere Identificing the Handle of a New Key Pair or Secret Key in the HSM.
Sintassi dei comandi:
keytool \
-J-cp -J<dedicated_kms_jce_jar_path> \
-genkeypair -alias <example-alias> -keyalg <algorithm> -keysize <key-size> -sigalg <signature-algorithm> \
-dname <example-distinguished-name> \
-keypass <example-password> -keystore <local-keystore-name> -storepass <example-password> -storetype DKKS
-J-Djava.security.properties=<java_security_override_file>
Genera chiave segreta
Utilizzare il flag -genseckey nella utility Key Management con JCE .per eseguire questa operazione. Questa operazione genera 1 chiave segreta nell'HSM.
Impossibile trovare la chiave segreta utilizzando un alias nella utility Key Management. Prima di creare una chiave segreta, accedere all'HSM e creare un elenco di handle esistenti. È possibile utilizzare questo elenco dopo aver creato la coppia di chiavi per trovare l'handle della nuova chiave segreta. Per istruzioni, vedere Identificing the Handle of a New Key Pair or Secret Key in the HSM.
Sintassi dei comandi:
keytool \
-J-cp -J<dedicated_kms_jce_jar_path> \
-genseckey -alias <example-alias> -keyalg <algorithm> -keysize <key-size> \
-keypass <example-password> -keystore <local-keystore-name> -storepass <example-password> -storetype DKKS
Identificazione della maniglia di una nuova coppia di chiavi o di una chiave segreta in HSM
Impossibile trovare nuove coppie di chiavi o chiavi segrete create nell'HSM utilizzando un alias nella utility di gestione delle chiavi. È possibile trovare l'handle di una nuova coppia di chiavi o di una nuova chiave segreta confrontando una lista di tutti gli handle prima che venga generata una coppia di chiavi o una chiave segreta con una seconda lista di tutti gli handle creati dopo la generazione di una coppia di chiavi o di una chiave segreta. La differenza tra i due elenchi mostra l'handle appena creato per la coppia di chiavi o la chiave segreta.
- Accedere a HSM con la utility Key Management.
-
Eseguire il comando seguente per trovare e salvare un elenco degli handle esistenti:
findKey -c <key-type>Per <key-type>, i valori validi sono: 2 = pubblico 3 = privato 4 = segreto. Per ulteriori informazioni, vedere Ricerca di una singola chiave.
- Generare una coppia di chiavi o una chiave segreta. Per istruzioni, vedere Generate Key Pair e Generate Secret Key.
- Ripetere i passi 1 e 2 e utilizzare il comando
findKey -c 4per trovare e salvare un elenco di handle in HSM. Il nuovo elenco include l'handle per la coppia di chiavi o la chiave segreta appena generata. - Eseguire un'operazione di confronto sui due elenchi per trovare un nuovo handle.
Eliminazione di una chiave
Utilizzare le istruzioni riportate nella sezione espandibile seguente per eliminare le chiavi dal keystore locale e da HSM.
-
Eseguire il seguente comando keytool per eliminare la chiave nel keystore locale:
keytool \ -J-cp -J<dedicated_kms_jce_jar_path> \ -delete -alias <example-alias> \ -keypass <example-password> -keystore <example-keystore-name> -storepass <example-password> -storetype DKKS -
Per eliminare una chiave nell'HSM, eseguire il comando riportato di seguito nella utility Dedicated Key Management.
deleteKey -k <key-handle>Per ulteriori informazioni, vedere Eliminazione di una chiave.
Generazione di una richiesta di firma certificato (CSR, Certificate Signing Request) con lo strumento chiave
Utilizzare il flag -certreq per generare una richiesta di firma certificato (CSR, Certificate Signing Request) utilizzando una chiave nell'HSM. Il comando viene eseguito utilizzando l'utilità keytool con JCE.
Eseguire il comando riportato di seguito per generare un CSR utilizzando una chiave in HSM.
keytool \
-J-cp -J<dedicated_kms_jce_jar_path> \
-certreq \
-alias <example-alias> \
-file <csr-file> \
-keyalg -keyalg <algorithm> -keysize <key-size> -sigalg <signature-algorithm> \
-dname <example-distinguished-name> \
-keypass <example-password> -keystore <local-keystore-name> -storepass <example-password> -storetype DKKSImportazione di un certificato in un keystore
Usare il flag -importcert per importare un certificato nel keystore locale. Il comando viene eseguito utilizzando il keytool con JCE.
Sintassi dei comandi:
keytool \
-J-cp -J<dedicated_kms_jce_jar_path> \
-importcert -noprompt \
-alias <example-alias> \
-file <crt-file> \
-keypass <example-password> -keystore <local-keystore-name> -storepass <example-password>
Importazione di un keystore Java in HSM
Utilizzare il flag -importkeystore per importare tutte le chiavi in un keystore nell'HSM. Il comando viene eseguito utilizzando keytool con JCE.
Importante:
-
Quando si utilizza il comando
keytoolper generare una coppia di chiavi o importare un keystore esistente, la configurazione della sicurezza Java garantisce la generazione di una chiave pubblica e privata nella scheda HSM. Se si utilizza il filejava.securityper questa configurazione, il provider KMS dedicato OCI deve essere specificato come priorità 2 nel file per la generazione delle coppie di chiavi nell'HSM.In alternativa, nella directory corrente, creare un file di override della sicurezza Java e aggiungere il provider KMS dedicato OCI nella seconda posizione come
security.provider.2. Durante l'esecuzione di un comando Keytool, utilizzare l'opzione seguente per specificare il file di sostituzione della sicurezza Java:-J-Djava.security.properties=<java_security_override_file>Per ulteriori informazioni sulla configurazione della sicurezza Java, vedere Aggiungere il provider JCE a Java Security.
- Se si importa un keystore con 2 o più chiavi in HSM, non è possibile identificare l'handle delle chiavi utilizzando il metodo descritto in Identificazione dell'handle di una nuova coppia di chiavi o di una chiave segreta in HSM e non è possibile fare riferimento alle chiavi nella utility di gestione delle chiavi utilizzando un alias.
Sintassi dei comandi:
keytool \
-J-cp -J<dedicated_kms_jce_jar_path> \
-J-Djava.security.properties=<java_security_override_file> \
-importkeystore \
-srckeystore <example-source-keystore> - srcstoretype <example-source-keystore-type> -srcstorepass <example-source-keystore-password> \
-destkeystore <example-destination-keystore> -deststoretype DKKS - deststorepass <example-destination-keystore-password> \
Inizializzazione di un keystore
Se non si dispone di un keystore inizializzato vuoto, è possibile crearne uno eseguendo le operazioni riportate di seguito.
-
Il programma keytool non può creare un keystore DKKS vuoto, ma è possibile utilizzare keytool per creare un keystore nell'ambito di un'operazione di generazione di chiavi. Dopo aver generato una chiave con lo strumento di chiave, è possibile eliminare la chiave e il keystore inizializzato rimane disponibile.
Utilizzare le istruzioni riportate in Genera coppia di chiavi e Identificazione dell'handle di una nuova coppia di chiavi o di una chiave segreta nell'HSM per generare una coppia di chiavi che può essere identificata da un handle. Quando si genera questa coppia di chiavi, la utility Keytool crea un keystore inizializzato che è possibile utilizzare per operazioni future.
- Eliminare la coppia di chiavi non necessaria da HSM utilizzando le istruzioni riportate in Eliminazione di una chiave.