Trait btlib::crypto::Scheme

source ·
pub trait Scheme: DeserializeOwned + Serialize + Copy + Debug + PartialEq + Into<Self::Kind> {
    type Kind: Scheme;

    // Required methods
    fn as_enum(self) -> SchemeKind;
    fn hash_kind(&self) -> HashKind;
    fn padding(&self) -> Option<OpensslPadding>;
    fn public_from_der(self, der: &[u8]) -> Result<PKey<Public>>;
    fn private_from_der(self, der: &[u8]) -> Result<PKey<Private>>;
    fn generate(self) -> Result<AsymKeyPair<Self::Kind>>;
    fn key_len(self) -> BitLen;

    // Provided method
    fn message_digest(&self) -> MessageDigest { ... }
}
Expand description

A Cryptographic Scheme. This is a common type for operations such as encrypting, decrypting, signing and verifying.

Required Associated Types§

Required Methods§

Provided Methods§

Implementors§