sshkey_attest/proto.rs
1//! Serialisable formats of attested ssh keys
2
3use serde::{Deserialize, Serialize};
4use webauthn_rs_core::proto::{AttestationFormat, ParsedAttestation, RegisteredExtensions};
5
6pub use sshkeys::PublicKey;
7
8/// An attested public key. This contains the ssh public key as well as the
9/// attestation metadata.
10#[derive(Clone, Debug, Serialize, Deserialize)]
11pub struct AttestedPublicKey {
12 /// The ssh public key
13 pub pubkey: PublicKey,
14 /// The set of extensions that were verified at registration, that can
15 /// be used in future authentication attempts
16 pub extensions: RegisteredExtensions,
17 /// The parser attestation data
18 pub attestation: ParsedAttestation,
19 /// The format of the attestation presented by the device.
20 pub attestation_format: AttestationFormat,
21}