summaryrefslogtreecommitdiff
path: root/ext/crypto/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'ext/crypto/README.md')
-rw-r--r--ext/crypto/README.md84
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