diff options
Diffstat (limited to 'ext/crypto/README.md')
| -rw-r--r-- | ext/crypto/README.md | 84 |
1 files changed, 83 insertions, 1 deletions
diff --git a/ext/crypto/README.md b/ext/crypto/README.md index be0724458..f4f228e60 100644 --- a/ext/crypto/README.md +++ b/ext/crypto/README.md @@ -1,5 +1,87 @@ # deno_crypto -This crate implements the Web Cryptography API. +**This crate implements the Web Cryptography API.** Spec: https://www.w3.org/TR/WebCryptoAPI/ + +## Usage Example + +From javascript, include the extension's source, and assign `CryptoKey`, +`crypto`, `Crypto`, and `SubtleCrypto` to the global scope: + +```javascript +import * as crypto from "ext:deno_crypto/00_crypto.js"; + +Object.defineProperty(globalThis, "CryptoKey", { + value: crypto.CryptoKey, + enumerable: false, + configurable: true, + writable: true, +}); + +Object.defineProperty(globalThis, "crypto", { + value: crypto.crypto, + enumerable: false, + configurable: true, + writable: false, +}); + +Object.defineProperty(globalThis, "Crypto", { + value: crypto.Crypto, + enumerable: false, + configurable: true, + writable: true, +}); + +Object.defineProperty(globalThis, "SubtleCrypto", { + value: crypto.SubtleCrypto, + enumerable: false, + configurable: true, + writable: true, +}); +``` + +Then from rust, provide: +`deno_crypto::deno_crypto::init_ops_and_esm(Option<u64>)` in the `extensions` +field of your `RuntimeOptions` + +Where the `Option<u64>` represents an optional seed for initialization. + +## Dependencies + +- **deno_webidl**: Provided by the `deno_webidl` crate +- **deno_web**: Provided by the `deno_web` crate + +## Provided ops + +Following ops are provided, which can be accessed through `Deno.ops`: + +- op_crypto_get_random_values +- op_crypto_generate_key +- op_crypto_sign_key +- op_crypto_verify_key +- op_crypto_derive_bits +- op_crypto_import_key +- op_crypto_export_key +- op_crypto_encrypt +- op_crypto_decrypt +- op_crypto_subtle_digest +- op_crypto_random_uuid +- op_crypto_wrap_key +- op_crypto_unwrap_key +- op_crypto_base64url_decode +- op_crypto_base64url_encode +- x25519::op_crypto_generate_x25519_keypair +- x25519::op_crypto_derive_bits_x25519 +- x25519::op_crypto_import_spki_x25519 +- x25519::op_crypto_import_pkcs8_x25519 +- ed25519::op_crypto_generate_ed25519_keypair +- ed25519::op_crypto_import_spki_ed25519 +- ed25519::op_crypto_import_pkcs8_ed25519 +- ed25519::op_crypto_sign_ed25519 +- ed25519::op_crypto_verify_ed25519 +- ed25519::op_crypto_export_spki_ed25519 +- ed25519::op_crypto_export_pkcs8_ed25519 +- ed25519::op_crypto_jwk_x_ed25519 +- x25519::op_crypto_export_spki_x25519 +- x25519::op_crypto_export_pkcs8_x25519 |
