Skip to main content

Crate uselesskey_aws_lc_rs

Crate uselesskey_aws_lc_rs 

Source
Expand description

Integration between uselesskey test fixtures and aws-lc-rs.

This crate provides extension traits that convert uselesskey fixtures into aws-lc-rs native signing key types.

§Features

  • native - Enable aws-lc-rs dependency (requires NASM on Windows). Disable for wasm-safe builds.
  • rsa - RSA keypairs -> aws_lc_rs::rsa::KeyPair
  • ecdsa - ECDSA keypairs -> aws_lc_rs::signature::EcdsaKeyPair
  • ed25519 - Ed25519 keypairs -> aws_lc_rs::signature::Ed25519KeyPair
  • all - All key types above

When the native feature is disabled, this crate compiles as a no-op with no traits or implementations available.

§Example: RSA sign and verify

use uselesskey_core::Factory;
use uselesskey_rsa::{RsaFactoryExt, RsaSpec};
use uselesskey_aws_lc_rs::AwsLcRsRsaKeyPairExt;
use aws_lc_rs::signature;

let fx = Factory::random();
let keypair = fx.rsa("test", RsaSpec::rs256());
let ring_kp = keypair.rsa_key_pair_aws_lc_rs();

let rng = aws_lc_rs::rand::SystemRandom::new();
let msg = b"hello world";
let mut sig = vec![0u8; ring_kp.public_modulus_len()];
ring_kp.sign(&signature::RSA_PKCS1_SHA256, &rng, msg, &mut sig).unwrap();

Traits§

AwsLcRsEcdsaKeyPairExt
Extension trait to convert uselesskey ECDSA fixtures into aws_lc_rs::signature::EcdsaKeyPair.
AwsLcRsEd25519KeyPairExt
Extension trait to convert uselesskey Ed25519 fixtures into aws_lc_rs::signature::Ed25519KeyPair.
AwsLcRsRsaKeyPairExt
Extension trait to convert uselesskey RSA fixtures into aws_lc_rs::rsa::KeyPair.