# 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
