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
22pub mod authorization;
24mod bridge;
25pub mod certificate;
27pub mod cms;
29pub mod code;
31pub mod code_signing;
33pub mod error;
35#[cfg(feature = "raw-ffi")]
36#[cfg_attr(docsrs, doc(cfg(feature = "raw-ffi")))]
37pub mod ffi;
38pub mod identity;
40pub mod key;
42pub mod key_agreement;
44pub mod key_derivation;
46pub mod keychain;
48pub mod policy;
50pub mod random;
52pub mod random_bytes;
54pub mod secure_transport;
56pub mod transform;
58pub mod trust;
60
61pub use authorization::{Authorization, AuthorizationOptions};
62pub use certificate::{Certificate, PublicKey};
63pub use cms::{
64 Cms, CmsCertificateChainMode, CmsDecoder, CmsDigestAlgorithm, CmsEncoder, CmsSignedAttributes,
65};
66pub use code::{
67 Code, CodeSigningFlags, Requirement, SigningInformation, SigningValue, StaticCode, Task,
68};
69pub use error::{OsStatus, Result, SecurityError, StatusError};
70pub use identity::Identity;
71pub use key::{
72 EncryptionAlgorithm, ExternalFormat, ExternalItemType, KeyType, PrivateKey, SignatureAlgorithm,
73};
74pub use key_agreement::{AgreementPrivateKey, AgreementPublicKey};
75pub use key_derivation::{DerivedKey, KeyDerivation};
76pub use keychain::{
77 AccessControl, AccessControlFlags, AccessControlProtection, Keychain, KeychainEntry,
78};
79pub use policy::{Policy, PolicyIdentifier, PolicyName, PolicyProperties, RevocationFlags};
80pub use random_bytes::SecureRandom;
81pub use secure_transport::{ProtocolVersion, SecureTransportContext, SecureTransportState};
82pub use transform::Transform;
83pub use trust::{Trust, TrustOptions, TrustResultType};
84
85pub mod prelude {
87 pub use crate::authorization::{Authorization, AuthorizationOptions};
88 pub use crate::certificate::{Certificate, PublicKey};
89 pub use crate::cms::{
90 Cms, CmsCertificateChainMode, CmsDecoder, CmsDigestAlgorithm, CmsEncoder,
91 CmsSignedAttributes,
92 };
93 pub use crate::code::{
94 Code, CodeSigningFlags, Requirement, SigningInformation, SigningValue, StaticCode, Task,
95 };
96 pub use crate::error::{OsStatus, Result, SecurityError, StatusError};
97 pub use crate::identity::Identity;
98 pub use crate::key::{
99 EncryptionAlgorithm, ExternalFormat, ExternalItemType, KeyType, PrivateKey,
100 SignatureAlgorithm,
101 };
102 pub use crate::key_agreement::{AgreementPrivateKey, AgreementPublicKey};
103 pub use crate::key_derivation::{DerivedKey, KeyDerivation};
104 pub use crate::keychain::{
105 AccessControl, AccessControlFlags, AccessControlProtection, Keychain, KeychainEntry,
106 };
107 pub use crate::policy::{
108 Policy, PolicyIdentifier, PolicyName, PolicyProperties, RevocationFlags,
109 };
110 pub use crate::random_bytes::SecureRandom;
111 pub use crate::secure_transport::{
112 ProtocolVersion, SecureTransportContext, SecureTransportState,
113 };
114 pub use crate::transform::Transform;
115 pub use crate::trust::{Trust, TrustOptions, TrustResultType};
116}