pub struct PromoteResponse {
pub encrypted_ca_key: EncryptedKey,
pub auth_data: Value,
pub roster_json: String,
pub ca_cert_pem: String,
pub ephemeral_public: Option<[u8; 32]>,
}Expand description
POST /promote response - encrypted CA key, auth credential, and roster.
When DH key agreement is used (ephemeral_public is present), the
CA key material is encrypted with the DH-derived shared key. The
standby combines its own ephemeral secret with ephemeral_public
to derive the same key and decrypt. The passphrase is never sent
over the wire.
Fields§
§encrypted_ca_key: EncryptedKey§auth_data: ValueSerialized auth credential (StoredAuth JSON).
roster_json: String§ca_cert_pem: String§ephemeral_public: Option<[u8; 32]>Server’s ephemeral X25519 public key for DH key agreement.
Present only when the client sent an ephemeral_public in the request.
Trait Implementations§
Source§impl ComposeSchema for PromoteResponse
impl ComposeSchema for PromoteResponse
Source§impl Debug for PromoteResponse
impl Debug for PromoteResponse
Source§impl<'de> Deserialize<'de> for PromoteResponse
impl<'de> Deserialize<'de> for PromoteResponse
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for PromoteResponse
impl Serialize for PromoteResponse
Auto Trait Implementations§
impl Freeze for PromoteResponse
impl RefUnwindSafe for PromoteResponse
impl Send for PromoteResponse
impl Sync for PromoteResponse
impl Unpin for PromoteResponse
impl UnsafeUnpin for PromoteResponse
impl UnwindSafe for PromoteResponse
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more