pub enum Protocol {
Reserved,
TLS,
Email,
DNSSEC,
IPSec,
Other(u8),
All,
}
Available on crate feature
dnssec
only.Expand description
RFC 2535, Domain Name System Security Extensions, March 1999
3.1.3 The Protocol Octet
It is anticipated that keys stored in DNS will be used in conjunction
with a variety of Internet protocols. It is intended that the
protocol octet and possibly some of the currently unused (must be
zero) bits in the KEY RR flags as specified in the future will be
used to indicate a key's validity for different protocols.
The following values of the Protocol Octet are reserved as indicated:
VALUE Protocol
0 -reserved
1 TLS
2 email
3 dnssec
4 IPSEC
5-254 - available for assignment by IANA
255 All
In more detail:
1 is reserved for use in connection with TLS.
2 is reserved for use in connection with email.
3 is used for DNS security. The protocol field SHOULD be set to
this value for zone keys and other keys used in DNS security.
Implementations that can determine that a key is a DNS
security key by the fact that flags label it a zone key or the
signatory flag field is non-zero are NOT REQUIRED to check the
protocol field.
4 is reserved to refer to the Oakley/IPSEC [RFC 2401] protocol
and indicates that this key is valid for use in conjunction
with that security standard. This key could be used in
connection with secured communication on behalf of an end
entity or user whose name is the owner name of the KEY RR if
the entity or user flag bits are set. The presence of a KEY
resource with this protocol value is an assertion that the
host speaks Oakley/IPSEC.
255 indicates that the key can be used in connection with any
protocol for which KEY RR protocol octet values have been
defined. The use of this value is discouraged and the use of
different keys for different protocols is encouraged.
RFC3445, Limiting the KEY Resource Record (RR), December 2002
All Protocol Octet values except DNSSEC (3) are eliminated
Variants§
Reserved
👎Deprecated: Deprecated by RFC3445
Not in use
TLS
👎Deprecated: Deprecated by RFC3445
Reserved for use with TLS
👎Deprecated: Deprecated by RFC3445
Reserved for use with email
DNSSEC
Reserved for use with DNSSEC (Hickory DNS only supports DNSKEY with DNSSEC)
IPSec
👎Deprecated: Deprecated by RFC3445
Reserved to refer to the Oakley/IPSEC
Other(u8)
👎Deprecated: Deprecated by RFC3445
Undefined
All
👎Deprecated: Deprecated by RFC3445
the key can be used in connection with any protocol
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Protocol
impl<'de> Deserialize<'de> for Protocol
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Copy for Protocol
impl Eq for Protocol
impl StructuralPartialEq for Protocol
Auto Trait Implementations§
impl Freeze for Protocol
impl RefUnwindSafe for Protocol
impl Send for Protocol
impl Sync for Protocol
impl Unpin for Protocol
impl UnwindSafe for Protocol
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.