Skip to main content

Guia Prático de Certificados Digitais no Windows (KEY, CRT, PFX, CA) | Windows

  • Guia Prático de Certificados Digitais no Windows (KEY, CRT, PFX, CA) | Windows

🧩 1. Tipos de arquivos e PARA QUE SERVEM

🔐 1.1 Chave Privada (.key)

O que é

Arquivo que contém a chave criptográfica secreta.

Onde é usada

  • Servidores HTTPS (Nginx, Traefik, Apache)
  • Assinatura de certificados
  • APIs seguras
  • Containers Docker

⚠️ Importante

  • Nunca compartilhe
  • Quem tem a .key pode se passar pelo servidor

📦 Exemplo de uso

Traefik → local.key
Nginx → site.key
IIS (indiretamente via PFX)

📜 1.2 Certificado Público (.crt / .pem)

O que é

Arquivo público que:

  • Identifica o servidor ou serviço
  • Contém a chave pública
  • Pode ser autoassinado ou assinado por uma CA

Onde é usado

  • HTTPS
  • APIs
  • Clientes que precisam confiar no servidor
  • Cadeias TLS

📦 Exemplo de uso

Traefik → local.crt
Nginx → site.crt
Importação em browsers (para confiança)

📦 1.3 Certificado PFX (.pfx / .p12)

O que é

Arquivo combinado, que contém:

  • Certificado (.crt)
  • Chave privada (.key)
  • (Opcional) cadeia de certificados

Onde é usado

  • Windows / IIS
  • Azure App Service
  • Azure Key Vault
  • Aplicações .NET
  • APIs que exigem upload de certificado

📦 Exemplo de uso

IIS → importar PFX
Azure → upload do PFX
Aplicação .NET → leitura do PFX

🏛️ 1.4 Autoridade Certificadora (CA)

A lógica de certificados é a seguinte: Uma CA (autoridade certificadora) emite certificados. Quem precisa confiar nesses certificados, precisa conhecer essa CA. Isso é a lógica de toda a internet e todo sistema de informação que usa certificados. Do seu windows, ao linux.

O que é

Entidade que assina certificados e gera confiança.

Tipos

TipoUso
CA públicaProdução (Let’s Encrypt, DigiCert)
CA privadaLAB, intranet, ambientes internos

Exemplos

  • Let’s Encrypt (produção)
  • mkcert (LAB)
  • CA interna corporativa

🧰 2. COMO CRIAR CADA TIPO (COM EXEMPLOS)


🔑 2.1 Criar chave privada + certificado autoassinado

👉 Uso típico: LAB, testes, Traefik local, Passbolt local

openssl req -x509 -newkey rsa:2048 -nodes \
-keyout server.key \
-out server.crt \
-days 365 \
-subj "/CN=meuservico.local"

📂 Arquivos gerados

  • server.key → chave privada
  • server.crt → certificado público

🧪 Onde usar

  • Traefik (LAB)
  • Nginx local
  • Passbolt em ambiente interno

📦 2.2 Criar arquivo PFX (Windows / IIS / Azure)

👉 Uso típico: IIS, Azure, .NET

openssl pkcs12 -export \
-out server.pfx \
-inkey server.key \
-in server.crt

🔐 Será solicitada uma senha.

📂 Arquivo gerado

  • server.pfx

🧑‍💻 2.3 Script completo (automatizado)

@echo off
set CN=meuservico.local

openssl req -x509 -newkey rsa:2048 -nodes ^
-keyout server.key ^
-out server.crt ^
-days 365 ^
-subj "/CN=%CN%"

openssl pkcs12 -export ^
-out server.pfx ^
-inkey server.key ^
-in server.crt

pause

🏗️ 3. CONTEXTO REAL DE USO (RESUMO RÁPIDO)

ContextoArquivo usado
Traefik.crt + .key
Nginx.crt + .key
Passbolt.crt + .key
IIS.pfx
Azure App Service.pfx
APIs .NET.pfx
Browser trust.crt (importado)

🟢 4. Certificados CONFIÁVEIS no Windows (LAB)

✅ Opção recomendada: mkcert

👉 Resolve 100% dos problemas de trust no Windows.

mkcert -install
mkcert vaultwarden.localhost passbolt.localhost aliasvault.localhost

Gera certificados:

  • Confiáveis
  • Sem aviso no navegador
  • Perfeitos para Traefik / Docker

🔐 5. Certificados para PRODUÇÃO

🌍 Let’s Encrypt (recomendado)

  • Gratuito
  • Aceito por todos os browsers
  • Automático (Traefik, Certbot)

Quando usar

  • Produção
  • Domínio público
  • HTTPS real

⚠️ 6. Boas práticas de segurança

  • ❌ Nunca commitar .key ou .pfx
  • ✅ Use .env e secrets
  • 🔐 Proteja PFX com senha forte
  • 🔄 Renove certificados periodicamente
  • 🚫 Autoassinado NUNCA em produção pública

🧠 7. Resumo final (mental model)

.key  → segredo
.crt → público
.pfx → Windows / Azure
CA → confiança

Autoridades Certificadoras comuns

  • Let’s Encrypt (produção)
  • mkcert (LAB)
  • DigiCert / GlobalSign (empresarial)