Configuração
A CSP JCA/JCE do Dinamo está em uma camada acima da API nativa do Dinamo. Consulte o tópico Variáveis de ambiente sobre opções de configuração da biblioteca cliente.
A configuração da CSP JCA/JCE pode ser feita de duas maneiras: interface gráfica (GUI) ou linha de comando (CLI).
Os passos necessários para a configuração são os seguintes:
- Gerar o arquivo de configuração
Configuration.ND
através do programa de configuraçãojca_config.jar
; - Copiar o arquivo de configuração para a pasta onde está localizado o programa que utilizará a CSP java do Dinamo.
Info
O programa de configuração da JCA/JCE criará um arquivo chamado Configuration.ND
que deverá ser copiado para a pasta onde está localizado o programa que utiliza a CSP java do Dinamo. O arquivo gerado pode ser utilizado em qualquer plataforma de sistema operacional.
Para encontrar o arquivo de configuração Configuration.ND
, a JCA além de procurar no diretório da aplicação, utiliza o classpath
.
Sequência de busca para aplicações Java em Servidor de Aplicação:
- Diretório raiz da aplicação;
/WEB-INF/classes
;/WEB-INF/lib/*.jar
, onde*.jar
significa uma busca dentro dos jars;- Diretório conf do servidor de aplicação;
- Classes bootstrap da JVM;
Sequência de busca para aplicações Java tipo executável:
- Diretório raiz da aplicação (que pode ser o root do .jar por exemplo, encapsulado);
- Classpath da aplicação;
Além da busca padrão, a escolha do arquivo de configuração também poderá ser feita através de variável de ambiente ou propriedades de sistema (System Properties
).
-
Nome da propriedade:
dinamo.hsm.configfile
Valor: Caminho completo para o arquivo de configuração incluindo o nome do arquivo.
-
Variável de ambiente:
DIN_JCA_CONF_FILE
Valor: Caminho completo para o arquivo de configuração incluindo o nome do arquivo.
Ao definir o caminho de configuração pelas opções acima, a busca se dará pelo caminho com nome do arquivo e não pelos caminhos padrão. A ordem de busca será:
- Propriedade sistema;
- Variável de ambiente;
- Busca padrão (descrita acima);
O programa de configuração é chamado utilizando a linha de comando java -jar jca_config.jar
. Ao executar o programa sem parâmetros a interface gráfica é inicializada, chamando com parâmetros a interação é feita apenas por linha de comando.
Info
As telas e opções a seguir podem sofrer variações dependendo da versão utilizada.
Via Interface Gráfica (GUI)
-
Execute o programa
jca_config.jar
sem parâmetros:java -jar jca_config.jar
.Tela configuração CSP JCA/JCE -
Configure o balanceamento de carga (Load Balance), de acordo com o seu ambiente.
-
Selecionando Enable a CSP Java irá utilizar o balanceamento de carga configurado na biblioteca cliente.
-
Selecionando Disable deverá ser especificado um IP. O balanceamento de carga configurado na biblioteca será ignorado e será utilizado o IP especificado.
-
-
Selecione User/Password e configure o usuário e senha do HSM. Caso utilize Access Tokens selecionar a opção Access Token e preencher o campo Access Token com a estrutura
DN_A_TOKEN
no formato Base64 (por exemplo: oAToken
retornado pelohsmcon
ou pelo métodoTacAccessToken.getAToken()
e transformado em Base64). -
Selecione o nível de log e a localização do arquivo de log.
-
Selecionar o formato de exportação de chave pública que será retornado pela JCA: SubjectPublicKeyInfo ou SubjectPublicKey.
Recomenda-se deixar esta opção desmarcada. Ela só deverá ser habilitada quando estritamente necessário para o funcionamento da aplicação.
-
Selecionar o tipo de sessão (com ou sem proteção de canal por TLS). Marcar a caixa desabilita o uso de sessão encriptada.
Recomenda-se deixar esta opção desmarcada. Ela só deverá ser habilitada quando estritamente necessário para o funcionamento da aplicação.
-
Selecionar o atributo de exportação de chaves simétricas. Marcar a caixa habilita a geração de chaves simétricas exportáveis.
Avaliar de acordo com a necessidade da aplicação.
-
Selecionar o atributo de exportação de chaves assimétricas. Marcar a caixa habilita a geração de chaves assimétricas exportáveis.
Avaliar de acordo com a necessidade da aplicação.
-
OK para finalizar.
Via Linha de Comando (CLI)
-
Execute o programa
jca_config.jar
com parâmetros (Ex:java -jar jca_config.jar -help
).java -jar jca_config.jar -h Usage: java CSPConfig <options> where possible options include: -lb Enable load balance -addr <address> Disable load balance and set a specific HSM address -usr <user name> Specify HSM user name -pwd <password> Specify HSM user password -at <accesstoken> Specify access token in Base64. This option cannot be used with -usr and -pwd. -loglevel {none, info, warning, error, debug}Specify JCA/JCE's log level -logpath <log path> Specify JCA/JCE's log path -spk Enable SubjectPublicKey export format[0-disabled/1-enabled] -tls Enable TLS [0-disabled/1-enabled] -ces Create exportable symmetric key [0-disabled/1-enabled] -cea Create exportable asymmetric key [0-disabled/1-enabled] -file Configuration file -ls List file properties -help | -h Print a synopsis of standard options *Call CSPConfig with no options to start GUI mode.
Info
A configuração padrão de atributo de exportação de chaves é: chaves simétricas exportáveis e assimétricas não exportáveis.
-
Exemplo 1. Esta chamada irá configurar o balanceamento de carga, usuário e senha, o nível de log para debug, chaves simétricas exportáveis, assimétricas não exportáveis e o caminho do arquivo de log:
java -jar jca_config.jar -lb -usr master -pwd 12345678 -loglevel debug -logpath c:\jca. log -spk 0 -tls 1 -ces 1 -cea 0 -file Configuration.ND
-
Exemplo 2. Esta chamada configurará um IP específico, usuário e senha, e com o log desabilitado:
java -jar jca_config.jar -addr 10.0.1.2 -usr master -pwd 12345678 -loglevel none -spk 0 -tls 1 -file Configuration.ND
-
Exemplo 3. Esta chamada configurará um Access Token.
java -jar jca_config.jar -addr 10.0.1.2 -at bHVhbgAAAAAAAAAAAAAAAGIwx1mtzLLQ9OkapMIzRrTNxAssvFeUvDh1mO7I4x5xAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA= -loglevel none -spk 0 -tls 1 -file Configuration.ND
-
Exemplo 4. Esta chamada listará os atributos da configuração.
java -jar jca_config.jar -file Configuration.ND -ls
-