| Continuous integration | Docs | License | Crate version | Crate downloads |
|---|---|---|---|---|
A crate to interact with sigstore.
This crate is under active development and will not be considered stable until the 1.0 release.
Features
Cosign Sign and Verify
The crate implements the following verification mechanisms:
- Sign using a cosign key and store the signature in a registry
- Verify using a given key
- Verify bundle produced by transparency log (Rekor)
- Verify signature produced in keyless mode, using Fulcio Web-PKI
Signature annotations and certificate email can be provided at verification time.
Fulcio Integration
For use with Fulcio ephemeral key signing, an OpenID connect API is available, along with a fulcio client implementation.
Rekor Client
All rekor client APIs can be leveraged to interact with the transparency log.
Key Interface
Cryptographic key management with the following key interfaces:
- Generate a key pair
- Sign data
- Verify signature
- Export public / (encrypted) private key in PEM / DER format
- Import public / (encrypted) private key in PEM / DER format
Known limitations
- The crate does not handle verification of attestations yet.
Examples
The examples directory contains demo programs using the library.
Each example can be executed with the cargo run --example <name> command.
For example, openidconnect can be run with the following command:
WebAssembly/WASM support
To embedded this crate in WASM modules, build it using the wasm cargo feature:
NOTE: The wasm32-wasi target architecture is not yet supported.
Contributing
Contributions are welcome! Please see the contributing guidelines for more information.
Security
Should you discover any security issues, please refer to sigstores security process