Installa il JCE provider per il AWS CloudHSM Client SDK 3 - 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à.

Installa il JCE provider per il AWS CloudHSM Client SDK 3

Prima di poter utilizzare il JCE provider, è necessario il AWS CloudHSM client.

Il client è un demone che stabilisce una comunicazione end-to-end crittografata con i membri del clusterHSMs. Il JCE provider comunica localmente con il client. Se non hai installato e configurato il pacchetto AWS CloudHSM client, fallo ora seguendo i passaggi riportati di seguito. Installazione del client (Linux) Dopo aver installato e configurato il client, esegui questo comando per avviarlo.

Tieni presente che il JCE provider è supportato solo su Linux e sistemi operativi compatibili.

Amazon Linux
$ sudo start cloudhsm-client
Amazon Linux 2
$ sudo systemctl cloudhsm-client start
CentOS 7
$ sudo systemctl cloudhsm-client start
CentOS 8
$ sudo systemctl cloudhsm-client start
RHEL 7
$ sudo systemctl cloudhsm-client start
RHEL 8
$ sudo systemctl cloudhsm-client start
Ubuntu 16.04 LTS
$ sudo systemctl cloudhsm-client start
Ubuntu 18.04 LTS
$ sudo systemctl cloudhsm-client start
Ubuntu 20.04 LTS
$ sudo systemctl cloudhsm-client start

Utilizza le seguenti sezioni per installare, convalidare e fornire credenziali al provider.

Fase 1: Installare il provider JCE

Utilizza i seguenti comandi per scaricare e installare il JCE provider. Il provider è supportato solo sui sistemi operativi Linux e altri sistemi operativi compatibili.

Nota

Per l'aggiornamento, vedi Aggiorna Client SDK 3.

Amazon Linux
$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL6/cloudhsm-client-jce-latest.el6.x86_64.rpm
$ sudo yum install ./cloudhsm-client-jce-latest.el6.x86_64.rpm
Amazon Linux 2
$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL7/cloudhsm-client-jce-latest.el7.x86_64.rpm
$ sudo yum install ./cloudhsm-client-jce-latest.el7.x86_64.rpm
CentOS 7
$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL7/cloudhsm-client-jce-latest.el7.x86_64.rpm
$ sudo yum install ./cloudhsm-client-jce-latest.el7.x86_64.rpm
CentOS 8
$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL8/cloudhsm-client-jce-latest.el8.x86_64.rpm
$ sudo yum install ./cloudhsm-client-jce-latest.el8.x86_64.rpm
RHEL 7
$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL7/cloudhsm-client-jce-latest.el7.x86_64.rpm
$ sudo yum install ./cloudhsm-client-jce-latest.el7.x86_64.rpm
RHEL 8
$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/EL8/cloudhsm-client-jce-latest.el8.x86_64.rpm
$ sudo yum install ./cloudhsm-client-jce-latest.el8.x86_64.rpm
Ubuntu 16.04 LTS
$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/Xenial/cloudhsm-client-jce_latest_amd64.deb
$ sudo apt install ./cloudhsm-client-jce_latest_amd64.deb
Ubuntu 18.04 LTS
$ wget https://s3.amazonaws.com/cloudhsmv2-software/CloudHsmClient/Bionic/cloudhsm-client-jce_latest_u18.04_amd64.deb
$ sudo apt install ./cloudhsm-client-jce_latest_u18.04_amd64.deb

Dopo aver eseguito i comandi precedenti, è possibile trovare i seguenti file del JCE provider:

  • /opt/cloudhsm/java/cloudhsm-version.jar

  • /opt/cloudhsm/java/cloudhsm-test-version.jar

  • /opt/cloudhsm/java/hamcrest-all-1.3.jar

  • /opt/cloudhsm/java/junit.jar

  • /opt/cloudhsm/java/log4j-api-2.17.1.jar

  • /opt/cloudhsm/java/log4j-core-2.17.1.jar

  • /opt/cloudhsm/lib/libcaviumjca.so

Fase 2: Convalida l'installazione

Eseguire le operazioni di base HSM per convalidare l'installazione.

Per convalidare JCE l'installazione del provider
  1. (Facoltativo) Se non hai già installato Java nell'ambiente, utilizza il comando seguente per installarlo.

    Linux (and compatible libraries)
    $ sudo yum install java-1.8.0-openjdk
    Ubuntu
    $ sudo apt-get install openjdk-8-jre
  2. Utilizza i seguenti comandi per impostare le variabili di ambiente necessarie. Replace (Sostituisci) <HSM user name> e <password> con le credenziali di un utente crittografico (CU).

    $ export LD_LIBRARY_PATH=/opt/cloudhsm/lib
    $ export HSM_PARTITION=PARTITION_1
    $ export HSM_USER=<HSM user name>
    $ export HSM_PASSWORD=<password>
  3. Utilizza il seguente comando per eseguire il test di funzionalità di base. Se il comando viene eseguito correttamente, verrà visualizzato un output simile al seguente.

    $ java8 -classpath "/opt/cloudhsm/java/*" org.junit.runner.JUnitCore TestBasicFunctionality JUnit version 4.11 .2018-08-20 17:53:48,514 DEBUG [main] TestBasicFunctionality (TestBasicFunctionality.java:33) - Adding provider. 2018-08-20 17:53:48,612 DEBUG [main] TestBasicFunctionality (TestBasicFunctionality.java:42) - Logging in. 2018-08-20 17:53:48,612 INFO [main] cfm2.LoginManager (LoginManager.java:104) - Looking for credentials in HsmCredentials.properties 2018-08-20 17:53:48,612 INFO [main] cfm2.LoginManager (LoginManager.java:122) - Looking for credentials in System.properties 2018-08-20 17:53:48,613 INFO [main] cfm2.LoginManager (LoginManager.java:130) - Looking for credentials in System.env SDK Version: 2.03 2018-08-20 17:53:48,655 DEBUG [main] TestBasicFunctionality (TestBasicFunctionality.java:54) - Generating AES Key with key size 256. 2018-08-20 17:53:48,698 DEBUG [main] TestBasicFunctionality (TestBasicFunctionality.java:63) - Encrypting with AES Key. 2018-08-20 17:53:48,705 DEBUG [main] TestBasicFunctionality (TestBasicFunctionality.java:84) - Deleting AES Key. 2018-08-20 17:53:48,707 DEBUG [main] TestBasicFunctionality (TestBasicFunctionality.java:92) - Logging out. Time: 0.205 OK (1 test)

Fase 3: Fornire le credenziali al provider JCE

HSMsè necessario autenticare l'applicazione Java prima che l'applicazione possa utilizzarla. Ogni applicazione può utilizzare una sessione. HSMsautenticare una sessione utilizzando il metodo di accesso esplicito o il metodo di accesso implicito.

Accesso esplicito: questo metodo consente di fornire HSM le credenziali Cloud direttamente nell'applicazione. Utilizza il LoginManager.login() metodo, in cui si passano il nome utente, la password e l'ID della HSM partizione CU. Per maggiori informazioni sull'utilizzo del metodo di accesso esplicito, consulta l'esempio di codice Login to an HSM.

Accesso implicito: questo metodo consente di impostare HSM le credenziali Cloud in un nuovo file di proprietà, nelle proprietà del sistema o come variabili di ambiente.

  • Nuovo file di proprietà Crea un nuovo file con nome HsmCredentials.properties e aggiungilo al CLASSPATH della tua applicazione. Il file deve contenere il testo seguente:

    HSM_PARTITION = PARTITION_1 HSM_USER = <HSM user name> HSM_PASSWORD = <password>
  • Proprietà di sistema – Imposta le credenziali attraverso le proprietà di sistema durante l'esecuzione di un'applicazione. I seguenti esempi mostrano due modi differenti con cui è possibile eseguire questa operazione:

    $ java -DHSM_PARTITION=PARTITION_1 -DHSM_USER=<HSM user name> -DHSM_PASSWORD=<password>
    System.setProperty("HSM_PARTITION","PARTITION_1"); System.setProperty("HSM_USER","<HSM user name>"); System.setProperty("HSM_PASSWORD","<password>");
  • Variabili di ambiente Imposta le credenziali come variabili di ambiente.

    $ export HSM_PARTITION=PARTITION_1 $ export HSM_USER=<HSM user name> $ export HSM_PASSWORD=<password>

Le credenziali potrebbero non essere disponibili se l'applicazione non le fornisce o se si tenta un'operazione prima della HSM sessione di autenticazione. In questi casi, la libreria HSM software Cloud per Java cerca le credenziali nel seguente ordine:

  1. HsmCredentials.properties

  2. Proprietà di sistema

  3. Variabili di ambiente

Gestione degli errori

La gestione degli errori è più facile con l'accesso esplicito rispetto al metodo di login implicito. Quando si utilizza la classe LoginManager, si dispone di un maggiore controllo sulla modalità con cui l'applicazione gestisce gli errori. Il metodo di accesso implicito rende difficile la comprensione della gestione degli errori quando le credenziali non sono valide o si verificano problemi durante l'HSMsautenticazione della sessione.