enum NormalizedAlgorithm {
Show 22 variants
Algorithm(SubtleAlgorithm),
RsaHashedKeyGenParams(SubtleRsaHashedKeyGenParams),
RsaHashedImportParams(SubtleRsaHashedImportParams),
RsaPssParams(SubtleRsaPssParams),
RsaOaepParams(SubtleRsaOaepParams),
EcdsaParams(SubtleEcdsaParams),
EcKeyGenParams(SubtleEcKeyGenParams),
EcKeyImportParams(SubtleEcKeyImportParams),
EcdhKeyDeriveParams(SubtleEcdhKeyDeriveParams),
AesCtrParams(SubtleAesCtrParams),
AesKeyGenParams(SubtleAesKeyGenParams),
AesDerivedKeyParams(SubtleAesDerivedKeyParams),
AesCbcParams(SubtleAesCbcParams),
AesGcmParams(SubtleAesGcmParams),
HmacImportParams(SubtleHmacImportParams),
HmacKeyGenParams(SubtleHmacKeyGenParams),
HkdfParams(SubtleHkdfParams),
Pbkdf2Params(SubtlePbkdf2Params),
ContextParams(SubtleContextParams),
AeadParams(SubtleAeadParams),
CShakeParams(SubtleCShakeParams),
Argon2Params(SubtleArgon2Params),
}Expand description
The successful output of normalize_algorithm, in form of an union type of (our “subtle”
binding of) IDL dictionary types.
https://w3c.github.io/webcrypto/#algorithm-normalization-normalize-an-algorithm
Variants§
Algorithm(SubtleAlgorithm)
RsaHashedKeyGenParams(SubtleRsaHashedKeyGenParams)
RsaHashedImportParams(SubtleRsaHashedImportParams)
RsaPssParams(SubtleRsaPssParams)
RsaOaepParams(SubtleRsaOaepParams)
EcdsaParams(SubtleEcdsaParams)
EcKeyGenParams(SubtleEcKeyGenParams)
EcKeyImportParams(SubtleEcKeyImportParams)
EcdhKeyDeriveParams(SubtleEcdhKeyDeriveParams)
AesCtrParams(SubtleAesCtrParams)
AesKeyGenParams(SubtleAesKeyGenParams)
AesDerivedKeyParams(SubtleAesDerivedKeyParams)
AesCbcParams(SubtleAesCbcParams)
AesGcmParams(SubtleAesGcmParams)
HmacImportParams(SubtleHmacImportParams)
HmacKeyGenParams(SubtleHmacKeyGenParams)
HkdfParams(SubtleHkdfParams)
Pbkdf2Params(SubtlePbkdf2Params)
ContextParams(SubtleContextParams)
AeadParams(SubtleAeadParams)
CShakeParams(SubtleCShakeParams)
Argon2Params(SubtleArgon2Params)
Implementations§
Source§impl NormalizedAlgorithm
impl NormalizedAlgorithm
Sourcefn from_object_value(
cx: JSContext,
value: HandleValue<'_>,
desired_type: ParameterType,
can_gc: CanGc,
) -> Result<NormalizedAlgorithm, Error>
fn from_object_value( cx: JSContext, value: HandleValue<'_>, desired_type: ParameterType, can_gc: CanGc, ) -> Result<NormalizedAlgorithm, Error>
Step 6, 8-10 of the “normalize an algorithm” algorithm https://w3c.github.io/webcrypto/#algorithm-normalization-normalize-an-algorithm. This function converts the ECMAScript object represented to a normalized algorithm of the IDL dictionary type desiredType.
Step 6 and Step 8 is done by dictionary_from_jsval.
Step 9 and Step 10 is done by the From and TryFrom trait implementations of the inner
types (the structs with prefix “Subtle” in their name) of NormalizedAlgorithm.
fn encrypt(&self, key: &CryptoKey, plaintext: &[u8]) -> Result<Vec<u8>, Error>
fn decrypt(&self, key: &CryptoKey, ciphertext: &[u8]) -> Result<Vec<u8>, Error>
fn sign(&self, key: &CryptoKey, message: &[u8]) -> Result<Vec<u8>, Error>
fn verify( &self, key: &CryptoKey, message: &[u8], signature: &[u8], ) -> Result<bool, Error>
fn digest(&self, message: &[u8]) -> Result<Vec<u8>, Error>
fn generate_key( &self, global: &GlobalScope, extractable: bool, usages: Vec<KeyUsage>, can_gc: CanGc, ) -> Result<CryptoKeyOrCryptoKeyPair, Error>
fn derive_bits( &self, key: &CryptoKey, length: Option<u32>, ) -> Result<Vec<u8>, Error>
fn import_key( &self, global: &GlobalScope, format: KeyFormat, key_data: &[u8], extractable: bool, usages: Vec<KeyUsage>, can_gc: CanGc, ) -> Result<DomRoot<CryptoKey>, Error>
fn wrap_key(&self, key: &CryptoKey, plaintext: &[u8]) -> Result<Vec<u8>, Error>
fn unwrap_key( &self, key: &CryptoKey, ciphertext: &[u8], ) -> Result<Vec<u8>, Error>
fn get_key_length(&self) -> Result<Option<u32>, Error>
fn encapsulate(&self, key: &CryptoKey) -> Result<SubtleEncapsulatedBits, Error>
fn decapsulate( &self, key: &CryptoKey, ciphertext: &[u8], ) -> Result<Vec<u8>, Error>
Trait Implementations§
Source§impl Clone for NormalizedAlgorithm
impl Clone for NormalizedAlgorithm
Source§fn clone(&self) -> NormalizedAlgorithm
fn clone(&self) -> NormalizedAlgorithm
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl From<NormalizedAlgorithm> for KeyAlgorithmAndDerivatives
impl From<NormalizedAlgorithm> for KeyAlgorithmAndDerivatives
Source§fn from(value: NormalizedAlgorithm) -> Self
fn from(value: NormalizedAlgorithm) -> Self
Converts to this type from the input type.
Source§impl From<NormalizedAlgorithm> for SubtleKeyAlgorithm
impl From<NormalizedAlgorithm> for SubtleKeyAlgorithm
Source§fn from(value: NormalizedAlgorithm) -> Self
fn from(value: NormalizedAlgorithm) -> Self
Converts to this type from the input type.
Source§impl MallocSizeOf for NormalizedAlgorithm
impl MallocSizeOf for NormalizedAlgorithm
Source§fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
Measure the heap usage of all descendant heap-allocated structures, but
not the space taken up by the value itself.
Auto Trait Implementations§
impl Freeze for NormalizedAlgorithm
impl !RefUnwindSafe for NormalizedAlgorithm
impl Send for NormalizedAlgorithm
impl !Sync for NormalizedAlgorithm
impl Unpin for NormalizedAlgorithm
impl !UnwindSafe for NormalizedAlgorithm
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Filterable for T
impl<T> Filterable for T
Source§fn filterable(
self,
filter_name: &'static str,
) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>
fn filterable( self, filter_name: &'static str, ) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>
Creates a filterable data provider with the given name for debugging. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> MaybeBoxed<Box<T>> for T
impl<T> MaybeBoxed<Box<T>> for T
Source§fn maybe_boxed(self) -> Box<T>
fn maybe_boxed(self) -> Box<T>
Convert
Source§impl<T> MaybeBoxed<T> for T
impl<T> MaybeBoxed<T> for T
Source§fn maybe_boxed(self) -> T
fn maybe_boxed(self) -> T
Convert