As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Instale o JCE provedor para o AWS CloudHSM Cliente SDK 3
Antes de usar o JCE provedor, você precisa do AWS CloudHSM cliente.
O cliente é um daemon que estabelece comunicação end-to-end criptografada com o HSMs em seu cluster. O JCE provedor se comunica localmente com o cliente. Se você não instalou e configurou o pacote do AWS CloudHSM cliente, faça isso agora seguindo as etapas emInstalar o cliente (Linux). Após instalar e configurar o cliente, use o comando a seguir para iniciá-lo.
Observe que o JCE provedor é compatível somente com Linux e sistemas operacionais compatíveis.
Use as seções a seguir para instalar, validar e fornecer credenciais ao provedor.
Tópicos
Etapa 1: instalar o JCE provedor
Use os comandos a seguir para baixar e instalar o JCE provedor. Este provedor só tem suporte no Linux e em sistemas operacionais compatíveis.
nota
Para atualizar, consulte Atualize o cliente SDK 3.
Depois de executar os comandos anteriores, você pode encontrar os seguintes arquivos do JCE provedor:
-
/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
Etapa 2: Validar a instalação
Execute operações básicas no HSM para validar a instalação.
Para validar a instalação do JCE provedor
-
(Opcional) Se você ainda não tiver o Java instalado em seu ambiente, use o comando a seguir para instalá-lo.
-
Use os comandos a seguir para definir as variáveis de ambiente necessárias. Substituir
<HSM user name>
e<password>
com as credenciais de um usuário criptográfico (UC).$
export LD_LIBRARY_PATH=/opt/cloudhsm/lib
$
export HSM_PARTITION=PARTITION_1
$
export HSM_USER=
<HSM user name>
$
export HSM_PASSWORD=
<password>
-
Use o comando a seguir para executar o teste de funcionalidade básica. Se bem-sucedido, a saída do comando deverá ser semelhante à saída a seguir.
$
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)
Etapa 3: fornecer credenciais ao provedor JCE
HSMsprecisa autenticar seu aplicativo Java antes que o aplicativo possa usá-los. Cada aplicativo pode usar uma sessão. HSMsautentique uma sessão usando o método de login explícito ou login implícito.
Login explícito — Esse método permite que você forneça HSM credenciais do Cloud diretamente no aplicativo. Ele usa o LoginManager.login()
método, em que você passa o nome de usuário, a senha e o ID da HSM partição da UC. Para obter mais informações sobre como usar o método de login explícito, consulte o exemplo de login em um HSM
Login implícito — Esse método permite que você defina HSM as credenciais do Cloud em um novo arquivo de propriedades, propriedades do sistema ou como variáveis de ambiente.
-
Novo arquivo de propriedades: crie um novo arquivo chamado
HsmCredentials.properties
e adicione-o aoCLASSPATH
de seu aplicativo. O arquivo deve conter o seguinte:HSM_PARTITION = PARTITION_1 HSM_USER =
<HSM user name>
HSM_PASSWORD =<password>
-
Propriedades do sistema: defina as credenciais por meio das propriedades do sistema ao executar seu aplicativo. Os exemplos a seguir mostram duas formas diferentes de fazer isso:
$
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>
"); -
Variáveis de ambiente: defina as credenciais como variáveis de ambiente.
$
export HSM_PARTITION=PARTITION_1
$
export HSM_USER=
<HSM user name>
$
export HSM_PASSWORD=
<password>
As credenciais podem não estar disponíveis se o aplicativo não as fornecer ou se você tentar uma operação antes da sessão de HSM autenticação. Nesses casos, a biblioteca HSM de software Cloud para Java pesquisa as credenciais na seguinte ordem:
-
HsmCredentials.properties
-
Propriedades do sistema
-
Variáveis de ambiente
Tratamento de erros
O tratamento de erros é mais fácil com o login explícito do que com o método de login implícito. Ao usar a classe LoginManager
, você tem mais controle sobre como seu aplicativo trata as falhas. O método de login implícito dificulta a compreensão do tratamento de erros quando as credenciais são inválidas ou quando HSMs há problemas na sessão de autenticação.