pub struct PossessionChallenge {
pub issuer_pubkey: [u8; 32],
pub subject_pubkey: [u8; 32],
pub nonce: [u8; 32],
}Expand description
A proof-of-possession challenge (§9.2). A certifier issues it for a subject
pubkey; the holder of that subject’s private key must sign
signing_bytes to prove possession
before the certifier will vouch for the pubkey. Binding both pubkeys + a
fresh nonce stops a proof minted for one (issuer, subject) pair — or one
session — from being replayed into another.
Fields§
§issuer_pubkey: [u8; 32]The agent that issued this challenge and will sign the resulting cert.
subject_pubkey: [u8; 32]The externally-held pubkey whose possession must be proven.
nonce: [u8; 32]Fresh random nonce — makes each challenge single-use.
Implementations§
Source§impl PossessionChallenge
impl PossessionChallenge
Sourcepub fn signing_bytes(&self) -> Vec<u8> ⓘ
pub fn signing_bytes(&self) -> Vec<u8> ⓘ
The canonical, domain-separated bytes the subject signs to answer the challenge. Returned for any holder (in-memory key, phone keystore, HSM) to sign with whatever mechanism it has; the result is the PoP proof.
Trait Implementations§
Source§impl Clone for PossessionChallenge
impl Clone for PossessionChallenge
Source§fn clone(&self) -> PossessionChallenge
fn clone(&self) -> PossessionChallenge
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more