pub trait PublicKey {
    fn public_bytes(&self) -> &[u8]Notable traits for &'_ mut [u8]impl<'_> Write for &'_ mut [u8]impl<'_> Read for &'_ [u8];
fn verify(
        &self,
        algorithm: Algorithm,
        message: &[u8],
        signature: &[u8]
    ) -> Result<(), ProtoError>; }
This is supported on crate feature dnssec only.
Expand description

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

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

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.

Implementations on Foreign Types

Implementors