ipmi_rs/connection/impls/rmcp/v2_0/crypto/
authentication.rs1#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
2pub enum AuthenticationAlgorithm {
3 RakpNone,
4 RakpHmacSha1,
5 RakpHmacMd5,
6 RakpHmacSha256,
7}
8
9impl From<AuthenticationAlgorithm> for u8 {
10 fn from(value: AuthenticationAlgorithm) -> Self {
11 match value {
12 AuthenticationAlgorithm::RakpNone => 0x00,
13 AuthenticationAlgorithm::RakpHmacSha1 => 0x01,
14 AuthenticationAlgorithm::RakpHmacMd5 => 0x02,
15 AuthenticationAlgorithm::RakpHmacSha256 => 0x03,
16 }
17 }
18}
19
20impl TryFrom<u8> for AuthenticationAlgorithm {
21 type Error = ();
22
23 fn try_from(value: u8) -> Result<Self, Self::Error> {
24 let value = match value {
25 0x00 => Self::RakpNone,
26 0x01 => Self::RakpHmacSha1,
27 0x02 => Self::RakpHmacMd5,
28 0x03 => Self::RakpHmacSha256,
29 _ => return Err(()),
30 };
31
32 Ok(value)
33 }
34}