std::jwt¶
Status: experimental
RFC 7519 sign / verify for HS256 / HS384 / HS512, ES256, and EdDSA tokens.
API details and source¶
The implementation source contains the complete declarations and implementation notes. The table below lists canonical Gossamer call signatures; every item name links directly to its implementation file.
| Item | Canonical signature or declaration | Description |
|---|---|---|
Alg |
type Alg |
Signing algorithm: HS256 / HS384 / HS512 / ES256 / EdDSA. |
Claims |
type Claims |
Standard registered claims plus a free-form custom map. |
Header |
type Header |
JWS / JWT header (alg, kid, typ). |
VerifyOpts |
type VerifyOpts |
Expected issuer / audience / clock leeway used by verify. |
sign_eddsa |
fn sign_eddsa(claims_json: String, signing_key_pem: String) -> Result<String, errors::Error> |
Sign with Ed25519 from a PEM-encoded private key. |
sign_es256 |
fn sign_es256(claims_json: String, signing_key_pem: String) -> Result<String, errors::Error> |
Sign with ECDSA P-256 from a PEM-encoded private key. |
sign_hs |
fn sign_hs(alg: String, claims_json: String, key: Vec<u8>) -> Result<String, errors::Error> |
Sign claims with HMAC-SHA family using a shared key. |
verify_eddsa |
fn verify_eddsa(token: String, verifying_key_pem: String, leeway_secs: i64) -> Result<String, errors::Error> |
Verify an EdDSA token against a PEM-encoded public key. |
verify_es256 |
fn verify_es256(token: String, verifying_key_pem: String, leeway_secs: i64) -> Result<String, errors::Error> |
Verify an ES256 token against a PEM-encoded public key. |
verify_hs |
fn verify_hs(token: String, alg: String, key: Vec<u8>, leeway_secs: i64) -> Result<String, errors::Error> |
Verify an HS* token; checks signature plus VerifyOpts. |