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_RANDOMif 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_SMALLfor 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
BadAccountKeyif the key doesn’t match the one the account was encrypted withInvalidBase64if decoding the suppliedpickledstring 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
InvalidBase64on invalid base64 coding for supplied argumentsBadMessageVersionon unsupported protocol versionBadMessageFormaton failing to decode the messageBadMessageMacon invalid message MAC
Panics
OutputBufferTooSmallon 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.