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}