MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

Esta traducción está incompleta. Por favor, ayuda a traducir este artículo del inglés.

This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the specification changes.

Borrador
Esta página no está completa.

La Web Crypto API es una interfaz que permite usar primitivas criptográficas mediante un script con el fin de construir sistemas haciendo uso de la criptografía.

Una de las principales características de esta API es que permite la manipulación y almacenamiento de claves privadas y secretas sin la capa de bits de la clave para poder usarlo con Javascript.

Esta interfaz permite el acceso a las siguientes primitivas:

  • digest, la capacidad para calcular un hash de un bloque arbitrario de datos, con el fin de detectar cualquier cambio en él.
  • mac, la capacidad de calcular un código de mensaje de autenticación.
  • sign and verify, la capacidad de firmar digitalmente un documento, y de verificar una firma.
  • encrypt and decrypt, la capacidad de codificar o descodificar un documento.
  • import and export, la capacidad de importar o exportar una clave.
  • key generation, la capacidad de crear una llave criptográfica segura o un par de llaves (llave pública y llave privada), sin el uso de una clave base, pero usando la entropía disponible en el sistema local.
  • key wrapping and unwrapping, la capacidad de transmitir y recibir una llave de un tercero, codificada usando otra llave sin exponer dicha llave a JavaScript.
  • random, la capacidad de generar criptográficamente números pseudo-aleatorios fuertes.

La Web Crypto API no resuelve todos los problemas criptográficos a los que un sitio web o una aplicación puedan encontrarse:

  • It doesn't relax the same-origin security model of the browser, like cases where keys are issued by centralized entities used by several Web sites.
  • No interactúa con hardware dedicado, tal y como smart cards, pendrives, o generadores aleatorios.

¡Atención!

  • El simple hecho de hacer uso de la criptografía no hace a tu sistema seguro. La Seguridad es un proceso que constamentemente evalua el riesgo de un sistema en el contexto de uso. The context and the risks experienced evolve over time.
  • Al aplicar seguridad, todo el sistema debe considerarse. En el caso de la  Web Crypto API, los desarrolladores Web no sólo deben considerar la seguridad del script, sino también la seguridad de la conexión al servidor y los datos que éste podría comunicar sin encriptar.  La seguridad en general será tan débil como la parte más débil de todo el sistema.

Interfaces

Algunos navegadores implementan una interfaz llamada Crypto sin tenerla bien definida o criptográficamente siendo llamada. Con el fin de evitar conclusiones, los métodos y propiedades de esta interfaz van a ir implementados en la Web Crypto API, y todos los métodos de la Web Crypto API están disponibles en una nueva interfaz: SubtleCrypto.
La propiedad Crypto.subtle da acceso a un objeto para implementarla.

Casos de uso

La Web Crypto API puede ser usada para:

  • Verificar que los datos no han sido alterados por terceros. Even if the data is stored in the clear, the storage of a signature, generated from a password, allows the people knowing the password to know that it is genuine.

Especificaciones

Especificación Estado Comentario
Web Cryptography API Recommendation Initial definition

Etiquetas y colaboradores del documento

Etiquetas: 
 Colaboradores en esta página: haxdai, anfuca
 Última actualización por: haxdai,