pub trait SubtleCryptoMethods<D: DomTypes> {
Show 19 methods
// Required methods
fn Encrypt(
&self,
realm: &mut CurrentRealm<'_>,
algorithm: ObjectOrString,
key: &D::CryptoKey,
data: ArrayBufferViewOrArrayBuffer,
) -> Rc<D::Promise>;
fn Decrypt(
&self,
realm: &mut CurrentRealm<'_>,
algorithm: ObjectOrString,
key: &D::CryptoKey,
data: ArrayBufferViewOrArrayBuffer,
) -> Rc<D::Promise>;
fn Sign(
&self,
realm: &mut CurrentRealm<'_>,
algorithm: ObjectOrString,
key: &D::CryptoKey,
data: ArrayBufferViewOrArrayBuffer,
) -> Rc<D::Promise>;
fn Verify(
&self,
realm: &mut CurrentRealm<'_>,
algorithm: ObjectOrString,
key: &D::CryptoKey,
signature: ArrayBufferViewOrArrayBuffer,
data: ArrayBufferViewOrArrayBuffer,
) -> Rc<D::Promise>;
fn Digest(
&self,
realm: &mut CurrentRealm<'_>,
algorithm: ObjectOrString,
data: ArrayBufferViewOrArrayBuffer,
) -> Rc<D::Promise>;
fn GenerateKey(
&self,
realm: &mut CurrentRealm<'_>,
algorithm: ObjectOrString,
extractable: bool,
keyUsages: Vec<KeyUsage>,
) -> Rc<D::Promise>;
fn DeriveKey(
&self,
realm: &mut CurrentRealm<'_>,
algorithm: ObjectOrString,
baseKey: &D::CryptoKey,
derivedKeyType: ObjectOrString,
extractable: bool,
keyUsages: Vec<KeyUsage>,
) -> Rc<D::Promise>;
fn DeriveBits(
&self,
realm: &mut CurrentRealm<'_>,
algorithm: ObjectOrString,
baseKey: &D::CryptoKey,
length: Option<u32>,
) -> Rc<D::Promise>;
fn ImportKey(
&self,
realm: &mut CurrentRealm<'_>,
format: KeyFormat,
keyData: ArrayBufferViewOrArrayBufferOrJsonWebKey,
algorithm: ObjectOrString,
extractable: bool,
keyUsages: Vec<KeyUsage>,
) -> Rc<D::Promise>;
fn ExportKey(
&self,
realm: &mut CurrentRealm<'_>,
format: KeyFormat,
key: &D::CryptoKey,
) -> Rc<D::Promise>;
fn WrapKey(
&self,
realm: &mut CurrentRealm<'_>,
format: KeyFormat,
key: &D::CryptoKey,
wrappingKey: &D::CryptoKey,
wrapAlgorithm: ObjectOrString,
) -> Rc<D::Promise>;
fn UnwrapKey(
&self,
realm: &mut CurrentRealm<'_>,
format: KeyFormat,
wrappedKey: ArrayBufferViewOrArrayBuffer,
unwrappingKey: &D::CryptoKey,
unwrapAlgorithm: ObjectOrString,
unwrappedKeyAlgorithm: ObjectOrString,
extractable: bool,
keyUsages: Vec<KeyUsage>,
) -> Rc<D::Promise>;
fn EncapsulateKey(
&self,
realm: &mut CurrentRealm<'_>,
encapsulationAlgorithm: ObjectOrString,
encapsulationKey: &D::CryptoKey,
sharedKeyAlgorithm: ObjectOrString,
extractable: bool,
keyUsages: Vec<KeyUsage>,
) -> Rc<D::Promise>;
fn EncapsulateBits(
&self,
realm: &mut CurrentRealm<'_>,
encapsulationAlgorithm: ObjectOrString,
encapsulationKey: &D::CryptoKey,
) -> Rc<D::Promise>;
fn DecapsulateKey(
&self,
realm: &mut CurrentRealm<'_>,
decapsulationAlgorithm: ObjectOrString,
decapsulationKey: &D::CryptoKey,
ciphertext: ArrayBufferViewOrArrayBuffer,
sharedKeyAlgorithm: ObjectOrString,
extractable: bool,
keyUsages: Vec<KeyUsage>,
) -> Rc<D::Promise>;
fn DecapsulateBits(
&self,
realm: &mut CurrentRealm<'_>,
decapsulationAlgorithm: ObjectOrString,
decapsulationKey: &D::CryptoKey,
ciphertext: ArrayBufferViewOrArrayBuffer,
) -> Rc<D::Promise>;
fn GetPublicKey(
&self,
realm: &mut CurrentRealm<'_>,
key: &D::CryptoKey,
keyUsages: Vec<KeyUsage>,
) -> Rc<D::Promise>;
fn Supports(
cx: &mut JSContext,
global: &D::GlobalScope,
operation: DOMString,
algorithm: ObjectOrString,
length: Option<u32>,
) -> bool;
fn Supports_(
cx: &mut JSContext,
global: &D::GlobalScope,
operation: DOMString,
algorithm: ObjectOrString,
additionalAlgorithm: ObjectOrString,
) -> bool;
}Required Methods§
fn Encrypt( &self, realm: &mut CurrentRealm<'_>, algorithm: ObjectOrString, key: &D::CryptoKey, data: ArrayBufferViewOrArrayBuffer, ) -> Rc<D::Promise>
fn Decrypt( &self, realm: &mut CurrentRealm<'_>, algorithm: ObjectOrString, key: &D::CryptoKey, data: ArrayBufferViewOrArrayBuffer, ) -> Rc<D::Promise>
fn Sign( &self, realm: &mut CurrentRealm<'_>, algorithm: ObjectOrString, key: &D::CryptoKey, data: ArrayBufferViewOrArrayBuffer, ) -> Rc<D::Promise>
fn Verify( &self, realm: &mut CurrentRealm<'_>, algorithm: ObjectOrString, key: &D::CryptoKey, signature: ArrayBufferViewOrArrayBuffer, data: ArrayBufferViewOrArrayBuffer, ) -> Rc<D::Promise>
fn Digest( &self, realm: &mut CurrentRealm<'_>, algorithm: ObjectOrString, data: ArrayBufferViewOrArrayBuffer, ) -> Rc<D::Promise>
fn GenerateKey( &self, realm: &mut CurrentRealm<'_>, algorithm: ObjectOrString, extractable: bool, keyUsages: Vec<KeyUsage>, ) -> Rc<D::Promise>
fn DeriveKey( &self, realm: &mut CurrentRealm<'_>, algorithm: ObjectOrString, baseKey: &D::CryptoKey, derivedKeyType: ObjectOrString, extractable: bool, keyUsages: Vec<KeyUsage>, ) -> Rc<D::Promise>
fn DeriveBits( &self, realm: &mut CurrentRealm<'_>, algorithm: ObjectOrString, baseKey: &D::CryptoKey, length: Option<u32>, ) -> Rc<D::Promise>
fn ImportKey( &self, realm: &mut CurrentRealm<'_>, format: KeyFormat, keyData: ArrayBufferViewOrArrayBufferOrJsonWebKey, algorithm: ObjectOrString, extractable: bool, keyUsages: Vec<KeyUsage>, ) -> Rc<D::Promise>
fn ExportKey( &self, realm: &mut CurrentRealm<'_>, format: KeyFormat, key: &D::CryptoKey, ) -> Rc<D::Promise>
fn WrapKey( &self, realm: &mut CurrentRealm<'_>, format: KeyFormat, key: &D::CryptoKey, wrappingKey: &D::CryptoKey, wrapAlgorithm: ObjectOrString, ) -> Rc<D::Promise>
fn UnwrapKey( &self, realm: &mut CurrentRealm<'_>, format: KeyFormat, wrappedKey: ArrayBufferViewOrArrayBuffer, unwrappingKey: &D::CryptoKey, unwrapAlgorithm: ObjectOrString, unwrappedKeyAlgorithm: ObjectOrString, extractable: bool, keyUsages: Vec<KeyUsage>, ) -> Rc<D::Promise>
fn EncapsulateKey( &self, realm: &mut CurrentRealm<'_>, encapsulationAlgorithm: ObjectOrString, encapsulationKey: &D::CryptoKey, sharedKeyAlgorithm: ObjectOrString, extractable: bool, keyUsages: Vec<KeyUsage>, ) -> Rc<D::Promise>
fn EncapsulateBits( &self, realm: &mut CurrentRealm<'_>, encapsulationAlgorithm: ObjectOrString, encapsulationKey: &D::CryptoKey, ) -> Rc<D::Promise>
fn DecapsulateKey( &self, realm: &mut CurrentRealm<'_>, decapsulationAlgorithm: ObjectOrString, decapsulationKey: &D::CryptoKey, ciphertext: ArrayBufferViewOrArrayBuffer, sharedKeyAlgorithm: ObjectOrString, extractable: bool, keyUsages: Vec<KeyUsage>, ) -> Rc<D::Promise>
fn DecapsulateBits( &self, realm: &mut CurrentRealm<'_>, decapsulationAlgorithm: ObjectOrString, decapsulationKey: &D::CryptoKey, ciphertext: ArrayBufferViewOrArrayBuffer, ) -> Rc<D::Promise>
fn GetPublicKey( &self, realm: &mut CurrentRealm<'_>, key: &D::CryptoKey, keyUsages: Vec<KeyUsage>, ) -> Rc<D::Promise>
fn Supports( cx: &mut JSContext, global: &D::GlobalScope, operation: DOMString, algorithm: ObjectOrString, length: Option<u32>, ) -> bool
fn Supports_( cx: &mut JSContext, global: &D::GlobalScope, operation: DOMString, algorithm: ObjectOrString, additionalAlgorithm: ObjectOrString, ) -> bool
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.