Skip to main content

nethsm/
lib.rs

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