Seu aplicativo da web Java hospedado no servidor Tomcat usa protocolo HTTP por padrão. A comunicação entre o cliente e o servidor web não é criptografada quando o protocolo HTTP é usado. Então, não é seguro.
Atualmente, quase todos os navegadores avisam quando você tenta visitar links HTTP. Ele até mostrará um cadeado vermelho na barra de URL. Se você deseja que o cadeado verde apareça na barra de URL quando alguém visitar seu aplicativo da web Java hospedado no servidor da web Tomcat, você deve habilitar HTTPS no Tomcat. HTTPS é apenas a versão segura do protocolo HTTP. Quando HTTPS está habilitado, a comunicação entre o cliente e o servidor web é criptografada.
Um certificado SSL (Secure Socket Layer) é usado para verificar a propriedade do servidor da web ao qual o cliente está se conectando usando o protocolo HTTPS. Você normalmente adquire um certificado SSL de uma autoridade de certificação ou CA, como Verisign, DigiCert etc. e o instala em seu servidor web (neste caso, o servidor web Tomcat). Você também pode gerar um certificado SSL por conta própria e instalá-lo em seu servidor da web Tomcat. Esses certificados são chamados de certificados autoassinados.
Neste artigo, vou mostrar como gerar seu próprio certificado SSL ou certificado autoassinado e como instalá-lo no servidor web Tomcat. Vamos começar.
Gerando um certificado SSL autoassinado:
Antes de instalar um certificado SSL em seu servidor da web Tomcat, você deve gerar um arquivo Java KeyStore ou arquivo JKS. Quando você instala o servidor da web Apache Tomcat, todas as ferramentas necessárias para gerar um arquivo de armazenamento de chave JKS também são instaladas. Você pode usar o ferramenta-chave utilitário para gerar um arquivo JKS no Linux.
Gosto de manter todos os arquivos-chave que gero em um único diretório. Vou criar um novo diretório (vamos chamá-lo chaves) no / etc diretório.
Para fazer isso, execute o seguinte comando:
$ sudo mkdir / etc / keys
Agora, navegue até o / etc / keys diretório com o seguinte comando:
$ cd / etc / keys
Agora, gere um arquivo de certificado JKS (com o mesmo nome de seu nome de domínio) com o seguinte comando:
$ sudo keytool -genkey -alias tomcat -keyalg RSA -keystoregato.linuxhint.com.jks
NOTA: Aqui, gato é o alias do arquivo Java KeyStore. Você pode mudar para o que quiser. Também, gato.linuxhint.com.jks é o nome do arquivo de certificado JKS de saída.
Agora digite uma senha para o seu arquivo Java KeyStore e pressione
Digite novamente a mesma senha e pressione
Agora, digite o nome de domínio totalmente qualificado (FQDN) do seu servidor Tomcat e pressione
NOTA: Se você quiser usar nomes de domínio curinga, pode fazê-lo aqui. Por exemplo, você pode digitar *.seu domínio.com; Nesse caso, este certificado será válido para site1.seu domínio.com, site2.seu domínio.com e assim por diante.
Agora, digite sua Unidade Organizacional (UO) e pressione
Agora, digite o nome da sua Empresa ou Organização aqui e pressione
Agora, digite o nome da Cidade da sua Empresa ou Organização e pressione
Agora, digite o nome do estado da cidade que você digitou anteriormente e pressione
Agora digite o código de duas letras do seu país e pressione
Finalmente, digite sim para confirmar que todas as informações estão corretas e pressione
Seu arquivo de certificado JKS deve ser gerado.
Como você pode ver, o arquivo de chave JKS (no meu caso gato.linuxhint.com.jks) é gerado no / etc / keys diretório.
Na próxima seção deste artigo, mostrarei como instalar o certificado autoassinado JKS em seu servidor da web Tomcat.
Instalando o certificado SSL autoassinado no servidor da Web Tomcat:
Agora que você tem um certificado SSL autoassinado, pode instalá-lo em seu servidor da web Apache Tomcat e habilitar o protocolo HTTPS com muita facilidade. Para fazer isso, você deve modificar o servidor.xml arquivo do servidor web Apache Tomcat. No Ubuntu 18.04 LTS, o servidor.xml o arquivo está no caminho / etc / tomcat8 / server.xml
Agora, edite o servidor.xml arquivo com o seguinte comando:
$ sudo nano / etc / tomcat8 / server.xml
Agora, encontre a linha marcada na imagem abaixo.
Dentro de
keystoreFile = "PATH_TO_YOUR_JKS_FILE" keystorePass = "YOUR_KEYSTORE_PASSWORD"
clientAuth = "false" keyAlias = "YOUR_KEY_ALIAS" sslProtocol = "TLS" />
NOTA: Certifique-se de mudar HTTPS_PORT, PATH_TO_YOUR_JKS_FILE e YOUR_KEYSTORE_PASSWORD, YOUR_KEY_ALIAS de acordo com sua necessidade.
finalmente, o servidor.xml o arquivo deve ser parecido com isto, conforme marcado na captura de tela abaixo. Salve o arquivo pressionando
Agora, reinicie o serviço Tomcat com o seguinte comando:
$ sudo systemctl reiniciar tomcat8
Agora verifique se o serviço Tomcat está sendo executado com o seguinte comando:
$ sudo systemctl status tomcat8
Como você pode ver, o serviço Tomcat está em execução. Isso significa que a configuração foi bem-sucedida.
Agora abra um navegador da web e tente acessar seu site hospedado no servidor da web Tomcat. Você deve ver o seguinte aviso. Clique em Avançado.
Significa apenas que seu certificado SSL é autoassinado. Se você comprar o seu certificado SSL de uma Autoridade de Certificação (CA), você não verá isso. Agora clique em Adicione exceção…
Agora clique em Confirme a exceção de segurança.
Como você pode ver, funciona. O ícone de cadeado verde também aparece.
Então, é assim que você instala o certificado SSL em seu servidor web Tomcat. Obrigado por ler este artigo.