NfWebCrypto - 网络加密 API 库


Apache
Linux
Scala

软件简介

NfWebCrypto (Netflix WebCrypto)是 W3C Web Cryptography
API
的 polyfill,作为原生的 Chrome PPAPI 插件,跟
JavaScript 的 polyfill 是不一样的,原生实现支持一个更强大的安全模块,不会暴露密钥资料到 JavaScript。NfWebCrypto
的目标是让 Web 开发者可以自由的使用 Web Crypto JavaScript API。

当前只支持 Linux amd64 的 Google Chrome / Chromium。

由于浏览器插件技术限制和 Netflix 的需要,NfWebCrypto 并没有实现 Web Crypto API。

NfWebCrypto 支持:

  • 接口支持

    • Key, KeyPair

    • KeyOperation

    • CryptoOperation

    • CryptoKeys

  • SubtleCrypto 接口方法支持

    • encrypt, decrypt

    • sign, verify

    • generateKey

    • exportKey, importKey

    • wrapKey, unwrapKey *

  • CryptoKeys 接口方法支持

    • getKeyByName
  • 密钥格式支持

    • symmetric keys: raw and jwk (raw)

    • asymmetric keys: pkcs#8 (public), spki (private), and jwk (public only)

  • 算法支持

    • SHA-1, SHA-224, SHA-256, SHA-384, SHA-512: digest

    • HMAC SHA-256: sign, verify, importKey, exportKey, generateKey

    • AES-128 CBC w/ PKCS#5 padding: encrypt, decrypt, importKey, exportKey, generateKey

    • RSASSA-PKCS1-v1_5: sign, verify, importKey, generateKey

    • RSAES-PKCS1-v1_5: encrypt, decrypt, importKey, exportKey, generateKey

    • Diffie-Hellman: generateKey, deriveKey

    • RSA-OAEP: wrapKey, unwrapKey

    • AES-KW: wrapKey, unwrapKey

    • AES-GCM: encrypt, decrypt, importKey, exportKey, generateKey