Expand description
Encoder builder for creating Claim 169 QR codes.
The Encoder provides a fluent builder API for encoding identity credentials
into QR-ready Base45 strings.
§Basic Usage
ⓘ
use claim169_core::{Encoder, Claim169, CwtMeta};
// Create an unsigned credential (requires explicit opt-in)
let qr_data = Encoder::new(claim169, cwt_meta)
.allow_unsigned()
.encode()?;
// Create a signed credential with Ed25519
let qr_data = Encoder::new(claim169, cwt_meta)
.sign_with_ed25519(&private_key)?
.encode()?;
// Create a signed and encrypted credential
let qr_data = Encoder::new(claim169, cwt_meta)
.sign_with_ed25519(&private_key)?
.encrypt_with_aes256(&aes_key)?
.encode()?;§HSM Integration
For hardware security modules, use the generic sign_with() method:
ⓘ
use claim169_core::{Encoder, Signer};
struct HsmSigner { /* ... */ }
impl Signer for HsmSigner { /* ... */ }
let qr_data = Encoder::new(claim169, cwt_meta)
.sign_with(hsm_signer, iana::Algorithm::EdDSA)
.encode()?;Structs§
- Encoder
- Builder for encoding Claim 169 credentials into QR-ready strings.
Functions§
- generate_
random_ nonce - Generate a random nonce.