1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
#![deny(
warnings,
missing_docs,
trivial_casts,
trivial_numeric_casts,
unused_import_braces,
unused_qualifications
)]
#![forbid(unsafe_code)]
#![doc(
html_logo_url = "https://raw.githubusercontent.com/tendermint/yubihsm-rs/master/img/logo.png",
html_root_url = "https://docs.rs/yubihsm/0.21.0-alpha2"
)]
#[macro_use]
extern crate bitflags;
#[macro_use]
extern crate failure;
#[macro_use]
extern crate failure_derive;
#[cfg(feature = "hmac")]
extern crate hmac as hmac_crate;
#[cfg(feature = "usb")]
#[macro_use]
extern crate lazy_static;
#[macro_use]
extern crate log;
#[macro_use]
extern crate serde_derive;
#[macro_use]
mod macros;
#[macro_use]
pub mod error;
#[macro_use]
mod serialization;
pub mod algorithm;
pub mod asymmetric;
pub mod audit;
pub mod authentication;
pub mod capability;
pub mod client;
pub mod command;
pub mod connector;
pub mod device;
pub mod domain;
pub mod hmac;
#[cfg(feature = "mockhsm")]
pub mod mockhsm;
pub mod object;
pub mod opaque;
pub mod otp;
pub mod response;
pub mod session;
#[cfg(feature = "setup")]
pub mod setup;
#[cfg(feature = "signatory")]
pub mod signatory;
pub mod template;
mod uuid;
pub mod wrap;
#[cfg(feature = "http")]
pub use crate::connector::HttpConfig;
#[cfg(feature = "usb")]
pub use crate::connector::UsbConfig;
#[cfg(feature = "mockhsm")]
pub use crate::mockhsm::MockHsm;
pub use crate::{
algorithm::*,
audit::AuditOption,
authentication::{Credentials, AUTHENTICATION_KEY_SIZE},
capability::Capability,
client::{Client, ClientError},
connector::{ConnectionError, Connector},
device::{DeviceError, DeviceErrorKind},
domain::Domain,
error::*,
uuid::Uuid,
};