24815 - Certificado assinado/confiável no Glassfish
Problema: Como adicionar um certificado assinado e confiável, adquirido por uma entidade certificadora para utilização no Glassfish?
Solução:
Solução:
*** O cliente precisa ter em mãos os arquivos .CRT e .KEY do certificado ***
1 - Deve-se instalar o executável OpenSSL no Windows. A aplicação pode ser encontrada através deste link;
2 - Gerar o arquivo P12 com o par de chaves: Para isto abra o prompt de comando como administrador e execute o seguinte comando: openssl pkcs12 -export -out teste.p12 -inkey seniorssl.key -in seniorssl.crt -certfile CA.crt
* Caso ocorra alguma mensagem de erro retornado no comando acima execute o seguinte comando: openssl pkcs12 -export -in seniorssl.crt -inkey seniorssl.key -out seniorssl.p12 -CAfile CA.crt -caname root -chain
3 - Este comando deverá solicitar uma senha para o arquivo. É importante que grave-a pois será utilizada nos próximos passos.
4 - Abra o arquivo p12 que foi criado no procedimento descrito no passo 2 com o executável portcle cujo o link para donwload está disponível clicando aqui. Após aberto o arquivo renomeie o alias para um nome mais simples, para que o próximo comando seja executado com maior facilidade;
5 - Execute o seguinte comando para criar o arquivo keystore.jks via prompt de comando: keytool -importkeystore -deststorepass 1234 -destkeypass 1234 -destkeystore keystorenew.jks -srckeystore senior.p12 -srcstoretype PKCS12 -srcstorepass 1234 -alias 'seniorssl'
6 - Será gerado um arquivo chamado keystorenew.jks com a senha changeit;
7 - Abra o arquivo gerado anteriormente (keystorenew.jks) utilizando o portcle, clique com o botão direito sob o alias e clique em Exportar. Marque as opções Private Key and Certificates e PEM encoded. Serão solicitadas senhas, informe sempre changeit;
8 - Abra com o portcle o arquivo keystore.jks do domínio do Glassfish que será utilizado o acesso via SSL. Clique em Tools > Import Key Par. Aponte o arquivo com extensão .PEM criado no passo anterior onde será solicitada a senha changeit. Salve o arquivo clicando em File > Save Keystore;
9 - Acesse o console de administração do Glassfish, vá até o menu Configurations > server-config > HTTP Service > HTTP Listeners > http-listener-2. No campo Port informe a porta 443 para que quando for enviada uma requisição com o protocolo HTTPS não seja necessário informar a porta na URL. Caso deseje utilizar uma outra porta, informe neste campo. Em seguida clique na aba SSL e altere o campo Certificate Nickname para o nome da chave que contem o alias configurado no passo 4. Salve e reinicie o domínio;
10 - Após reiniciado o domínio pode ser feito um teste de acesso via HTTPS na porta SSL informando o nome DNS conforme o certificado valida.
*** Configuração das aplicações Senior ***
-> Webservices: Para que os webservices sejam acessíveis via https é necessário acessar o SeniorConfigCenter, ir até o menu Middleware > Web Services, informar a nova URL dos webservices (alterando de http para https e caso seja utilizada uma porta diferente da 443, informar também a porta), reiniciar os serviços: Serviço de Informações Senior, Senior Middleware e por último o Glassfish. Após reiniciar as aplicações acessar o SeniorDeployTool e executar o redeploy dos webservices dos produtos. Informações sobre a utilização do SeniorDeployTool estão documentadas neste link.
Após este procedimento os webservices deverão estar respondendo através do HTTPS utilizando o certificado.
-> WEB 5.0 (Rubiweb, SapiensWEB, RondaWEB, SPWEB e etc.): Deve-se acessar o SeniorConfigCenter, ir até o menu Middleware > WEB 5.0 > Aplicativos e nos campos URL de acesso ao aplicativo e URL de acesso ao conector informe a nova URL de acesso as aplicações, alterando o http para https (caso a porta utilizada para acesso HTTPS seja a padrão - 443. Caso seja outra porta, informe a porta também). Salve as alterações, reinicie os seguintes serviços: Serviço de Informações Senior, Senior Middleware, e por fim o Glassfish.
Com isto as aplicações WEB 5.0 estarão acessíveis via HTTPS.
** Recomendamos fortemente que toda e qualquer mudança no ambiente seja executada por um consultor de TI da Senior com amplo conhecimento neste tipo de parametrização, uma vez que intervenções indevidas poderão ocasionar instabilidade e até mesmo problemas de acesso aos sistemas.