1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
---
title: Public-Key-Pins
slug: Web/HTTP/Headers/Public-Key-Pins
tags:
- Depreciado
- HPKP
- HTTP
- Obsoleto
- Referencia
- Segurança
- cabeçalho
translation_of: Web/HTTP/Headers/Public-Key-Pins
---
<div>{{HTTPSidebar}}{{deprecated_header}}</div>
<div class="blockIndicator note"><strong>Nota:</strong> O mecanismo de Fixação de Chaves Públicas (Public Key Pinning) foi depreciado em favor do <a href="/en-US/docs/Web/Security/Certificate_Transparency">Certificado de Transparência</a> e do cabeçalho {{HTTPHeader("Expect-CT")}}.</div>
<p>O cabeçalho de resposta HTTP <code><strong>Public-Key-Pins</strong></code> usado para associar uma {{Glossary("key")}} pública criptográfica especifica com um certo servidor web para reduzir o risco de ataques {{Glossary("MITM")}} com certificados forjados, entretanto, ele foi removido em navegadores modernos e não é mais suportado. Use <a href="/en-US/docs/Web/Security/Certificate_Transparency">Certificado de Transparência</a> e o cabeçalho {{HTTPHeader("Expect-CT")}} ao invés disso.</p>
<p>Para mais informação, veja o artigo <em><a href="/en-US/docs/Web/HTTP/Public_Key_Pinning">HTTP Public Key Pinning</a></em>.</p>
<table class="properties">
<tbody>
<tr>
<th scope="row">Tipo de cabeçalho</th>
<td>{{Glossary("Response header")}}</td>
</tr>
<tr>
<th scope="row">{{Glossary("Forbidden header name")}}</th>
<td>não</td>
</tr>
</tbody>
</table>
<h2 id="Sintaxe">Sintaxe</h2>
<pre class="syntaxbox notranslate">Public-Key-Pins: pin-sha256="<pin-value>";
max-age=<expire-time>;
includeSubDomains;
report-uri="<uri>"</pre>
<h2 id="Diretivas">Diretivas</h2>
<dl>
<dt><code>pin-sha256="<pin-value>"</code></dt>
<dd>A cadeia de caracteres entre aspas duplas é a impressão digital da Informação da Chave Pública do Sujeito [<em>Subject Public Key Information</em> ({{Glossary("SPKI")}})] codificada em Base64. É possível especificar múltiplos <em>pins</em> para diferentes chaves públicas. Alguns navegadores podem permitir outros algoritmos de hasheamento além do SHA-256 no futuro.</dd>
<dt><code>max-age=<expire-time></code></dt>
<dd>O tempo, em segundos, que o navegador deve lembrar que o site só deve ser acessado usando uma das chaves definidas.</dd>
<dt><code>includeSubDomains</code> {{optional_inline}}</dt>
<dd>Se este parâmetro opcional é especificado, este regra vale para todos os subdomínios do site também.</dd>
<dt><code>report-uri="<uri>"</code> {{optional_inline}}</dt>
<dd>Se este parâmetro opcional é especificado, validações de <em>pin</em> que falharam são reportadas ao URL dado.</dd>
</dl>
<h2 id="Exemplo">Exemplo</h2>
<div class="warning">
<p id="HPKP_has_the_potential_to_lock_out_users_for_a_long_time_if_used_incorrectly!_The_use_of_backup_certificates_andor_pinning_the_CA_certificate_is_recommend.">HPKP tem o potencial de bloquear usuários por um longo período de tempo de usado incorretamente! O uso de <em>backup</em> de certificados e/ou fixação do Autoridade de Certificados é recomendado.</p>
</div>
<pre class="notranslate">Public-Key-Pins:
pin-sha256="cUPcTAZWKaASuYWhhneDttWpY3oBAkE3h2+soZS7sWs=";
pin-sha256="M8HztCzM3elUxkcjR2S5P4hhyBNf6lHkmjAHKhpGPWE=";
max-age=5184000; includeSubDomains;
report-uri="https://www.example.org/hpkp-report"</pre>
<p>Neste exemplo, <strong>pin-sha256="cUPcTAZWKaASuYWhhneDttWpY3oBAkE3h2+soZS7sWs="</strong> fixa a chave pública do servidor usada em produção. A segunda declaração de fixação <strong>pin-sha256="M8HztCzM3elUxkcjR2S5P4hhyBNf6lHkmjAHKhpGPWE="</strong> também fixa a chave de <em>backup</em>. <strong>max-age=5184000</strong> 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 <strong>includeSubDomains</strong>. Finalmente, <strong>report-uri="https://www.example.org/hpkp-report"</strong> diz para onde reportar as validação de fixação que falharam.</p>
<h2 id="Especificações">Especificações</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">Especificação</th>
<th scope="col">Título</th>
</tr>
<tr>
<td>{{RFC("7469", "Public-Key-Pins", "2.1")}}</td>
<td>Public Key Pinning Extension for HTTP</td>
</tr>
</tbody>
</table>
<h2 id="Browser_compatibility">Compatibilidade com navegadores</h2>
<p>{{Compat("http.headers.Public-Key-Pins")}}</p>
<h2 id="Veja_também">Veja também</h2>
<ul>
<li>{{HTTPHeader("Public-Key-Pins-Report-Only")}}</li>
<li>{{HTTPHeader("Expect-CT")}}</li>
</ul>
|