Skip to main content

security/
lib.rs

1#![doc = include_str!("../README.md")]
2//!
3//! ---
4//!
5//! # API documentation
6//!
7//! Safe Rust bindings for Apple's `Security.framework` on macOS.
8
9#![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;
23pub mod certificate;
24pub mod cms;
25pub mod code;
26pub mod code_signing;
27pub mod error;
28mod bridge;
29#[cfg(feature = "raw-ffi")]
30#[cfg_attr(docsrs, doc(cfg(feature = "raw-ffi")))]
31pub mod ffi;
32pub mod identity;
33pub mod key_agreement;
34pub mod key_derivation;
35pub mod keychain;
36pub mod policy;
37pub mod random;
38pub mod random_bytes;
39pub mod secure_transport;
40pub mod transform;
41pub mod trust;
42
43pub use authorization::{Authorization, AuthorizationOptions};
44pub use certificate::{Certificate, PublicKey};
45pub use cms::Cms;
46pub use code::{Code, SigningInformation, SigningValue, StaticCode, Task};
47pub use error::{OsStatus, Result, SecurityError, StatusError};
48pub use identity::Identity;
49pub use key_agreement::{AgreementPrivateKey, AgreementPublicKey};
50pub use key_derivation::{DerivedKey, KeyDerivation};
51pub use keychain::{Keychain, KeychainEntry};
52pub use policy::{Policy, RevocationFlags};
53pub use random_bytes::SecureRandom;
54pub use secure_transport::{ProtocolVersion, SecureTransportContext, SecureTransportState};
55pub use transform::Transform;
56pub use trust::Trust;
57
58/// Common imports for users of this crate.
59pub mod prelude {
60    pub use crate::authorization::{Authorization, AuthorizationOptions};
61    pub use crate::certificate::{Certificate, PublicKey};
62    pub use crate::cms::Cms;
63    pub use crate::code::{Code, SigningInformation, SigningValue, StaticCode, Task};
64    pub use crate::error::{OsStatus, Result, SecurityError, StatusError};
65    pub use crate::identity::Identity;
66    pub use crate::key_agreement::{AgreementPrivateKey, AgreementPublicKey};
67    pub use crate::key_derivation::{DerivedKey, KeyDerivation};
68    pub use crate::keychain::{Keychain, KeychainEntry};
69    pub use crate::policy::{Policy, RevocationFlags};
70    pub use crate::random_bytes::SecureRandom;
71    pub use crate::secure_transport::{ProtocolVersion, SecureTransportContext, SecureTransportState};
72    pub use crate::transform::Transform;
73    pub use crate::trust::Trust;
74}