pub struct Operation {
    pub key_name: String,
    pub alg: AsymmetricEncryption,
    pub plaintext: Zeroizing<Vec<u8>>,
    pub salt: Option<Zeroizing<Vec<u8>>>,
}
Expand description

Native object for asymmetric encryption operations.

Fields

key_name: String

Defines which key should be used for the encryption operation.

alg: AsymmetricEncryption

An asymmetric encryption algorithm that is compatible with the key type

plaintext: Zeroizing<Vec<u8>>

The short message to be encrypted.

salt: Option<Zeroizing<Vec<u8>>>

Salt to use during encryption, if supported by the algorithm.

Implementations

Validate the contents of the operation against the attributes of the key it targets

This method checks that:

  • the key policy allows encrypting messages
  • the key policy allows the encryption algorithm requested in the operation
  • the key type is compatible with the requested algorithm
  • if the algorithm is RsaPkcs1v15Crypt, it has no salt (it is not compatible with salt)
  • the message to encrypt is valid (not length 0)

Trait Implementations

Formats the value using the given formatter. Read more

Performs the conversion.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.