[][src]Trait trust_dns_client::rr::dnssec::PublicKey

pub trait PublicKey {
    fn public_bytes(&self) -> &[u8];
fn verify(
        &self,
        algorithm: Algorithm,
        message: &[u8],
        signature: &[u8]
    ) -> Result<(), ProtoError>; }

PublicKeys implement the ability to ideally be zero copy abstractions over public keys for verifying signed content.

In DNS the KEY and DNSKEY types are generally the RData types which store public key material.

Required methods

fn public_bytes(&self) -> &[u8]

Returns the public bytes of the public key, in DNS format

fn verify(
    &self,
    algorithm: Algorithm,
    message: &[u8],
    signature: &[u8]
) -> Result<(), ProtoError>

Verifies the hash matches the signature with the current key.

Arguments

  • message - the message to be validated, see hash_rrset
  • signature - the signature to use to verify the hash, extracted from an RData::RRSIG for example.

Return value

True if and only if the signature is valid for the hash. This will always return false if the key.

Loading content...

Implementors

impl PublicKey for PublicKeyBuf[src]

impl<'k> PublicKey for PublicKeyEnum<'k>[src]

Loading content...