Você está na página 1de 5

Como incluir um certificado SSL (HTTPS) no e-SUS APS [WINDOWS]

Criado por: Lucas S.


Modificado em: Qui, 11 Mai, 2023 na (o) 2:19 PM

Um certificado SSL é um certificado digital que autentica a identidade de um site e permite uma
conexão criptografada. SSL significa Secure Sockets Layer, um protocolo de segurança que cria um link
criptografado entre um servidor web e um navegador web.

Neste artigo, apresentaremos o passo-a-passo para inclusão de um certificado SSL no e-SUS APS (no
Windows) e garantir ainda mais segurança no acesso à sua instalação. É válido ressaltar que o Let's
Encrypt não emite certificados para endereços IP simples, apenas nomes de domínio. Para estes casos,
você precisará registrar um nome de domínio para obter um certificado Let's Encrypt ou encontrar alguma
outra certificadora que emita para endereços de IP simples.

É válido ressaltar que os passos abaixo de geração de certificado através do Let's Encrypt são
apenas sugestões, neste caso, você poderá utilizar a certificadora que desejar para geração.

Neste caso, para que possamos gerar um certificado SSL através do próprio Let's Encrypt,
precisamos nos atentar quanto:

Necessidade de um DOMÍNIO, exemplo: www.municipio.esus.gov.br;

Necessidade de um sistema operacional Windows 10, Windows Server 2019 (versão 1709) ou
superiores;

Caso você já possua uma certificadora, passe para a etapa de "Parametrizando no PEC" deste
artigo.

Gerando um certificado SSL


Caso ainda não possua um certificado SSL, mostraremos como obtê-lo usando o Certbot do Let's
Encrypt (https://letsencrypt.org/pt-br/#), uma Autoridade Certificadora gratuita, automatizada e aberta, que
fornece certificados digitais necessários para habilitar HTTPS em websites. O processo abaixo é destinado
para instalações WINDOWS, porém, você poderá seguir o artigo Como incluir um certificado SSL
(HTTPS) no e-SUS APS [LINUX] (https://esusaps.bridge.ufsc.br/pt-
BR/support/solutions/articles/48001200573-como-incluir-um-certificado-ssl-https-no-e-sus-aps) para instalações
do tipo LINUX.

Caso já possua um certificado SSL, basta pular esta seção e ir para "Instalando o certificado SSL".

Como o PEC vem configurado para o protocolo HTTP na porta 8080 por padrão e o Certbot precisa
que o servidor esteja rodando na porta 80 para funcionar, será necessário alterar essa configuração do e-
SUS APS. Em PASTA_DE_INSTALACAO_eSUS/webserver/config, modifique o arquivo
application.properties para adicionar a seguinte linha:

Após a inclusão, é necessário que o serviço do e-SUS APS seja reiniciado:

Imagem 1: Tela dos Serviços do Windows para reinicio da aplicação

Você precisará dos seguintes pré-requisitos:

Computador com Windows 10 ou superior instalado;

Acesso ao FTP do servidor onde está hospedado o serviço vinculado ao domínio que receberá o
certificado SSL;

Instalando o Ubuntu APP

O primeiro passo é instalar o Ubuntu app (https://apps.microsoft.com/store/detail/ubuntu-on-


windows/9NBLGGH4MSV6?hl=en-us&gl=us) no Windows, que pode ser feito pelo próprio Microsoft Store.
Entretanto, para isso, precisamos instalar primeiro o WSL, que é um Subsistema do Windows para Linux,
neste caso, basta abrir o seu Prompt de Comando em modo Administrador e executar o comando abaixo:

Você poderá, se preferir, seguir o passo a passo disponibilizado no site da Microsoft


(https://learn.microsoft.com/pt-br/windows/wsl/install) para realizar a instalação do WSL;
Após instalar o WSL, abra a Microsoft Store, podendo ser através do link disponibilizado logo
acima e procure por "Ubuntu on Windows":

Imagem 2: Tela da Microsoft Store com o Ubuntu on Windows para instalar

Neste caso, basta clicar em Instalar e aguardar a instalação. Depois de instalado, é só abrir a aplicação.
Você terá um ambiente Linux simulado no seu Windows.

Imagem 3: Tela da Microsoft Store com o Ubuntu on Windows para instalar

Gerando um certificado SSL


Após todos os procedimentos listados anteriormente, passaremos para a instalação do CertBot,
ferramenta responsável pela geração do certificado. Com o Ubuntu APP aberto, execute os seguintes
comandos, em ordem:

sudo snap install --classic certbot

E então rode o comando a seguir para garantir que o Certbot poderá ser executado:

sudo ln -s /snap/bin/certbot /usr/bin/certbot

Por fim, execute-o por meio do comando e preencha as informações solicitadas:

sudo certbot certonly --webroot


Através deste comando, solicitará o domínio que você gostaria de inserir o protocolo, neste caso, é
válido ressaltar que o Let's Encrypt não emite certificados para endereços IP simples, apenas nomes
de domínio. Para estes casos, você precisará registrar um nome de domínio para obter um
certificado Let's Encrypt ou encontrar alguma outra certificadora que emita para endereços de IP
simples.

Parametrizando no PEC
Uma vez que você já possui um certificado SSL, vamos armazená-lo em uma keystore. Primeiramente,
navegue até a pasta de configuração do e-SUS APS:

E então use o comando abaixo para importar o certificado e criar a keystore, substituindo:

"CAMINHO_COMPLETO" pelo caminho completo até a pasta onde se encontra o certificado;


"CERTIFICADO" pelo nome do arquivo; e
"SENHA" pela senha que deseja utilizar para proteger a keystore.

keytool -import -alias esusaps -file CAMINHO_COMPLETO/CERTIFICADO.crt -keystore esusaps.p12 -storepass SENHA

Agora, é necessário fazer com que o e-SUS APS utilize o certificado salvo na keystore. Em C:\Program
Files\e-SUS\webserver\config\, modifique o arquivo application.properties, copiando as seguintes
propriedades para o final do arquivo:
server.port=443 #Também pode ser 8443 (utilizado em ambientes de desenvolvimento e/ou de homologação).
server.ssl.key-store-type=PKCS12 #OPCIONAL! Depende do tipo de certificado a ser utilizado.
server.ssl.key-store=
server.ssl.key-store-password=
server.ssl.key-alias=
security.require-ssl=true #Sempre deve ser passado verdadeiro para habilitar o uso de SSL.

O significado de cada propriedade pode ser observado a seguir:

server.port: A porta que representa o protocolo HTTPS; utiliza-se como padrão a porta 443. Também
é possível utilizar a porta 8443 (para sinalizar desenvolvimento ou homologação).
server.ssl.key-store-type: Indica o tipo de Key Store. Caso o tipo seja .p12 (como neste tutorial), é
necessário manter esta propriedade e após o = indicar que é PKCS12. Mas, se o tipo for JKS, essa
propriedade pode ser omitida.
server.ssl.key-store: Este é o caminho relativo ao .jar da aplicação (pec-bundle.jar) de onde se
encontra a Key Store. Por exemplo, se a Key Store estiver dentro da pasta config como sugerido nos
últimos passos, utilizar: server.ssl.key-store=config/esusaps.p12
server.ssl.key-store-password: Senha indicada no momento da criação da Key Store.
server.ssl.key-alias: "Apelido" indicado no momento da criação da Key Store.
security.require-ssl: Propriedade que indica ao Spring se desejamos fazer uso do protocolo SSL.

Após incluir essas propriedades no arquivo e salvá-lo, é necessário reiniciar o serviço do


servidor. Pronto, o certificado SSL já deve ter sido incluído na sua instalação do e-SUS APS! Para
confirmar que o processo funcionou, acesse a URL da instalação em seu navegador e procure pelo ícone de
cadeado na barra de endereço.

L Lucas é o autor deste artigo de solução.

Você também pode gostar