mkcert é uma ferramenta simples para criar certificados de desenvolvimento confiáveis localmente. Não requer configuração.
$ mkcert -install Created a new local CA ? The local CA is now installed in the system trust store! ⚡️ The local CA is now installed in the Firefox trust store (requires browser restart)! ? $ mkcert example.com "*.example.com" example.test localhost 127.0.0.1 ::1 Created a new certificate valid for the following names - "example.com" - "*.example.com" - "example.test" - "localhost" - "127.0.0.1" - "::1" The certificate is at "./example.com+5.pem" and the key at "./example.com+5-key.pem" ✅
Usar certificados de autoridades de certificação (CAs) reais para desenvolvimento pode ser perigoso ou impossível (para hosts como example.test
, localhost
ou 127.0.0.1
), mas certificados autoassinados causam erros de confiança. Gerenciar sua própria CA é a melhor solução, mas geralmente envolve comandos misteriosos, conhecimento especializado e etapas manuais.
mkcert cria e instala automaticamente uma CA local no armazenamento raiz do sistema e gera certificados confiáveis localmente. O mkcert não configura automaticamente os servidores para usar os certificados, isso depende de você.
Aviso : o arquivo
rootCA-key.pem
que o mkcert gera automaticamente fornece poder completo para interceptar solicitações seguras de sua máquina. Não compartilhe.
No macOS, use Homebrew
brew install mkcert brew install nss # if you use Firefox
ou MacPorts.
sudo port selfupdate sudo port install mkcert sudo port install nss # if you use Firefox
No Linux, primeiro instale certutil
.
sudo apt install libnss3-tools -or- sudo yum install nss-tools -or- sudo pacman -S nss -or- sudo zypper install mozilla-nss-tools
Então você pode instalar usando Homebrew no Linux
brew install mkcert
ou compilar a partir do código-fonte (requer Go 1.13+)
git clone https://github.com/FiloSottile/mkcert && cd mkcert go build -ldflags "-X main.Version=$(git describe --tags)"
ou use os binários pré-construídos.
curl -JLO "https://dl.filippo.io/mkcert/latest?for=linux/amd64" chmod +x mkcert-v*-linux-amd64 sudo cp mkcert-v*-linux-amd64 /usr/local/bin/mkcert
Para usuários do Arch Linux, mkcert
está disponível no repositório oficial do Arch Linux.
sudo pacman -Syu mkcert
No Windows, use Chocolatey
choco install mkcert
ou use Scoop
scoop bucket add extras scoop install mkcert
ou compile a partir do código-fonte (requer Go 1.10+) ou use os binários pré-construídos.
Se você estiver com problemas de permissão, tente executar mkcert
como administrador.
mkcert oferece suporte aos seguintes armazenamentos raiz:
loja do sistema macOS
Loja do sistema Windows
Variantes do Linux que fornecem
update-ca-trust
(Fedora, RHEL, CentOS) ou
update-ca-certificates
(Ubuntu, Debian, OpenSUSE, SLES) ou
trust
(Arco)
Firefox (somente macOS e Linux)
Cromo e cromo
Java (quando JAVA_HOME
está definido)
Para instalar apenas a CA raiz local em um subconjunto delas, você pode definir a variável de ambiente TRUST_STORES
como uma lista separada por vírgulas. As opções são: “system”, “java” e “nss” (inclui Firefox).
-cert-file FILE, -key-file FILE, -p12-file FILE Customize the output paths. -client Generate a certificate for client authentication. -ecdsa Generate a certificate with an ECDSA key. -pkcs12 Generate a ".p12" PKCS #12 file, also know as a ".pfx" file, containing certificate and key for legacy applications. -csr CSR Generate a certificate based on the supplied CSR. Conflicts with all other flags and arguments except -install and -cert-file.
Nota: Você deve colocar essas opções antes da lista de nomes de domínio.
mkcert -key-file key.pem -cert-file cert.pem example.com *.example.com
mkcert gera automaticamente um certificado S/MIME se um dos nomes fornecidos for um endereço de e-mail.
mkcert [email protected]
Para que os certificados sejam confiáveis em dispositivos móveis, você terá que instalar a CA raiz. É o arquivo rootCA.pem
na pasta impressa por mkcert -CAROOT
.
No iOS, você pode usar o AirDrop, enviar a CA por e-mail para si mesmo ou servi-la a partir de um servidor HTTP. Depois de abri-lo, você precisa instalar o perfil em Configurações > Perfil baixado e ativar a confiança total nele.
Para Android, você terá que instalar o CA e, em seguida, habilitar as raízes do usuário na versão de desenvolvimento do seu aplicativo. Veja esta resposta do StackOverflow.
O Node não usa o armazenamento raiz do sistema, portanto não aceitará certificados mkcert automaticamente. Em vez disso, você terá que definir a variável de ambiente NODE_EXTRA_CA_CERTS
.
export NODE_EXTRA_CA_CERTS="$(mkcert -CAROOT)/rootCA.pem"
O certificado CA e sua chave são armazenados em uma pasta de dados do aplicativo na página inicial do usuário. Normalmente você não precisa se preocupar com isso, pois a instalação é automatizada, mas a localização é impressa por mkcert -CAROOT
.
Se desejar gerenciar CAs separadas, você pode usar a variável de ambiente $CAROOT
para definir a pasta onde o mkcert será colocado e procurar os arquivos locais da CA.
A instalação no armazenamento confiável não requer a chave CA, portanto, você pode exportar o certificado CA e usar mkcert para instalá-lo em outras máquinas.
Procure o arquivo rootCA.pem
em mkcert -CAROOT
copie-o para uma máquina diferente
defina $CAROOT
para seu diretório
execute mkcert -install
Lembre-se de que mkcert se destina a fins de desenvolvimento, não de produção, portanto, não deve ser usado nas máquinas dos usuários finais e que você não deve exportar ou compartilhar rootCA-key.pem
.