P521

Trait P521 

Source
pub trait P521: CryptoClient {
    // Provided methods
    fn generate_p521_private_key(
        &mut self,
        persistence: Location,
    ) -> ClientResult<'_, GenerateKey, Self> { ... }
    fn derive_p521_public_key(
        &mut self,
        private_key: KeyId,
        persistence: Location,
    ) -> ClientResult<'_, DeriveKey, Self> { ... }
    fn deserialize_p521_key<'c>(
        &'c mut self,
        serialized_key: &[u8],
        format: KeySerialization,
        attributes: StorageAttributes,
    ) -> ClientResult<'c, DeserializeKey, Self> { ... }
    fn serialize_p521_key(
        &mut self,
        key: KeyId,
        format: KeySerialization,
    ) -> ClientResult<'_, SerializeKey, Self> { ... }
    fn sign_p521<'c>(
        &'c mut self,
        key: KeyId,
        message: &[u8],
        format: SignatureSerialization,
    ) -> ClientResult<'c, Sign, Self> { ... }
    fn verify_p521<'c>(
        &'c mut self,
        key: KeyId,
        message: &[u8],
        signature: &[u8],
    ) -> ClientResult<'c, Verify, Self> { ... }
    fn agree_p521(
        &mut self,
        private_key: KeyId,
        public_key: KeyId,
        persistence: Location,
    ) -> ClientResult<'_, Agree, Self> { ... }
}
Available on crate features crypto-client and p521 only.

Provided Methods§

Source

fn generate_p521_private_key( &mut self, persistence: Location, ) -> ClientResult<'_, GenerateKey, Self>

Source

fn derive_p521_public_key( &mut self, private_key: KeyId, persistence: Location, ) -> ClientResult<'_, DeriveKey, Self>

Source

fn deserialize_p521_key<'c>( &'c mut self, serialized_key: &[u8], format: KeySerialization, attributes: StorageAttributes, ) -> ClientResult<'c, DeserializeKey, Self>

Source

fn serialize_p521_key( &mut self, key: KeyId, format: KeySerialization, ) -> ClientResult<'_, SerializeKey, Self>

Source

fn sign_p521<'c>( &'c mut self, key: KeyId, message: &[u8], format: SignatureSerialization, ) -> ClientResult<'c, Sign, Self>

Source

fn verify_p521<'c>( &'c mut self, key: KeyId, message: &[u8], signature: &[u8], ) -> ClientResult<'c, Verify, Self>

Source

fn agree_p521( &mut self, private_key: KeyId, public_key: KeyId, persistence: Location, ) -> ClientResult<'_, Agree, Self>

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.

Implementors§