# class SubtleCrypto

#### package js.html

Available on HTML5

The `SubtleCrypto` interface represents a set of cryptographic primitives. It is available via the `Crypto.subtle` properties available in a window context (via `Window.crypto`).

Documentation SubtleCrypto by Mozilla Contributors, licensed under CC-BY-SA 2.5.

See:

https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto

### Methods

###

`decrypt (algorithm:EitherType<Dynamic, String>, key:CryptoKey, data:EitherType<ArrayBufferView, ArrayBuffer>):Promise<Dynamic>`

Throws:

`null` | DOMError

###

`deriveBits (algorithm:EitherType<Dynamic, String>, baseKey:CryptoKey, length:Int):Promise<Dynamic>`

Throws:

`null` | DOMError

###

`deriveKey (algorithm:EitherType<Dynamic, String>, baseKey:CryptoKey, derivedKeyType:EitherType<Dynamic, String>, extractable:Bool, keyUsages:Array<String>):Promise<Dynamic>`

Throws:

`null` | DOMError

###

`digest (algorithm:EitherType<Dynamic, String>, data:EitherType<ArrayBufferView, ArrayBuffer>):Promise<Dynamic>`

Throws:

`null` | DOMError

###

`encrypt (algorithm:EitherType<Dynamic, String>, key:CryptoKey, data:EitherType<ArrayBufferView, ArrayBuffer>):Promise<Dynamic>`

Throws:

`null` | DOMError

###

`exportKey (format:String, key:CryptoKey):Promise<Dynamic>`

Throws:

`null` | DOMError

###

`generateKey (algorithm:EitherType<Dynamic, String>, extractable:Bool, keyUsages:Array<String>):Promise<Dynamic>`

Throws:

`null` | DOMError

###

`importKey (format:String, keyData:Dynamic, algorithm:EitherType<Dynamic, String>, extractable:Bool, keyUsages:Array<String>):Promise<Dynamic>`

Throws:

`null` | DOMError

###

`sign (algorithm:EitherType<Dynamic, String>, key:CryptoKey, data:EitherType<ArrayBufferView, ArrayBuffer>):Promise<Dynamic>`

Throws:

`null` | DOMError

###

`unwrapKey (format:String, wrappedKey:EitherType<ArrayBufferView, ArrayBuffer>, unwrappingKey:CryptoKey, unwrapAlgorithm:EitherType<Dynamic, String>, unwrappedKeyAlgorithm:EitherType<Dynamic, String>, extractable:Bool, keyUsages:Array<String>):Promise<Dynamic>`

Throws:

`null` | DOMError

###

`verify (algorithm:EitherType<Dynamic, String>, key:CryptoKey, signature:EitherType<ArrayBufferView, ArrayBuffer>, data:EitherType<ArrayBufferView, ArrayBuffer>):Promise<Dynamic>`

Throws:

`null` | DOMError

###

`wrapKey (format:String, key:CryptoKey, wrappingKey:CryptoKey, wrapAlgorithm:EitherType<Dynamic, String>):Promise<Dynamic>`

Throws:

`null` | DOMError