Deprecated
This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.
Expect-CT
.O cabeçalho de resposta HTTP Public-Key-Pins
usado para associar uma key pública criptográfica especifica com um certo servidor web para reduzir o risco de ataques MITM com certificados forjados, entretanto, ele foi removido em navegadores modernos e não é mais suportado. Use Certificado de Transparência e o cabeçalho Expect-CT
ao invés disso.
Para mais informação, veja o artigo HTTP Public Key Pinning.
Tipo de cabeçalho | Response header |
---|---|
Forbidden header name | não |
Sintaxe
Public-Key-Pins: pin-sha256="<pin-value>"; max-age=<expire-time>; includeSubDomains; report-uri="<uri>"
Diretivas
pin-sha256="<pin-value>"
- A cadeia de caracteres entre aspas duplas é a impressão digital da Informação da Chave Pública do Sujeito [Subject Public Key Information (SPKI)] codificada em Base64. É possível especificar múltiplos pins para diferentes chaves públicas. Alguns navegadores podem permitir outros algoritmos de hasheamento além do SHA-256 no futuro.
max-age=<expire-time>
- O tempo, em segundos, que o navegador deve lembrar que o site só deve ser acessado usando uma das chaves definidas.
includeSubDomains
Optional- Se este parâmetro opcional é especificado, este regra vale para todos os subdomínios do site também.
report-uri="<uri>"
Optional- Se este parâmetro opcional é especificado, validações de pin que falharam são reportadas ao URL dado.
Exemplo
HPKP tem o potencial de bloquear usuários por um longo período de tempo de usado incorretamente! O uso de backup de certificados e/ou fixação do Autoridade de Certificados é recomendado.
Public-Key-Pins: pin-sha256="cUPcTAZWKaASuYWhhneDttWpY3oBAkE3h2+soZS7sWs="; pin-sha256="M8HztCzM3elUxkcjR2S5P4hhyBNf6lHkmjAHKhpGPWE="; max-age=5184000; includeSubDomains; report-uri="https://www.example.org/hpkp-report"
Neste exemplo, pin-sha256="cUPcTAZWKaASuYWhhneDttWpY3oBAkE3h2+soZS7sWs=" fixa a chave pública do servidor usada em produção. A segunda declaração de fixação pin-sha256="M8HztCzM3elUxkcjR2S5P4hhyBNf6lHkmjAHKhpGPWE=" também fixa a chave de backup. max-age=5184000 diz ao cliente para guardar esta informação por dois meses, que é um tempo limite razoável de acordo com a IETF RFC. Esta fixação de chave também é valida para todos os subdomínios, que é dito pela declaração do includeSubDomains. Finalmente, report-uri="https://www.example.org/hpkp-report" diz para onde reportar as validação de fixação que falharam.
Especificações
Especificação | Título |
---|---|
RFC 7469, sessão 2.1: Public-Key-Pins | Public Key Pinning Extension for HTTP |
Compatibilidade de navegador
BCD tables only load in the browser
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.