pub struct PairingResponse {
pub short_code: String,
pub device_x25519_pubkey: String,
pub device_signing_pubkey: String,
pub device_did: String,
pub signature: String,
pub device_name: Option<String>,
}Expand description
A response to a pairing request from the responding device.
Fields§
§short_code: StringThe short code from the pairing token.
device_x25519_pubkey: StringResponder’s ephemeral X25519 public key (base64url encoded).
device_signing_pubkey: StringResponder’s Ed25519 signing public key (base64url encoded).
device_did: StringResponder’s DID (did:key:z6Mk…).
signature: StringEd25519 signature over: short_code || initiator_x25519 || device_x25519
device_name: Option<String>Optional friendly device name.
Implementations§
Source§impl PairingResponse
impl PairingResponse
Sourcepub fn create(
now: DateTime<Utc>,
token: &PairingToken,
device_seed: &SecureSeed,
device_pubkey: &[u8; 32],
device_did: String,
device_name: Option<String>,
) -> Result<(Self, Zeroizing<[u8; 32]>), PairingError>
pub fn create( now: DateTime<Utc>, token: &PairingToken, device_seed: &SecureSeed, device_pubkey: &[u8; 32], device_did: String, device_name: Option<String>, ) -> Result<(Self, Zeroizing<[u8; 32]>), PairingError>
Create a new pairing response (responder side).
Args:
now- Current time for expiry checkingtoken- The pairing token from the initiating devicedevice_seed- The responding device’s Ed25519 seeddevice_pubkey- The responding device’s Ed25519 public keydevice_did- The responding device’s DID stringdevice_name- Optional friendly name for the device
Sourcepub fn verify(
&self,
now: DateTime<Utc>,
token: &PairingToken,
) -> Result<(), PairingError>
pub fn verify( &self, now: DateTime<Utc>, token: &PairingToken, ) -> Result<(), PairingError>
Verify the response’s Ed25519 signature.
Args:
now- Current time for expiry checkingtoken- The pairing token to verify against
Sourcepub fn device_x25519_pubkey_bytes(&self) -> Result<[u8; 32], PairingError>
pub fn device_x25519_pubkey_bytes(&self) -> Result<[u8; 32], PairingError>
Get the device X25519 public key as bytes.
Sourcepub fn device_signing_pubkey_bytes(&self) -> Result<Vec<u8>, PairingError>
pub fn device_signing_pubkey_bytes(&self) -> Result<Vec<u8>, PairingError>
Get the device Ed25519 signing public key as bytes.
Trait Implementations§
Source§impl Clone for PairingResponse
impl Clone for PairingResponse
Source§fn clone(&self) -> PairingResponse
fn clone(&self) -> PairingResponse
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PairingResponse
impl Debug for PairingResponse
Source§impl<'de> Deserialize<'de> for PairingResponse
impl<'de> Deserialize<'de> for PairingResponse
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
Auto Trait Implementations§
impl Freeze for PairingResponse
impl RefUnwindSafe for PairingResponse
impl Send for PairingResponse
impl Sync for PairingResponse
impl Unpin for PairingResponse
impl UnsafeUnpin for PairingResponse
impl UnwindSafe for PairingResponse
Blanket Implementations§
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