1use serde::{Deserialize, Serialize};
5
6#[derive(Serialize)]
7#[serde(rename_all = "camelCase")]
8pub struct U2fRegisterRequest {
9 pub app_id: String,
10 pub register_requests: Vec<RegisterRequest>,
11 pub registered_keys: Vec<RegisteredKey>,
12}
13
14#[derive(Serialize)]
15pub struct RegisterRequest {
16 pub version: String,
17 pub challenge: String,
18}
19
20#[derive(Serialize)]
21#[serde(rename_all = "camelCase")]
22pub struct RegisteredKey {
23 pub version: String,
24 pub key_handle: Option<String>,
25 pub app_id: String,
26}
27
28#[derive(Deserialize)]
29#[serde(rename_all = "camelCase")]
30pub struct RegisterResponse {
31 pub registration_data: String,
32 pub version: String,
33 pub client_data: String,
34}
35
36#[derive(Serialize)]
37#[serde(rename_all = "camelCase")]
38pub struct U2fSignRequest {
39 pub app_id: String,
40 pub challenge: String,
41 pub registered_keys: Vec<RegisteredKey>,
42}
43
44#[derive(Clone, Deserialize)]
45#[serde(rename_all = "camelCase")]
46pub struct SignResponse {
47 pub key_handle: String,
48 pub signature_data: String,
49 pub client_data: String,
50}