certkit 0.1.2

A pure Rust library for X.509 certificate management, creation, and validation, supporting RSA, ECDSA, and Ed25519 keys, with no OpenSSL or ring dependencies.
Documentation
[package]
name = "certkit"
version = "0.1.2"
edition = "2024"
license = "MIT OR Apache-2.0"
description = "A pure Rust library for X.509 certificate management, creation, and validation, supporting RSA, ECDSA, and Ed25519 keys, with no OpenSSL or ring dependencies."
repository = "https://github.com/nacardin/certkit.git"
homepage = "https://github.com/nacardin/certkit"
documentation = "https://docs.rs/certkit"
readme = "README.md"
keywords = ["x509", "certificate", "crypto", "pki", "tls"]
categories = ["cryptography", "authentication"]
authors = ["Nick Cardin <nick@cardin.email>"]

[features]
default = ["rsa", "p256", "p384", "p521","ed25519"]
p521 = ["p384", "dep:p521", "ecdsa"] #For some reason p521 does not compile without p384...
ed25519 = ["ed25519-dalek"]


[dependencies]
bon = "3"
const-oid = { version = "0.9.6", features = ["db"] }
rsa = { version = "0.9", optional = true }
p256 = { version = "0.13", features = ["ecdsa", "pkcs8"], optional = true }
p384 = { version = "0.13", features = ["ecdsa", "pkcs8"], optional = true }
p521 = { version = "0.13", features = ["ecdsa", "pkcs8"], optional = true }
ecdsa = { version = "0.16", features = ["verifying"], optional = true }
ed25519-dalek = { version = "2", features = ["rand_core", "pkcs8", "pem"], optional = true}
sha2 = { version = "0.10", default-features = false, features = ["oid"] }
rand_core = { version = "0.6", features = ["getrandom"]}
der = "0.7"
time = "0.3"
pem = "3"
x509-cert = "0.2.5"
pkcs8 = { version = "0.10.2", features = ["alloc", "pem"] }
rand = "0.9.1"
base64 = "0.22.1"
sha1 = "0.10"
thiserror = "1.0"
regex = "1.7"

[dev-dependencies]
openssl = { version = "0.10" }
botan = { version = "0.11", features = ["vendored"] }