Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Installation du JCE fournisseur pour le AWS CloudHSM client SDK 3
Avant de pouvoir utiliser le JCE fournisseur, vous avez besoin du AWS CloudHSM client.
Le client est un démon qui établit une communication end-to-end cryptée avec le HSMs dans votre cluster. Le JCE fournisseur communique localement avec le client. Si vous n'avez pas installé ni configuré le package AWS CloudHSM client, faites-le maintenant en suivant les étapes décrites dansInstaller le client (Linux). Une fois que vous avez installé et configuré le client, utilisez la commande suivante pour le démarrer.
Notez que le JCE fournisseur n'est pris en charge que sur Linux et les systèmes d'exploitation compatibles.
Utilisez les sections suivantes pour installer, valider et fournir des informations d'identification au fournisseur.
Rubriques
Étape 1 : installer le JCE fournisseur
Utilisez les commandes suivantes pour télécharger et installer le JCE fournisseur. Cette bibliothèque est prise en charge uniquement sur les systèmes d'exploitation Linux et compatibles.
Note
Pour la mise à niveau, consultez Mettre à niveau le client SDK 3.
Après avoir exécuté les commandes précédentes, vous pouvez trouver les fichiers du JCE fournisseur suivants :
-
/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
Étape 2 : valider l'installation
Effectuez des opérations de base sur le HSM pour valider l'installation.
Pour valider l'installation JCE du fournisseur
-
(Facultatif) Si besoin, utilisez la commande suivante pour installer Java dans votre environnement.
-
Utilisez les commandes suivantes pour définir les variables d'environnement nécessaires. Remplacez
<HSM user name>
and<password>
avec les informations d'identification d'un utilisateur cryptographique (CU).$
export LD_LIBRARY_PATH=/opt/cloudhsm/lib
$
export HSM_PARTITION=PARTITION_1
$
export HSM_USER=
<HSM user name>
$
export HSM_PASSWORD=
<password>
-
Utilisez la commande suivante pour lancer le test des fonctionnalités de base. Si elle aboutit, la sortie de commande devrait ressembler à la sortie ci-dessous.
$
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)
Étape 3 : Fournissez les informations d'identification au JCE fournisseur
HSMsdevez authentifier votre application Java avant que l'application puisse les utiliser. Chaque application peut utiliser une session. HSMsauthentifier une session en utilisant soit une méthode de connexion explicite, soit une méthode de connexion implicite.
Connexion explicite : cette méthode vous permet de fournir des HSM informations d'identification Cloud directement dans l'application. Il utilise la LoginManager.login()
méthode dans laquelle vous transmettez le nom d'utilisateur, le mot de passe et l'ID de HSM partition du CU. Pour plus d'informations sur l'utilisation de la méthode de connexion explicite, consultez l'exemple de connexion à un HSM
Connexion implicite : cette méthode vous permet de définir les HSM informations d'identification Cloud dans un nouveau fichier de propriétés, dans les propriétés du système ou sous forme de variables d'environnement.
-
Nouveau fichier de propriétés : Créez un nouveau fichier intitulé
HsmCredentials.properties
et ajoutez-le dans leCLASSPATH
de votre application. Le fichier doit contenir ce qui suit :HSM_PARTITION = PARTITION_1 HSM_USER =
<HSM user name>
HSM_PASSWORD =<password>
-
Propriétés système : Définissez les informations d’identification par le biais des propriétés système lors de l’exécution de votre application. Les exemples suivants montrent deux manières de le faire :
$
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>
"); -
Variables d’environnement : Définissez les informations d’identification en tant que variables d’environnement.
$
export HSM_PARTITION=PARTITION_1
$
export HSM_USER=
<HSM user name>
$
export HSM_PASSWORD=
<password>
Les informations d'identification peuvent ne pas être disponibles si l'application ne les fournit pas ou si vous tentez une opération avant la session d'HSMauthentification. Dans ces cas, la bibliothèque HSM logicielle Cloud pour Java recherche les informations d'identification dans l'ordre suivant :
-
HsmCredentials.properties
-
Propriétés système
-
Variables d’environnement
Gestion des erreurs
La gestion des erreurs est plus facile avec la méthode de connexion explicite qu’avec la méthode de connexion implicite. Lorsque vous utilisez la classe LoginManager
, vous maîtrisez mieux la manière dont votre application gère les pannes. La méthode de connexion implicite rend la gestion des erreurs difficile à comprendre lorsque les informations d'identification ne sont pas valides ou que l'HSMsauthentification de session pose problème.