core_crypto_ffi/e2ei/
new_acme_authz.rs

1#[cfg(target_family = "wasm")]
2use wasm_bindgen::prelude::*;
3
4use crate::AcmeChallenge;
5
6/// Result of an authorization creation.
7///
8/// - See https://www.rfc-editor.org/rfc/rfc8555.html#section-7.5
9/// - See [core_crypto::e2e_identity::types::E2eiNewAcmeAuthz]
10#[derive(Debug)]
11#[cfg_attr(
12    target_family = "wasm",
13    wasm_bindgen(getter_with_clone),
14    derive(serde::Serialize, serde::Deserialize)
15)]
16#[cfg_attr(not(target_family = "wasm"), derive(uniffi::Record))]
17pub struct NewAcmeAuthz {
18    /// DNS entry associated with those challenge
19    #[cfg_attr(target_family = "wasm", wasm_bindgen(readonly))]
20    pub identifier: String,
21    /// ACME challenge + ACME key thumbprint
22    #[cfg_attr(target_family = "wasm", wasm_bindgen(readonly))]
23    pub keyauth: Option<String>,
24    /// Associated ACME Challenge
25    #[cfg_attr(target_family = "wasm", wasm_bindgen(readonly))]
26    pub challenge: AcmeChallenge,
27}
28
29impl From<core_crypto::prelude::E2eiNewAcmeAuthz> for NewAcmeAuthz {
30    fn from(new_authz: core_crypto::prelude::E2eiNewAcmeAuthz) -> Self {
31        Self {
32            identifier: new_authz.identifier,
33            keyauth: new_authz.keyauth,
34            challenge: new_authz.challenge.into(),
35        }
36    }
37}
38
39impl From<NewAcmeAuthz> for core_crypto::prelude::E2eiNewAcmeAuthz {
40    fn from(new_authz: NewAcmeAuthz) -> Self {
41        Self {
42            identifier: new_authz.identifier,
43            keyauth: new_authz.keyauth,
44            challenge: new_authz.challenge.into(),
45        }
46    }
47}