O certificado digital é um recurso obrigatório para todo site. No ambiente de desenvolvimento local ele não tem a mesma importância, podemos até desenvolver sem termos nenhum certificado SSL/HTTPS instalado. No entanto os navegadores estão mais seguros e ficam avisando que está havendo uma quebra de segurança quando estamos testando os sistemas que estamos desenvolvendo. Para resolver isso precisamos instalar um certificado SSH/HTTPS na nossa máquina local. Nosso ambiente de trabalho está rodando em uma máquina com Windows 10 e com o XAMPP instalado. Se esse é seu caso, continue, e mesmo se não for, pode valer a pena continuar e ver o que poderá ser útil para o seu ambiente.
Arquivo v3.ext
Primeiro precisamos conferir se temos o arquivo V3.ext
no diretório C:/xampp/apache
. Se não tiver você precisa criar-lo. Esse arquivo tem o seguinte conteúdo que você poderá copiar e colar:
C:/xampp/apache/v3.ext
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = localhost
Uma observação interessante, é que se você quer acessar esse servidor dentro de uma intranet ou precisa de adicionar mais domínios locais, você poderá adicionar abaixo de DNS.1 = localhost
o novo dominio DNS.2 = novodominio.exemplo
ou o ip da máquina local.
É preciso verificar o arquivo makecert.bat
e acrescentar -sha256 -extfile v3.ext
no final da linha com o seguinte conteúdo: bin\openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 500
.
C:/xampp/apache/vmakecert.bat
@echo off set OPENSSL_CONF=./conf/openssl.cnf if not exist .\conf\ssl.crt mkdir .\conf\ssl.crt if not exist .\conf\ssl.key mkdir .\conf\ssl.key bin\openssl req -new -out server.csr bin\openssl rsa -in privkey.pem -out server.key bin\openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 500 -sha256 -extfile v3.ext set OPENSSL_CONF= del .rnd del privkey.pem del server.csr move /y server.crt .\conf\ssl.crt move /y server.key .\conf\ssl.key echo. echo ----- echo Das Zertifikat wurde erstellt. echo The certificate was provided. echo. pause
O que foi adicionado está destacado em negrito.
2. Criar o certificado
Agora, precisa abrir um terminal no modo texto como o cmd e executar o makecert.bat
que criará o os arquivos do certificado e os deixará no lugar certo.

Depois de digitar makecert, aparecerá na tela várias perguntas, que precisará responder.
Generating a RSA private key ……………………………………………..+++++ ……………………………………………………………………………+++++ writing new private key to 'privkey.pem' Enter PEM pass phrase:CRIAR UMA SENHA Verifying - Enter PEM pass phrase:Redigitar a SENHA You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. Country Name (2 letter code) [AU]:BR State or Province Name (full name) [Some-State]:Estado Locality Name (eg, city) []:Cidade Organization Name (eg, company) [Internet Widgits Pty Ltd]:Nome Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []:Nome Email Address []:email@email.com Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: Enter pass phrase for privkey.pem: Digitar novamente a SENHA writing RSA key Signature ok subject=C = BR, ST = Parana, L = Londrina, O = WebiG, CN = localhost, emailAddress = lisanias@hotmail.com Getting Private key Não foi possível encontrar C:\xampp\apache\.rnd 1 arquivo(s) movido(s). 1 arquivo(s) movido(s). ----- Das Zertifikat wurde erstellt. The certificate was provided. Pressione qualquer tecla para continuar. . .
Com o certificado criado precisa reiniciar o Apache para que ele execute os novos certificados.
Instalar o certificado como confiável
Como não tem nenhuma entidade certificadora externa para abonar esse certificado que criamos, precisamos informar ao Windows e navegador que ele é sim um certificado confiável. Para isso vamos a pasta C:\xampp\apache\conf\ssl.crt
e clicamos no arquivo server.crt
.

Clique no botão “Instalar Certificado” e avance. Selecione “Usuário Atual” e avance.

Selecionar “Colocar todos os certificados no repositório a seguir” e clicar em “procurar“. Na nova janela que abrir selecionar “Autoridades de Certificação Raiz Confiavel” e clicar em “Ok” e de seguida clique em “Seguinte” e finalmente em “Concluir“.
Para concluir, reinicie o Apache no Painel Administrativo do XAMPP, ou seja para e inicie ele novamente.
Se tudo deu certo, ao atualizar o https://localhost no navegador, devera estar com o cadeado acionado e a página carregada.

Comente se deu certo certo para você também. Se tiver uma forma melhor e mais eficiente, compartilhe nos comentários deste post.
Webig, cara. Eu seguitudo exatamente como explicado, mas na hora de acessar no navegador aparece mensagem de certificado inválido. Você tem ideia do que possa ser? Já refiz o processo várias vezes
É dificil dizer, porque sempre tem funcionado. De vez em quando repito o processo do zero novamente, para reintalar ou autualizar a maquina, e sempre estou revendo e se necessário atualizando o artigo. Varias pessoas tem testado e funcionado também para elas… Espero que consiga, senão passa ai mais detalhes ou algum passo que não deu certo.
passando para agradecer, deu certinho o procedimento, muito obrigado.
Valeu Vitor Matos, fico feliz em ajudar. Obrigado por deixar um feedback;
Excelente! O único que funcionou. Muito obrigado!
Obrigado por me dar retorno.
bom dia,
Não deu certo e agora o campp não carrega, vários tutorias de ouro usuarios tambem nao deu certo, cansei do xampp
Obrigado por comentar! Vou ver se mudou alguma coisa em novas atulizações e quando possivel, se necessário alterar o artigo.
Depois que fiz o primeiro procedimento, antes de reinicializar o apache, tentei reiniciar e agora ele não inicia mais.
Error: Apache shutdown unexpectedly.
Samuel, obrigado por informar o erro. Quando tiver um tempo vou rever o procedimento e ver se mudou alguma coisa, e se for o caso atulizar o artigo!
Muito obrigado pela ajuda. Ficou perfeito.
Olá Lisanias, teria algum exemplo com IP, pois fiz o passo a passo e não deu certo, usando localhost funciona, mas se coloco o IP não da certo, teria como fazer um exemplo?
Oi Carlos, neste momento estou sem tempo para fazer esse exemplo (e testar com ip). Mas, assim que tiver um tempinho, vou testar e postar o exemplo. Obrigado.
Gratidão! Esse post ajudou bastante, funcionou perfeitamente.
Valeu pelo retorno!
Você sabe como fazemos nesse cenário para configurar o ssl no xamp utilizando um certificado de uma CA e disponibilizar o acesso para internet? esse cenário que você mostrou é para localhost apenas não é?
Sim, este cenário é para localhost apenas. E nunca fiz um certificado para máquina local com um certificado de terceiros.
Boa noite, segui todos os paços não deu nenhum erro está funcionando 100% porém o ssl do XAMPP não ativo já reiniciei o meu computador e limpei o cache da memoria porém nada resolveu. o que será que pode está acontecendo ou existe algum outro modo que eu deva testar?
Lucas, desculpa a demora em responder. Existem várias coisas que podem ser feitas ou verificadas, mas sem mais informações técnicas não consigo ajudar.
Showw! Funcionou mesmo
Passando apenas para agradecer, deu certinho!!! Parabéns pelo conteúdo!!
Obrigado pelo retorno
Olá, o procedimento foi bem explicado, obrigado por isto. Pode me ajudar? Depois de realizar o procedimento, o navegar informa aquela MSG de “Alerta de Potencial risco pela frente”. Será que errei algo? Obrigado.
Oi, obrigado pelo retorno. Quanto a mensagem que aparece pode ser normal aparecer no primeiro acesso porque é um certificado auto-assinado (não tem nenhuma empresa externa certificando – esses certificados são pagos). Se aparecer o cadeado antes do endereço é porque está tudo certo.