# native-ossl
Safe, idiomatic Rust wrappers for the OpenSSL 3.x EVP API.
This is the main user-facing crate. See the [workspace README](../README.md)
for the full module table, usage examples, and build instructions.
## Crate layout
```
src/
├── error.rs — ErrorStack
├── lib_ctx.rs — LibCtx, Provider
├── params.rs — ParamBuilder, Params
├── bio.rs — MemBio, Bio
├── digest.rs — DigestAlg, DigestCtx
├── cipher.rs — CipherAlg, CipherCtx<Dir>, AeadEncryptCtx, AeadDecryptCtx
├── mac.rs — MacAlg, MacCtx, HmacCtx, CmacCtx
├── rand.rs — Rand, RandAlg, RandCtx
├── pkey.rs — Pkey<T>, KeygenCtx, Signer, Verifier, DeriveCtx, …
├── kdf.rs — HkdfBuilder, Pbkdf2Builder, ScryptBuilder, …
├── x509.rs — X509, X509Builder, X509Store, X509StoreCtx, X509Crl
├── pkcs12.rs — Pkcs12
├── ocsp.rs — OcspCertId, OcspRequest, OcspResponse, OcspBasicResp
├── ssl.rs — SslCtx, Ssl, SslSession
├── fips.rs — fips::is_running
└── util.rs — SecretBuf
```
## License
Apache-2.0