bg-tutorials

Como Instalar um Certificado SSL no GlassFish

Neste tutorial, você aprenderá como instalar um certificado SSL no GlassFish (agora Eclipse GlassFish) usando o utilitário Java keytool e a linha de comando asadmin.

Gerar um código CSR para GlassFish

O primeiro passo ao encomendar um certificado SSL é criar uma CSR (Certificate Signing Request) e enviá-la à sua Autoridade Certificadora (o seu fornecedor de SSL). A CSR é um bloco de texto que contém detalhes sobre o seu site e a sua organização. A CA usa-a para verificar a sua identidade, por isso, se a CSR contiver informações incorretas ou desatualizadas, a CA não assinará o seu certificado.

No GlassFish, a CSR é gerada com o keytool a partir de um keystore Java, e esse mesmo keystore contém a chave privada que você reutilizará durante a instalação. Você tem duas opções:

Você pode abrir o seu ficheiro CSR com qualquer editor de texto (por exemplo, o Notepad). Antes de enviá-lo à sua CA, recomendamos uma verificação final para detetar erros de digitação. Use a nossa ferramenta de descodificação de CSR para o inspecionar.

Dependendo do tipo de validação do seu certificado, a emissão demora entre alguns minutos e alguns dias úteis. Assim que os ficheiros SSL chegarem à sua caixa de entrada, continue com a instalação abaixo.

Instalar um certificado SSL no GlassFish

A ideia central de uma instalação no GlassFish é que o seu certificado assinado tem de ficar associado à chave privada criada com a sua CSR. Faz isso importando a cadeia de certificados e o certificado assinado para o keystore que já contém essa chave, o mesmo que usou para gerar a CSR.

Passo 1: Extraia os ficheiros do seu certificado

A sua CA envia o certificado por e-mail para o endereço fornecido, normalmente como um arquivo ZIP. Extraia-o. Os ficheiros chegam num de dois formatos:

  • PEM: ficheiros separados, tipicamente um .crt (o certificado do seu servidor) e um .ca-bundle (os certificados raiz e intermediários).
  • PKCS#7: um único ficheiro .p7b (ou .cer) que já agrupa o seu certificado juntamente com a cadeia completa.

Passo 2: Carregue os ficheiros SSL para o seu servidor GlassFish

Carregue os ficheiros extraídos para o servidor, no mesmo diretório do keystore a partir do qual gerou a sua CSR (referido abaixo como mykeystore.jks). O formato PEM requer dois comandos de importação; o PKCS#7 requer apenas um. Escolha o formato que corresponde aos seus ficheiros.

Formato PEM. Importe primeiro o pacote da CA para que o keytool consiga construir uma cadeia de confiança completa e, em seguida, importe o certificado do seu servidor. Importe o pacote da CA com:

keytool -import -trustcacerts -alias ca -file file.ca-bundle -keystore mykeystore.jks

Use o nome que preferir para o alias desta entrada da cadeia (aqui, ca), desde que seja diferente do alias da sua chave privada. De seguida, importe o certificado do servidor assinado para o alias existente da chave privada, o alias que usou ao gerar a CSR:

keytool -import -trustcacerts -alias myalias -file file.crt -keystore mykeystore.jks

Aqui, myalias tem de ser o alias que já contém a sua chave privada. Como esse alias tem uma chave, o keytool trata esta importação como uma resposta de certificado e associa o certificado assinado à chave. Este é o passo que faz o HTTPS funcionar; veja o aviso abaixo.

Formato PKCS#7. Um ficheiro .p7b já contém a cadeia completa, por isso um único comando importa tudo de uma vez, novamente para o alias da chave privada:

keytool -import -trustcacerts -alias myalias -file file.p7b -keystore mykeystore.jks

O keytool pede a palavra-passe do seu keystore. Como acima, myalias tem de corresponder ao alias existente da sua chave privada. Se não se lembrar do alias, liste o conteúdo do keystore:

keytool -list -v -keystore mykeystore.jks

Procure a entrada cujo tipo é PrivateKeyEntry; esse é o alias para o qual o seu certificado assinado deve ser importado.

⚠️ Erro crítico: não importe o certificado assinado com um alias novo. Se o alias não tiver uma chave privada existente, o keytool armazena o certificado como uma entrada de confiança independente, sem chave associada, e o TLS falhará. Importe sempre a resposta para o alias que já contém a chave (alias predefinido do GlassFish: s1as).

Passo 3: Importe para o keystore predefinido do GlassFish

Com o seu certificado no lugar, importe o seu keystore para o keystore predefinido do GlassFish. Numa instalação padrão, ele está localizado no diretório de configuração do domínio, por exemplo glassfish/domains/domain1/config/keystore.jks (versões mais antigas do GlassFish 4 colocam isto dentro de uma pasta principal glassfish4/). O truststore correspondente é o cacerts.jks, no mesmo diretório.

Nota: O GlassFish cria o domain1 por predefinição. Se você adicionou o seu próprio domínio, use o respetivo diretório.

Importe o seu keystore para o keystore do GlassFish com:

keytool -importkeystore -srckeystore mykeystore.jks -destkeystore keystore.jks

Passo 4: Faça corresponder as palavras-passe do keystore

A palavra-passe do keystore do GlassFish tem de corresponder à master password do GlassFish para o domínio. Se a master password, a palavra-passe do keystore e a palavra-passe da chave privada não forem todas iguais, o GlassFish não conseguirá desbloquear a chave e o seu certificado SSL não funcionará. (Num domínio recém-criado, a palavra-passe predefinida do keystore é changeit.)

Passo 5: Atualize a configuração do seu GlassFish

Após uma importação bem-sucedida, aponte o listener HTTPS do GlassFish para o seu certificado, para que este passe a servir o novo certificado em vez do autoassinado predefinido. Pode fazer isto a partir do navegador, através da Consola de Administração do GlassFish, ou manualmente, editando o domain.xml.

Opção A: Consola de Administração. Primeiro, ative a administração segura para o domínio:

asadmin enable-secure-admin

Reinicie o domínio GlassFish (o predefinido é domain1) para que a alteração tenha efeito:

asadmin restart-domain domain1

Agora abra a consola em https://yoursite.com:4848. Ignore o aviso do certificado autoassinado e continue. Navegue até Configurations > server-config > HTTP Service > HTTP Listeners > http-listener-2.

Abra a aba SSL e, no campo Certificate Nickname, introduza o alias do seu certificado (o mesmo do alias do keystore). Depois, mude para a aba General e altere a porta do listener para 443. O GlassFish usa a porta 8181 para HTTPS por predefinição. Guarde as alterações.

Por vezes, nem todas as referências de configuração são atualizadas para o novo alias na consola. Se isso acontecer, conclua a alteração manualmente no domain.xml (Opção B).

Opção B: Editar o domain.xml. O ficheiro domain.xml está localizado no mesmo diretório de configuração, por exemplo glassfish/domains/domain1/config/domain.xml. Para uma edição segura, pare primeiro o domínio:

asadmin stop-domain domain1

Abra o domain.xml num editor de texto e use a função Localizar (Ctrl+F) para encontrar s1as, o alias de certificado predefinido do GlassFish. Substitua todas as ocorrências de s1as pelo alias do seu certificado (neste guia, myalias). Ao atualizar todas as ocorrências, também protege a Consola de Administração com o seu certificado.

Guarde o domain.xml e inicie o domínio novamente:

asadmin start-domain domain1

Parabéns, o seu certificado SSL está agora instalado no seu servidor GlassFish.

Teste a sua instalação SSL

Depois de instalar o certificado, execute o nosso verificador SSL para testar o estado da sua instalação. A verificação instantânea revela quaisquer erros ou vulnerabilidades (como um certificado intermediário em falta ou uma cadeia não confiável) que possam afetar a forma como os navegadores tratam o seu certificado.

Onde comprar um certificado SSL para GlassFish?

O melhor lugar para comprar um certificado SSL para GlassFish é a SSL Dragon. Oferecemos alguns dos preços mais baixos do mercado e descontos regulares em toda a nossa gama de produtos SSL, além de termos estabelecido parcerias com as melhores marcas SSL do setor, garantindo encriptação forte e suporte dedicado. Todos os nossos certificados SSL são compatíveis com o GlassFish.

Para o ajudar a escolher, criámos duas ferramentas gratuitas. O nosso SSL Wizard precisa apenas de alguns segundos para encontrar a melhor oferta SSL para o seu projeto e orçamento.

Perguntas Frequentes

Qual é o keystore e o alias predefinidos no GlassFish?

Um domínio do GlassFish vem com dois ficheiros JKS no seu diretório de configuração: keystore.jks, que contém as chaves privadas, e cacerts.jks, o truststore de certificados de CA confiáveis. Ambos ficam em domains/domain1/config/ por predefinição. O alias de certificado predefinido usado pelo listener HTTP seguro é s1as, e a palavra-passe predefinida do keystore é changeit.

Por que motivo o meu certificado SSL do GlassFish não funciona depois de o importar?

A causa habitual é importar o certificado assinado com um alias novo, em vez do alias que já contém a sua chave privada. Nesse caso, o keytool armazena-o como uma entrada de certificado confiável sem chave, e o GlassFish não consegue concluir o handshake TLS. Volte a importar a resposta assinada para o alias existente da chave privada (predefinição: s1as). A segunda causa mais comum é uma incompatibilidade de palavras-passe; o keystore, a chave e a master password do domínio têm de ser todas idênticas.

Devo importar primeiro o pacote da CA ou o certificado?

Importe primeiro o pacote da CA (certificados raiz e intermediários), como entrada confiável. Isto permite que o keytool construa uma cadeia completa quando importar depois o certificado do servidor assinado para o alias da chave privada. Com um ficheiro PKCS#7 (.p7b), a cadeia já vem agrupada, pelo que uma única importação resolve tudo.

Como reinicio o GlassFish depois de alterar a configuração SSL?

Execute asadmin restart-domain domain1 para aplicar as alterações num único passo, ou pare e inicie o domínio separadamente com asadmin stop-domain domain1 seguido de asadmin start-domain domain1. É necessário reiniciar após ativar a administração segura e após editar o domain.xml.

Qual porta o GlassFish usa para HTTPS?

Por predefinição, o listener seguro (http-listener-2) usa a porta 8181, e a Consola de Administração usa a porta 4848. Para servir HTTPS na porta padrão, altere a porta do listener para 443 na Consola de Administração ou no domain.xml.

Economize 10% em certificados SSL ao fazer seu pedido hoje!

Emissão rápida, criptografia forte, 99,99% de confiança no navegador, suporte dedicado e garantia de reembolso de 25 dias. Código do cupom: SAVE10

Uma imagem detalhada de um dragão em voo
Escrito por

Redator de conteúdo experiente, especializado em certificados SSL. Transformação de tópicos complexos de segurança cibernética em conteúdo claro e envolvente. Contribua para melhorar a segurança digital por meio de narrativas impactantes.