aboutsummaryrefslogtreecommitdiff
path: root/files/pt-br/web/http/headers/public-key-pins/index.html
blob: e20a5410dcdb4359eba30ee0b69a35a9997329d8 (plain)
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="&lt;pin-value&gt;";
                 max-age=&lt;expire-time&gt;;
                 includeSubDomains;
                 report-uri="&lt;uri&gt;"</pre>

<h2 id="Diretivas">Diretivas</h2>

<dl>
 <dt><code>pin-sha256="&lt;pin-value&gt;"</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=&lt;expire-time&gt;</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="&lt;uri&gt;"</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>