Rust engine for SAT Certifica-compatible artifacts.
The Rust engine is the primary implementation. The original Go implementation
is preserved on the oxpki-go branch as historical reference.
Confirmed:
- Rust-generated FIEL renewal
.renaccepted by SAT. - Rust-generated renewal
.keymatches the issued active e.firma certificate. - Rust-generated CSD
.sdgaccepted by SAT. - Rust-generated CSD
.keymatches the issued active CSD certificate. - Rust can inspect X.509 certificates and validate
.cer/.keypairs.
Public proof metadata is recorded in fixtures/proof/. Real SAT certificates,
private keys, passwords, and taxpayer identity material are intentionally not
committed.
Pending:
- Initial FIEL
.reqacceptance proof. - Moral person fixture.
- Multi-branch CSD fixture.
- Golden comparison against official Certifica output.
crates/
oxpki-core/ SAT-compatible engine
oxc/ CLI wrapper
oxpki-wasm/ browser wrapper
fixtures/ redacted proof metadata and local fixture guidance
spec/ artifact protocol notes
cargo fmt --check
cargo test
cargo clippy --all-targets -- -D warnings
cargo check --target wasm32-unknown-unknown -p oxpki-wasmoxpki-core = "0.1.0-alpha.3"cargo run -p oxc -- inspect --cert path\to\certificate.cer
cargo run -p oxc -- pair-check --cert path\to\certificate.cer --key path\to\private.key --password-file path\to\password.txtGenerate a CSD stack signed by a valid FIEL:
cargo run -p oxc -- generate-csd --rfc RFC --serial-number CURP --name "LEGAL NAME" --unit "BRANCH" --signer-cert fiel.cer --signer-key fiel.key --signer-password-file signer-pass.txt --new-password-file new-pass.txt --out out-dirFor physical-person CSD, --name is the taxpayer legal name and --unit is
the branch / sucursal. Passing the branch as both values is known to be rejected
by SAT.
npm install @oxhq/oxpki-wasm@alphaoxpki-wasm exposes the same local workflows for browser callers:
inspectCertificatepairCheckrenewFielgenerateCsd
It does not add storage, upload, or server behavior. Browser apps are expected
to keep .key material local.