Configuração

A CSP JCA/JCE do Dinamo está em uma camada acima da API nativa do Dinamo. Consulte o tópico Biblioteca cliente 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 ou linha de comando.

Os passos necessários para a configuração são os seguintes:

  1. Gerar o arquivo de configuração Configuration.ND através do programa de configuração jca_config.jar;

  2. Copiar o arquivo de configuração para a pasta onde está localizado o programa que utilizará a CSP java do Dinamo.

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:

  1. Diretório raiz da aplicação;

  2. /WEB-INF/classes;

  3. /WEB-INF/lib/*.jar, onde *.jar significa uma busca dentro dos jars;

  4. Diretório conf do servidor de aplicação;

  5. Classes bootstrap da JVM;

Sequência de busca para aplicações Java tipo executável:

  1. Diretório raiz da aplicação (que pode ser o root do .jar por exemplo, encapsulado);

  2. 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á:

  1. Propriedade sistema;

  2. Variável de ambiente;

  3. 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.

As telas e opções a seguir podem sofrer variações dependendo da versão utilizada.

Via Interface

  1. Execute o programa jca_config.jar sem parâmetros java -jar jca_config.jar.

Tela configuração CSP JCA/JCE
  1. 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.

  2. 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: o AToken retornado pelo hsmcon ou pelo método TacAccessToken.getAToken() e transformado em Base64)

  3. Selecione o nível de log e a localização do arquivo de log.

  4. 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. Esta opção só deverá ser habilitada quando estritamente necessário para o funcionamento da aplicação.

  5. Selecionar o tipo de sessão. Marcar a caixa desabilita o uso de sessão encriptada.

    Recomenda-se deixar esta opção desmarcada. Esta opção só deverá ser habilitada quando estritamente necessário para o funcionamento da aplicação.

  6. 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.

  7. 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.

  8. OK para finalizar.

Via Linha de Comando

  1. 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.

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 bHVhbgAAAAAAAAAAAAAAAGIwx1mtzLLQ9OkapMIzRrTNxAssvFeUvDh1mO7I4x5xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= -loglevel none -spk 0 -tls 1 -file Configuation.ND
  • Exemplo 4. Esta chamada listará os atributos da configuração.

java -jar jca_config.jar -file Configuration.ND -ls