Skip to main content

Jwe

Struct Jwe 

Source
pub struct Jwe {
    pub protected: Option<JwmHeader>,
    pub unprotected: Option<JwmHeader>,
    pub recipient: Option<Recipient>,
    pub recipients: Option<Vec<Recipient>>,
    pub tag: Option<String>,
    /* private fields */
}
Expand description

JWE representation of Message with public header. Can be serialized to JSON or Compact representations and from same.

Fields§

§protected: Option<JwmHeader>

integrity protected header elements

§unprotected: Option<JwmHeader>

header elements that are not integrity protected

§recipient: Option<Recipient>

Top-level recipient data for flat JWE JSON messages. Will be ignored if recipients is not None

§recipients: Option<Vec<Recipient>>

Pre-recipient data for flat JWE JSON messages. If not None, will be preferred over recipient.

§tag: Option<String>

base64 encoded JWE authentication tag

Implementations§

Source§

impl Jwe

Source

pub fn new( unprotected: Option<JwmHeader>, recipients: Option<Vec<Recipient>>, ciphertext: impl AsRef<[u8]>, protected: Option<JwmHeader>, tag: Option<impl AsRef<[u8]>>, iv_input: Option<String>, ) -> Self

Constructor, which should be used after message is encrypted.

Source

pub fn new_flat( unprotected: Option<JwmHeader>, recipient: Recipient, ciphertext: impl AsRef<[u8]>, protected: Option<JwmHeader>, tag: Option<impl AsRef<[u8]>>, iv_input: Option<String>, ) -> Self

Constructor for creating a flat JWE JSON

Source

pub fn generate_iv() -> String

Generate new random IV as String

Source

pub fn get_iv(&self) -> impl AsRef<[u8]>

Gets iv as byte array.

Source

pub fn get_payload(&self) -> Vec<u8>

Getter for ciphered payload of JWE.

Source

pub fn get_alg(&self) -> Option<String>

Gets alg header value from either protected or from unprotected.

Will default to None if not set in any of them.

Source

pub fn get_cty(&self) -> Option<String>

Gets cty header value from either protected or from unprotected.

Will default to None if not set in any of them.

Source

pub fn get_enc(&self) -> Option<String>

Gets enc header value from either protected or from unprotected.

Will default to None if not set in any of them.

Source

pub fn get_epk(&self) -> Option<Jwk>

Gets epk header value from either protected or from unprotected.

Will default to None if not set in any of them.

Source

pub fn get_jku(&self) -> Option<String>

Gets jku header value from either protected or from unprotected.

Will default to None if not set in any of them.

Source

pub fn get_jwk(&self) -> Option<Jwk>

Gets jwk header value from either protected or from unprotected.

Will default to None if not set in any of them.

Source

pub fn get_kid(&self) -> Option<String>

Gets kid header value from either protected or from unprotected.

Will default to None if not set in any of them.

Source

pub fn get_skid(&self) -> Option<String>

Gets skid header value from either protected or from unprotected.

Will default to None if not set in any of them.

Trait Implementations§

Source§

impl Clone for Jwe

Source§

fn clone(&self) -> Jwe

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Default for Jwe

Source§

fn default() -> Jwe

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

impl<'de> Deserialize<'de> for Jwe

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for Jwe

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

§

impl Freeze for Jwe

§

impl RefUnwindSafe for Jwe

§

impl Send for Jwe

§

impl Sync for Jwe

§

impl Unpin for Jwe

§

impl UnsafeUnpin for Jwe

§

impl UnwindSafe for Jwe

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,