wtx 0.50.0

A collection of different transport implementations and related tools focused primarily on web technologies.
Documentation
#[cfg(feature = "crypto-aws-lc-rs")]
mod aws_lc_rs;
#[cfg(feature = "crypto-graviola")]
mod graviola;
#[cfg(feature = "crypto-ring")]
mod ring;
#[cfg(feature = "crypto-ruco")]
mod ruco;

/// A cryptographic secret usually composed by a secret key and a public key.
pub trait SignKey: Sized {
  /// New instance from a private key.
  fn from_pkcs8(bytes: &[u8]) -> crate::Result<Self>;
}

/// Dummy [`SignKey`] implementation used when no backend is enabled.
#[derive(Clone, Copy, Debug, Default, PartialEq)]
pub struct SignKeyDummy {}

impl SignKey for SignKeyDummy {
  #[inline]
  fn from_pkcs8(_: &[u8]) -> crate::Result<Self> {
    Ok(Self {})
  }
}