Skip to main content

json_web_key/
key_operation.rs

1use serde::{Deserialize, Serialize};
2
3/// A valid operation the key was created for.
4/// See: [RFC7517 4.3](https://datatracker.ietf.org/doc/html/rfc7517#section-4.3)
5#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
6#[serde(rename_all = "camelCase")]
7pub enum KeyOperation {
8    /// Decrypt content.
9    Decrypt,
10    /// Derive Key
11    DeriveKey,
12    /// Derive bits not to be used as a key.
13    DeriveBits,
14    /// Encrypt content.
15    Encrypt,
16    /// Compute digital signature or MAC.
17    Sign,
18    /// Decrypt key.
19    UnwrapKey,
20    /// Verify digital signature or MAC.
21    Verify,
22    /// Encrypt key.
23    WrapKey,
24    #[serde(untagged)]
25    Other(Box<str>),
26}