Available on crate feature
p256
only.Expand description
p256
crate Signer implementation.
Supported Algorithms
Algorithm | Type | Wrapper Type |
---|---|---|
es256 | ::p256::ecdsa::Signature | N/A |
Examples
PKCS8
The pem
feature on the p256
dependency must be enabled.
use ::p256::pkcs8::DecodePrivateKey;
let private_key =
"-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg8UmkmK0KO64KCDRZ
b4RCAHRZ0AfRWBn3Pv6hTv1VR9mhRANCAAR6sST7OqgbWhgEsPeiG7PS3MiVTtfM
UbXT3wdwI67QKZUCynxkthepgPe2zr6PQJX8jbJ/PDH+iMGub5n+lJCc
-----END PRIVATE KEY-----";
let secret_key = ::p256::SecretKey::from_pkcs8_pem(&private_key).unwrap();
let signing_key = ::p256::ecdsa::SigningKey::from(secret_key);
let jwt = min_jwt::encode_and_sign(header.as_bytes(), claims.as_bytes(), &signing_key)?;
JWK
The jwk
feature on the p256
dependency must be enabled.
let jwk = r#"
{
"kty": "EC",
"crv": "P-256",
"x": "erEk-zqoG1oYBLD3ohuz0tzIlU7XzFG1098HcCOu0Ck",
"y": "lQLKfGS2F6mA97bOvo9AlfyNsn88Mf6Iwa5vmf6UkJw",
"d": "8UmkmK0KO64KCDRZb4RCAHRZ0AfRWBn3Pv6hTv1VR9k"
}
"#;
let secret_key = ::p256::SecretKey::from_jwk_str(jwk).unwrap();
let signing_key = ::p256::ecdsa::SigningKey::from(secret_key);
let jwt = min_jwt::encode_and_sign(header.as_bytes(), claims.as_bytes(), &signing_key)?;
Structs
- An ECDSA P-256 signature.