Struct olm_rs::pk::OlmPkDecryption[][src]

pub struct OlmPkDecryption { /* fields omitted */ }
Expand description

The decryption part of a PK encrypted channel.

Implementations

Create a new PK decryption object initializing the private key to a random value.

Panics

  • NOT_ENOUGH_RANDOM if there’s not enough random data provided when creating the OlmPkDecryption object.
  • on malformed UTF-8 coding of the public key that is generated by libolm.

Store a PkDecryption object.

Stores a OlmPkDecryption object as a base64 string. Encrypts the object using the supplied passphrase. Returns a byte object containing the base64 encoded string of the pickled session.

Arguments

  • mode - The pickle mode that should be used to store the decryption object.

Panics

  • OUTPUT_BUFFER_TOO_SMALL for OlmSession’s pickled buffer
  • on malformed UTF-8 coding of the pickling provided by libolm

Restore a previously stored OlmPkDecryption object.

Creates a OlmPkDecryption object from a pickled base64 string. Decrypts the pickled object using the supplied passphrase.

Arguments

  • mode - The pickle mode that should be used to store the decryption object.

C-API equivalent

olm_unpickle_pk_decryption

Errors

  • BadAccountKey if the key doesn’t match the one the account was encrypted with
  • InvalidBase64 if decoding the supplied pickled string slice fails

Panics

  • on malformed UTF-8 coding of the public key that is generated by libolm.

Decrypts a PK message using this decryption object.

Decoding is lossy, meaing if the decrypted plaintext contains invalid UTF-8 symbols, they will be returned as U+FFFD (�).

Arguments

  • message - The encrypted PkMessage that should be decrypted.

C-API equivalent

olm_pk_decrypt

Errors

  • InvalidBase64 on invalid base64 coding for supplied arguments
  • BadMessageVersion on unsupported protocol version
  • BadMessageFormat on failing to decode the message
  • BadMessageMac on invalid message MAC

Panics

  • OutputBufferTooSmall on plaintext output buffer

Get the public key of the decryption object.

This can be used to initialize a encryption object to encrypt messages for this decryption object.

Trait Implementations

Returns the “default value” for a type. Read more

Executes the destructor for this type. Read more

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.