1#![doc = include_str!("../README.md")]
2#![cfg_attr(docsrs, feature(doc_cfg))]
10#![allow(
11 clippy::missing_const_for_fn,
12 clippy::missing_errors_doc,
13 clippy::missing_panics_doc,
14 clippy::module_name_repetitions,
15 clippy::must_use_candidate,
16 clippy::needless_pass_by_value,
17 clippy::option_if_let_else,
18 clippy::redundant_pub_crate,
19 clippy::unnecessary_lazy_evaluations
20)]
21
22#[cfg(feature = "async")]
23#[cfg_attr(docsrs, doc(cfg(feature = "async")))]
24pub mod async_api;
25pub mod authorization;
27mod bridge;
28pub mod certificate;
30pub mod cms;
32pub mod code;
34pub mod code_signing;
36pub mod error;
38#[cfg(feature = "raw-ffi")]
39#[cfg_attr(docsrs, doc(cfg(feature = "raw-ffi")))]
40pub mod ffi;
41pub mod identity;
43pub mod key;
45pub mod key_agreement;
47pub mod key_derivation;
49pub mod keychain;
51pub mod policy;
53pub mod random;
55pub mod random_bytes;
57pub mod secure_transport;
59pub mod transform;
61pub mod trust;
63
64pub use authorization::{Authorization, AuthorizationOptions};
65pub use certificate::{Certificate, PublicKey};
66pub use cms::{
67 Cms, CmsCertificateChainMode, CmsDecoder, CmsDigestAlgorithm, CmsEncoder, CmsSignedAttributes,
68};
69pub use code::{
70 Code, CodeSigningFlags, Requirement, SigningInformation, SigningValue, StaticCode, Task,
71};
72pub use error::{OsStatus, Result, SecurityError, StatusError};
73pub use identity::Identity;
74pub use key::{
75 EncryptionAlgorithm, ExternalFormat, ExternalItemType, KeyType, PrivateKey, SignatureAlgorithm,
76};
77pub use key_agreement::{AgreementPrivateKey, AgreementPublicKey};
78pub use key_derivation::{DerivedKey, KeyDerivation};
79pub use keychain::{
80 AccessControl, AccessControlFlags, AccessControlProtection, Keychain, KeychainEntry,
81};
82pub use policy::{Policy, PolicyIdentifier, PolicyName, PolicyProperties, RevocationFlags};
83pub use random_bytes::SecureRandom;
84pub use secure_transport::{ProtocolVersion, SecureTransportContext, SecureTransportState};
85pub use transform::Transform;
86pub use trust::{Trust, TrustOptions, TrustResultType};
87
88pub mod prelude {
90 pub use crate::authorization::{Authorization, AuthorizationOptions};
91 pub use crate::certificate::{Certificate, PublicKey};
92 pub use crate::cms::{
93 Cms, CmsCertificateChainMode, CmsDecoder, CmsDigestAlgorithm, CmsEncoder,
94 CmsSignedAttributes,
95 };
96 pub use crate::code::{
97 Code, CodeSigningFlags, Requirement, SigningInformation, SigningValue, StaticCode, Task,
98 };
99 pub use crate::error::{OsStatus, Result, SecurityError, StatusError};
100 pub use crate::identity::Identity;
101 pub use crate::key::{
102 EncryptionAlgorithm, ExternalFormat, ExternalItemType, KeyType, PrivateKey,
103 SignatureAlgorithm,
104 };
105 pub use crate::key_agreement::{AgreementPrivateKey, AgreementPublicKey};
106 pub use crate::key_derivation::{DerivedKey, KeyDerivation};
107 pub use crate::keychain::{
108 AccessControl, AccessControlFlags, AccessControlProtection, Keychain, KeychainEntry,
109 };
110 pub use crate::policy::{
111 Policy, PolicyIdentifier, PolicyName, PolicyProperties, RevocationFlags,
112 };
113 pub use crate::random_bytes::SecureRandom;
114 pub use crate::secure_transport::{
115 ProtocolVersion, SecureTransportContext, SecureTransportState,
116 };
117 pub use crate::transform::Transform;
118 pub use crate::trust::{Trust, TrustOptions, TrustResultType};
119}