Aprender
Guias curtos e técnicos sobre como as assinaturas digitais funcionam de verdade — os algoritmos, os formatos byte a byte e os erros de configuração que fazem a verificação falhar. Escritos para aqueles momentos em que uma assinatura não passa na verificação e a mensagem de erro não diz nada.
TLS
Certificados TLS de 47 dias: prazos e o que automatizar
A votação SC-081 do CA/B Forum reduz certificados TLS públicos a 200, 100 e 47 dias e o reúso da validação de domínio a 10. Datas, perfis ACME, ARI, alertas.
Cadeia de suprimentos
Esquemas de assinatura APK v1–v4, rotação de chaves e Play
Assinatura de APK no Android: esquemas v1 a v4, rotação de chaves com v3 e v3.1, o novo v3.2 híbrido com ML-DSA, Play App Signing e a saída do apksigner verify.
Cadeia de suprimentos
Authenticode: chaves, carimbos do tempo e verificação
Como o Authenticode assina executáveis do Windows, a regra de HSM de 2023 para chaves, carimbos do tempo que sobrevivem ao certificado, signtool e osslsigncode.
Bitcoin
Assinatura de mensagens Bitcoin: BIP-137 e BIP-322
Assinatura de mensagens Bitcoin: cabeçalhos BIP-137, provas BIP-322 simples e completas, tipos de endereço, suporte nas carteiras e verificação testada em 2026.
Cadeia de suprimentos
Credenciais C2PA: manifestos, assinaturas e limites
Como funcionam as credenciais C2PA: manifestos, claims e assinaturas COSE, confiança e carimbos do tempo, estados de validação e por que recodificar as remove.
TLS
Fixação segura de certificados em 2026: quando e como usar
Fixação de certificados hoje: o fim do HPKP, pins SPKI em apps Android e iOS e no OkHttp, risco de bloqueio com certificados de curta duração e rotação de pins.
PKI
Certificate Transparency na prática: SCTs e alertas
Como funciona o Certificate Transparency em 2026: SCTs, logs, regras de Chrome, Apple e Firefox, busca de certificados no Cert Spotter e crt.sh, monitoramento.
Falhas de DKIM: hash do corpo, assinatura, chaves e DNS
Por que o DKIM falha: canonicalização, hash do corpo, encaminhamento, listas de discussão, tag l=, tamanho da chave e DNS. Falhas reproduzidas e correções.
DNS
Cadeia de confiança DNSSEC: DS, DNSKEY, RRSIG e falhas
Como a validação DNSSEC vai da raiz até o seu registro: DS, DNSKEY, RRSIG, algoritmos 8, 13 e 15, verificações com dig e delv e falhas no rollover de chaves.
DPoP
DPoP explicado: tokens OAuth vinculados à chave do cliente
Como o DPoP (RFC 9449) vincula tokens de acesso OAuth à chave do cliente: prova JWT, jti, htm, htu, ath, nonces, cnf.jkt e a verificação no servidor, testada.
Algoritmos
Recuperação da chave pública ECDSA: recid, v e ecrecover
Como funciona a recuperação da chave pública ECDSA: matemática, IDs de recuperação e v, ecrecover, assinaturas compactas do Bitcoin, EIP-2098 e bugs a evitar.
Ethereum
EIP-712: o que você realmente assina e como interpretá-lo
Dados tipados EIP-712: domínio, tipos e hashes, permits ERC-2612, Permit2, aprovações ilimitadas e como ler uma solicitação de assinatura antes de assinar.
JWT
ES256 vs EdDSA para JWT: qual escolher em 2026
ES256 vs EdDSA (Ed25519) em JWT: tamanho, determinismo, maleabilidade, velocidade, 13 bibliotecas testadas, KMS e HSM, o novo nome Ed25519 e a escolha em 2026.
Gerenciamento de chaves
Chaves em hardware: Secure Enclave, StrongBox, TPM, PIV
O que as chaves em hardware garantem: Secure Enclave da Apple, TEE e StrongBox no Android, TPM 2.0 e YubiKey PIV, como o atestado prova isso e seus limites.
Assinaturas HTTP
Assinaturas de mensagens HTTP (RFC 9421) para APIs e bots
Assinaturas HTTP (RFC 9421): componentes cobertos, Signature-Input, chaves, repetição, verificação no servidor e Web Bot Auth para rastreadores e agentes de IA.
JWT
Rotação de chaves JWKS sem interrupção
Rotação de chaves de assinatura JWT sem requisições com falha: regras de kid, sobreposição, Cache-Control, cache em 7 bibliotecas e remoção de emergência.
JWT
Erros na verificação de JWT que aceitam tokens inválidos
Erros de verificação de JWT que ainda vão ao ar: alg do cabeçalho, confusão HS/RS, kid, aud, iss, exp, desvio de relógio e cache de JWKS, com código corrigido.
Pós-quântica
ML-DSA (FIPS 204) na prática: chaves, assinaturas e código
ML-DSA (FIPS 204): tamanhos 44/65/87, modo hedged ou determinístico, contexto, HashML-DSA, formatos de chave e código testado para OpenSSL, Go, Java e .NET.
TLS
TLS mútuo para APIs: certificados de cliente na prática
TLS mútuo para APIs: como funcionam certificados de cliente no TLS 1.3, CA privada, configuração de nginx, Envoy, Go e Node.js, rotação e os erros de cada um.
PKI
OCSP e CRL em 2026: como se verifica a revogação hoje
Let’s Encrypt sem OCSP, CRLs obrigatórias, navegadores com CRLite e CRLSets. O que Java, .NET, Go, Python, Node.js e curl verificam por padrão e como corrigir.
OpenID Connect
Validação do token de ID OIDC, passo a passo
Valide tokens de ID OpenID Connect pelo Core 3.1.3.7: iss, aud, azp, assinatura, exp, nonce, at_hash e c_hash, e as peculiaridades de Entra ID, Google e Auth0.
Cadeia de suprimentos
OpenPGP em 2026: RFC 9580, chaves v6 e a cisão do GnuPG
OpenPGP hoje: RFC 9580 e chaves v6, Ed25519 e X25519, a RFC 9980 pós-quântica, o LibrePGP do GnuPG vs. Sequoia, testes de interoperabilidade e conselhos.
Chaves de acesso
Passkeys para desenvolvedores: WebAuthn sem achismo
Passkeys para desenvolvedores: registro e login WebAuthn, atestado, passkeys sincronizadas, verificação do usuário, algoritmos COSE e DOMException, testados.
Documentos
Assinaturas de PDF explicadas: ByteRange, CMS, PAdES e LTV
Como funciona a assinatura de PDF: ByteRange, objeto CMS, níveis PAdES, carimbos do tempo RFC 3161, LTV, por que é válida, mas não confiável, e como verificar.
Java
PKIX path building failed no Java: causas e soluções reais
Por que o Java lança PKIX path building failed: CA privada, intermediário ausente, trust store errado, raízes desatualizadas, SNI. Como diagnosticar e corrigir.
Pós-quântica
Migração pós-quântica em 2026: plano para desenvolvedores
O que já é pós-quântico por padrão em 2026, o que falta mudar e os prazos reais (NIST IR 8547, CNSA 2.0, UE, Reino Unido) para troca de chaves e assinaturas.
SAML
Validação de assinaturas SAML: o que verificar e por quê
Como validar assinaturas SAML: referências XMLDSig, canonicalização, por que ler dados só do elemento assinado e as verificações de Audience, Recipient e tempo.
SD-JWT
SD-JWT e SD-JWT VC: divulgação seletiva em carteiras EUDI
SD-JWT (RFC 9901) e SD-JWT VC: claims ocultas em digests com salt, vinculação de chave contra repetição, relação com carteiras EUDI e mdoc, situação em 2026.
Algoritmos
secp256k1 explicada: a curva do Bitcoin e do Ethereum
secp256k1: parâmetros, o endomorfismo que a acelera, por que o Bitcoin e o Ethereum a usam, low-S, codificação de chaves e endereços, suporte nas plataformas.
Ethereum
Sign-In with Ethereum (EIP-4361): verifique no servidor
Sign-In with Ethereum bem feito: mensagem EIP-4361, validação de nonce, domínio e URI, verificação no servidor, ERC-1271 e ERC-6492 para carteiras inteligentes.
Cadeia de suprimentos
Assinar releases com Sigstore: cosign, bundles, identidade
Assinatura keyless com Sigstore: certificados Fulcio, log Rekor, bundles cosign, verificação da identidade, proveniência npm e atestados de artefatos do GitHub.
Gerenciamento de chaves
Assinatura com KMS em nuvem: AWS, Google Cloud e Azure
Assine com AWS KMS, Google Cloud KMS e Azure Key Vault: tipos de chave, digest ou mensagem, ECDSA DER ou bruto, JWTs, arquivos, permissões e logs de auditoria.
SSH
Certificados SSH vs authorized_keys: CAs e principals
Certificados OpenSSH em vez de authorized_keys: CAs de usuário e de host, principals, validade, ssh-keygen -s, sshd, revogação por KRL e os erros que aparecem.
SSH
ssh-keygen em 2026: tipos de chave, frase secreta e agente
Qual chave SSH gerar em 2026: Ed25519, chaves FIDO -sk, o novo híbrido ML-DSA, RSA 3072; rodadas de KDF, riscos de encaminhar o agente, certificados e rotação.
TLS
X25519MLKEM768: a troca de chaves híbrida no TLS 1.3
Como funciona o híbrido X25519MLKEM768 no TLS 1.3: tamanhos do key share, ponto de código 0x11EC, quem o ativa por padrão, como verificar e o que pode quebrar.
PKI
Campos do certificado X.509 explicados com exemplos reais
Campos X.509 em certificados reais: titular vs. SAN, Key Usage e EKU, Basic Constraints, AKI e SKI, CRL, OCSP e AIA, SCTs e o que cada regra significa hoje.
Modos de falha
Reutilização de nonce no ECDSA: como um número repetido revela a chave privada
Por que reutilizar o nonce k do ECDSA vaza a chave privada: a dedução, as falhas do PlayStation 3 e do Android, r repetidos no Bitcoin e a correção da RFC 6979.
Formatos
Formatos de assinatura ECDSA: DER vs bruto (P1363), high-S e armadilhas entre bibliotecas
Por que a assinatura ECDSA tem duas codificações, ASN.1 DER e r‖s bruto (IEEE P1363): layout de bytes, high-S vs low-S e padrões de Node.js, Go, Python e Java.
JWT
ES256 vs RS256 em JWTs: como escolher e como não cair em armadilhas
ES256 vs RS256 em JWT: valores de alg, tamanho do token, fixação dos algoritmos, por que nunca aceitar alg none e por que a assinatura ES256 é r‖s bruto.
Algoritmos
ECDSA vs RSA: qual algoritmo de assinatura usar e quando
ECDSA vs RSA: tamanhos de chave e assinatura (P-256 vs RSA-3072), velocidade, uso em TLS, SSH, JWTs e blockchains, o requisito do nonce e os prazos PQC do NIST.
Prefere mexer em bytes de verdade? As ferramentas do Laboratório de assinaturas rodam inteiramente no seu navegador.