aboutsummaryrefslogtreecommitdiff
path: root/files/pt-br/web/api/web_crypto_api/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/pt-br/web/api/web_crypto_api/index.html')
-rw-r--r--files/pt-br/web/api/web_crypto_api/index.html132
1 files changed, 132 insertions, 0 deletions
diff --git a/files/pt-br/web/api/web_crypto_api/index.html b/files/pt-br/web/api/web_crypto_api/index.html
new file mode 100644
index 0000000000..3058112978
--- /dev/null
+++ b/files/pt-br/web/api/web_crypto_api/index.html
@@ -0,0 +1,132 @@
+---
+title: Web Crypto API
+slug: Web/API/Web_Crypto_API
+tags:
+ - API
+ - API de criptografia Web
+ - Overview
+ - Referencia
+ - Visão Geral
+ - Web Crypto API
+translation_of: Web/API/Web_Crypto_API
+---
+<p>{{DefaultAPISidebar("Web Crypto API")}}{{SeeCompatTable}}{{draft}}</p>
+
+<p>A <strong>Web Crypto API</strong> é uma interface que permite um script utilizar criptografias primitivas para criar sistemas usando criptografia.</p>
+
+<p>Uma característica fundamental desta API é permitir a manipulação e o armazenamento de keys de criptografia privadas e secretas sem que o JavaScript tenha acesso aos bits internos das keys.</p>
+
+<p>Essa interface permite que scripts acessem as seguintes primitivas:</p>
+
+<ul>
+ <li><em>digest</em>, a habilidade de computar um hash de um bloco arbitrário de dados com o objetivo de detectar se houve alguma mudança.</li>
+ <li><em>mac</em>, a habilidade de computar um código de autenticação de mensagem.</li>
+ <li><em>sign</em> e <em>verify</em>, a habilidade de assinar digitalmente um documento e de verificar se uma dada assinatura pertence àquele que afirma ser seu signatário.</li>
+ <li><em>encrypt</em> e <em>decrypt</em>, a habilidade de codificar e decodificar um documento utilizando chaves criptográficas.</li>
+ <li><em>import</em> e <em>export</em>, a habilidade de importar e exportar keys criptografadas.</li>
+ <li><em>key generation</em>, a habilidade de criar uma key ou um par de keys de criptografia segura, sem o uso de uma key base, mas utilizando a entropia do sistema local como fonte de aleatoriedade para essa geração.</li>
+ <li><em>key wrapping</em> e <em>unwrapping</em>, a habilidade de transmitir e receber uma key de um terceiro, codificada utilizando uma outra key, sem expor a key subjacente ao código JavaScript.</li>
+ <li><em>random</em>, a habilidade de gerar números pseudo-randômicos de criptografia significante.</li>
+</ul>
+
+<p>A Web Crypto API não resolve todos os problemas de criptografia que um site Web ou aplicação pode encontrar:</p>
+
+<ul>
+ <li>Ela não dispensa o respeito ao <a href="/en-US/docs/Web/Security/Same-origin_policy">modelo de origem idêntica</a> do navegador, como em casos em que chaves são fornecidas por autoridades centrais utilizadas por diversos sítios Web.</li>
+ <li>Ela é incapaz de interagir com hardwares dedicados, como cartões inteligentes (smartcards), tokens USB ou geradores de aleatoriedade.</li>
+</ul>
+
+<div class="warning">
+<p><strong>Atenção!</strong></p>
+
+<ul>
+ <li>O mero uso de criptografia não faz seu sistema seguro. Segurança é um <strong>processo</strong> que constantemente avalia os riscos em que um sistema pode incorrer dentro do seu contexto de utilização. O contexto e os riscos que podem ocorrer evoluem no tempo.</li>
+ <li>Quando se lida com segurança, todo o <strong>sistema</strong> precisa ser considerado. No caso da Web Crypto API, os desenvolvedores Web não devem considerar apenas a segurança de seu código ou script, mas também a segurança da conexão que é mantida com o servidor e os dados que o servidor pode manter em texto plano (não criptografado). A segurança geral não será mais forte que a segurança de da parte mais fraca do sistema.</li>
+</ul>
+</div>
+
+<h2 id="Interfaces">Interfaces</h2>
+
+<p>Alguns navegadores implementam uma interface chamada {{domxref("Crypto")}} sem que ela esteja bem definida ou seja substancialmente criptografado. Para evitar confusões, métodos e propriedades desta interface foram retiradas de navegadores que implementaram Web Crypto API, e todos os métodos Web Crypto API estão disponíveis em uma nova interface: {{domxref("SubtleCrypto")}}. A propriedade {{domxref("Crypto.subtle")}} dá acesso a um objeto que a implementa.</p>
+
+<h2 id="Casos_de_uso">Casos de uso</h2>
+
+<p>A Web Crypto API pode ser utilizada:</p>
+
+<ul>
+ <li>Para verificar que dados não foram alterados por um terceiro. Mesmo se dados foram armazenados sem criptografia, o armazenamento de uma assinatura, gerada a partir de uma senha, permite que pessoas que conhecem a senha identificar se o conteúdo e a assinatura são genuínos.</li>
+</ul>
+
+<h2 id="Especificações">Especificações</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Especificação</th>
+ <th scope="col">Status</th>
+ <th scope="col">Comentário</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{SpecName("Web Crypto API")}}</td>
+ <td>{{Spec2("Web Crypto API")}}</td>
+ <td>Definição inicial</td>
+ </tr>
+ </tbody>
+</table>
+
+<p> </p>
+
+<p> </p>
+
+<h2 id="Compatibilidade_de_Browser">Compatibilidade de Browser</h2>
+
+<p>{{CompatibilityTable}}</p>
+
+<table>
+ <tbody>
+ <tr>
+ <th>Característica</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari (WebKit)</th>
+ </tr>
+ <tr>
+ <td>Suporte básico</td>
+ <td>{{CompatChrome(37)}}</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatOpera(24)}}</td>
+ <td>{{CompatUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+
+<table>
+ <tbody>
+ <tr>
+ <th>Característica</th>
+ <th>Android Webview</th>
+ <th>Chrome for Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>Firefox OS</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Suporte básico</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatChrome(37)}}</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+
+<p> </p>