tauri_plugin_secure_element/
models.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Copy, Default, Deserialize, Serialize)]
5#[serde(rename_all = "camelCase")]
6pub enum AuthenticationMode {
7 None,
9 #[default]
11 PinOrBiometric,
12 BiometricOnly,
14}
15
16#[derive(Debug, Deserialize, Serialize)]
17#[serde(rename_all = "camelCase")]
18pub struct PingRequest {
19 pub value: Option<String>,
20}
21
22#[derive(Debug, Clone, Default, Deserialize, Serialize)]
23#[serde(rename_all = "camelCase")]
24pub struct PingResponse {
25 pub value: Option<String>,
26}
27
28#[derive(Debug, Deserialize, Serialize)]
30#[serde(rename_all = "camelCase")]
31pub struct GenerateSecureKeyRequest {
32 pub key_name: String,
34 #[serde(default)]
36 pub auth_mode: AuthenticationMode,
37}
38
39#[derive(Debug, Clone, Default, Deserialize, Serialize)]
41#[serde(rename_all = "camelCase")]
42pub struct GenerateSecureKeyResponse {
43 pub public_key: String,
45 pub key_name: String,
47}
48
49#[derive(Debug, Deserialize, Serialize)]
51#[serde(rename_all = "camelCase")]
52pub struct ListKeysRequest {
53 pub key_name: Option<String>,
55 pub public_key: Option<String>,
57}
58
59#[derive(Debug, Clone, Deserialize, Serialize)]
61#[serde(rename_all = "camelCase")]
62pub struct KeyInfo {
63 pub key_name: String,
65 pub public_key: String,
67 pub requires_authentication: Option<bool>,
70}
71
72#[derive(Debug, Clone, Default, Deserialize, Serialize)]
74#[serde(rename_all = "camelCase")]
75pub struct ListKeysResponse {
76 pub keys: Vec<KeyInfo>,
78}
79
80#[derive(Debug, Deserialize, Serialize)]
82#[serde(rename_all = "camelCase")]
83pub struct SignWithKeyRequest {
84 pub key_name: String,
86 pub data: Vec<u8>,
88 }
91
92#[derive(Debug, Clone, Default, Deserialize, Serialize)]
94#[serde(rename_all = "camelCase")]
95pub struct SignWithKeyResponse {
96 pub signature: Vec<u8>,
98}
99
100#[derive(Debug, Deserialize, Serialize)]
102#[serde(rename_all = "camelCase")]
103pub struct DeleteKeyRequest {
104 pub key_name: Option<String>,
106 pub public_key: Option<String>,
108 }
112
113#[derive(Debug, Clone, Default, Deserialize, Serialize)]
115#[serde(rename_all = "camelCase")]
116pub struct DeleteKeyResponse {
117 pub success: bool,
119}
120
121#[derive(Debug, Clone, Default, Deserialize, Serialize)]
123#[serde(rename_all = "camelCase")]
124pub struct CheckSecureElementSupportResponse {
125 pub secure_element_supported: bool,
127 pub tee_supported: bool,
129 pub can_enforce_biometric_only: bool,
131}