lair_keystore_api/lair_api/
get_wka_tls_cert_priv_key.rs

1use super::*;
2
3/// Request the private key associated with a tagged wka tls cert.
4#[derive(Debug, serde::Serialize, serde::Deserialize)]
5#[serde(rename_all = "camelCase")]
6pub struct LairApiReqGetWkaTlsCertPrivKey {
7    /// Msg id to relate request / response.
8    pub msg_id: Arc<str>,
9
10    /// User-defined tag to associate with the new seed.
11    pub tag: Arc<str>,
12}
13
14impl LairApiReqGetWkaTlsCertPrivKey {
15    /// Make a new_seed request.
16    pub fn new(tag: Arc<str>) -> Self {
17        Self {
18            msg_id: new_msg_id(),
19            tag,
20        }
21    }
22}
23
24impl std::convert::TryFrom<LairApiEnum> for LairApiReqGetWkaTlsCertPrivKey {
25    type Error = one_err::OneErr;
26
27    fn try_from(e: LairApiEnum) -> Result<Self, Self::Error> {
28        if let LairApiEnum::ReqGetWkaTlsCertPrivKey(s) = e {
29            Ok(s)
30        } else {
31            Err(format!("Invalid response type: {e:?}").into())
32        }
33    }
34}
35
36impl AsLairCodec for LairApiReqGetWkaTlsCertPrivKey {
37    fn into_api_enum(self) -> LairApiEnum {
38        LairApiEnum::ReqGetWkaTlsCertPrivKey(self)
39    }
40}
41
42/// Returns the private key associated with a tagged wka tls cert.
43#[derive(Debug, serde::Serialize, serde::Deserialize)]
44#[serde(rename_all = "camelCase")]
45#[non_exhaustive]
46pub struct LairApiResGetWkaTlsCertPrivKey {
47    /// Msg id to relate request / response.
48    pub msg_id: Arc<str>,
49
50    /// The certificate private key.
51    pub priv_key: SecretData,
52}
53
54impl std::convert::TryFrom<LairApiEnum> for LairApiResGetWkaTlsCertPrivKey {
55    type Error = one_err::OneErr;
56
57    fn try_from(e: LairApiEnum) -> Result<Self, Self::Error> {
58        if let LairApiEnum::ResGetWkaTlsCertPrivKey(s) = e {
59            Ok(s)
60        } else {
61            Err(format!("Invalid response type: {e:?}").into())
62        }
63    }
64}
65
66impl AsLairCodec for LairApiResGetWkaTlsCertPrivKey {
67    fn into_api_enum(self) -> LairApiEnum {
68        LairApiEnum::ResGetWkaTlsCertPrivKey(self)
69    }
70}
71
72impl AsLairRequest for LairApiReqGetWkaTlsCertPrivKey {
73    type Response = LairApiResGetWkaTlsCertPrivKey;
74}
75
76impl AsLairResponse for LairApiResGetWkaTlsCertPrivKey {
77    type Request = LairApiReqGetWkaTlsCertPrivKey;
78}