Importação de Certificado Digital para GlassFish
Nos documentos da ABTRA está definido que a comunicação entre cliente e BDCC pode ser segura. Porém a definição é sobre os pontos de entrada do BDCC e não sobre os pontos de entrada do cliente. Uma solução completa deve criptografar os dados do cliente e do BDCC e por isso há necessidade de importação de certificados em ambos os lados. A figura abaixo representa essa estrutura:
Para a comunicação ser segura são necessários 2 certificados:
- Certificado do Cliente: Como o BDCC exige um endpoint de entrada, a comunicação só será segura se o cliente tiver um certificado válido e emitido por uma CA (Autoridade Certificadora) confiável. O BDCC precisa importar o certificado do cliente com a chave pública para enviar informações de forma segura ao endpoint de entrada.
- Certificado da ABTRA: O cliente precisa importar o certificado na keystore do GlassFish onde opera o Harbor. Em seguida, alterar as configurações WSDL para os endpoints seguros.
Comunicação Segura - Harbor e BDCC
No ambiente real, são 2 certificados que precisam ser manipulados:
- Certificado BDCC: Emitido pela ABTRA, é um certificado público distribuído no CD da solução BDCC. Independente do cliente, o certificado do BDCC não será alterado a menos que expire.
- Certificado Cliente: Cada cliente deve requisitar seu próprio certificado. Esse certificado deve ser assinado por uma CA (Autoridade Certificadora), gerando a chave pública e privada. Esses certificados não são de responsabilidade da Senior.
O cliente que deseja habilitar SSL com o Harbor, deve contatar a ABTRA para verificar como esse processo funciona e se está homologado. Os sistemas da Senior já foram validados e suportam a comunicação segura.
Importante
A comunicação só será segura se implementada em ambos os sentidos, ou seja, conforme a documentação a seguir.
Habilitando SSL no sentido Harbor --> BDCC
Para habilitar SSL no envio assíncrono e na comunicação síncrona é necessário importar o certificado do BDCC (região verde da imagem acima) no cliente. Adicione a chave pública do BDCC na base de certificados do servidor JEE do Harbor como certificado confiável. No GlassFish, é possível realizar esse procedimento da seguinte forma:
No Servidor do cliente (GlassFish), realize os seguintes procedimentos:
- Utilize o Portecle para abrir as bases de certificados do GlassFish, para isto copie o programa utilitário Portecle do seguinte endereço: http://portecle.sourceforge.net/;
- Abra o arquivo <GLASSFISH_HOME>/domains/<dominio_Harbor>/config/keystore.jks;
- Importe o certificado público do cliente ou da entidade;
- Importe os certificados da cadeia de Autoridades Certificadoras que emitiu o certificado do BDCC (se houver);
- Defina a mesma senha da keystore para os certificados (Padrão é 'changeit');
- Importe o certificado público na base do GlassFish.
- Selecione o certificado a ser importado. Confirme que confia no certificado se necessário;
- Selecione a opção: Tools -> Import Trusted Certificate;
- Defina no campo Enter Alias o nome associado ao certificado conforme o critério desejado;
- Salve as informações através da opção: File -> Save Keystore;
- Se houver mais certificados na árvore emitida pela Autoridade Certificadora, adicione os mesmos também;
- Reinicie o GlassFish para que o envio de email seguro funcione corretamente.
Ao finalizar esses procedimentos para o Keystore, é necessário repeti-los para a base cacerts.
Habilitando SSL no sentido BDCC-> Harbor
Para o recebimento das informações do BDCC (entrada.wsdl) de forma segura é necessário manipular certificados do cliente (azul). As seguintes ações são de responsabilidade do cliente:
- Gerar um par de chaves (pública e privada) assinado por uma Autoridade Certificadora reconhecida como Thawte ou Verisign. Uma vez com o certificado assinado, é preciso:
- Importar a chave privada na keystore do GlassFish. A importação da chave privada no GlassFish pode ser feita da seguinte forma:
- Utilize o Portecle para abrir as bases de certificados do GlassFish, para isto copie o programa utilitário Portecle do seguinte endereço: http://portecle.sourceforge.net/;
- Abra o arquivo <GLASSFISH_HOME>/domains/<dominio_Harbor>/config/keystore.jks;
- Importe a chave privada do cliente;
- Importe os certificados da cadeia de Autoridades Certificadoras (se houver);
- Defina a mesma senha da keystore para os certificados (changeit);
- O Resultado deve ficar conforme a imagem abaixo:
Após a importação, execute os seguinte procedimentos:
- Acesse a administração do GlassFish e altere o “http-Listener-2” para apontar para a nova chave importada ("Configuration - > HTTP service -> HTTP Listeners -> http-listener2");
- Na guia "Edit HTTP Listener" é possível verificar a porta usada para a comunicação segura no campo Certificate Authentication;
- Observe o nome do alias na keystore pelo Portecle, se o mesmo nome não for digitado no GlassFish, o domínio vai ter problemas ao iniciar;
- Reinicie o GlassFish.
Além disso, é preciso considerar os seguintes pontos que são de responsabilidade do cliente:
- Solicitar ao BDCC para atualizar o cadastro de entrada para o endereço seguro;
- Habilitar a entrada para a porta SSL do endpoint do Harbor;
- Enviar a chave pública do cliente ao BDCC;
- Verificar com o BDCC se a comunicação está OK. A comunicação só será segura se o BDCC utilizar o endereço em HTTPS.
English
Español
English
Español


