nethsm/
lib.rs

1#![doc = include_str!("../README.md")]
2
3mod backup;
4mod base;
5pub mod connection;
6mod error;
7mod key;
8mod nethsm_sdk;
9pub mod openpgp;
10#[cfg(feature = "test-helpers")]
11pub mod test;
12mod tls;
13mod user;
14
15pub use backup::validate_backup;
16pub use base::NetHsm;
17// Publicly re-export chrono facilities used in the API of NetHsm.
18pub use chrono::{DateTime, Utc};
19pub use connection::{Connection, Url};
20pub use error::Error;
21pub use key::{KeyId, SigningKeySetup, tls_key_type_matches_length};
22pub use nethsm_sdk::{BootMode, LogLevel, TlsKeyType, UserRole};
23// Publicly re-export nethsm_sdk_rs types that are used in return values of the NetHsm API.
24pub use nethsm_sdk_rs::models::{
25    DistinguishedName,
26    InfoData,
27    LoggingConfig,
28    NetworkConfig,
29    PublicKey,
30    SystemInfo,
31    SystemState,
32    SystemUpdateData,
33    UserData,
34};
35pub use openpgp::{extract_certificate as extract_openpgp_certificate, tsk_to_private_key_import};
36// Publicly re-export signstar_crypto types that are used in the NetHsm API.
37pub use signstar_crypto::{
38    key::{
39        CryptographicKeyContext,
40        DecryptMode,
41        EncryptMode,
42        KeyFormat,
43        KeyMechanism,
44        KeyType,
45        PrivateKeyImport,
46        SignatureType,
47        key_type_and_mechanisms_match_signature_type,
48        key_type_matches_length,
49        key_type_matches_mechanisms,
50    },
51    openpgp::{OpenPgpKeyUsageFlags, OpenPgpUserId, OpenPgpUserIdList, OpenPgpVersion},
52};
53pub use tls::{
54    ConnectionSecurity,
55    DEFAULT_MAX_IDLE_CONNECTIONS,
56    DEFAULT_TIMEOUT_SECONDS,
57    HostCertificateFingerprints,
58};
59pub use user::{Credentials, Error as UserError, FullCredentials, NamespaceId, Passphrase, UserId};