# Copyright (C) Dnspython Contributors, see LICENSE for text of ISC license | |
# Copyright (C) 2003-2017 Nominum, Inc. | |
# | |
# Permission to use, copy, modify, and distribute this software and its | |
# documentation for any purpose with or without fee is hereby granted, | |
# provided that the above copyright notice and this permission notice | |
# appear in all copies. | |
# | |
# THE SOFTWARE IS PROVIDED "AS IS" AND NOMINUM DISCLAIMS ALL WARRANTIES | |
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL NOMINUM BE LIABLE FOR | |
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT | |
# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
"""Common DNSSEC-related types.""" | |
# This is a separate file to avoid import circularity between dns.dnssec and | |
# the implementations of the DS and DNSKEY types. | |
import dns.enum | |
class Algorithm(dns.enum.IntEnum): | |
RSAMD5 = 1 | |
DH = 2 | |
DSA = 3 | |
ECC = 4 | |
RSASHA1 = 5 | |
DSANSEC3SHA1 = 6 | |
RSASHA1NSEC3SHA1 = 7 | |
RSASHA256 = 8 | |
RSASHA512 = 10 | |
ECCGOST = 12 | |
ECDSAP256SHA256 = 13 | |
ECDSAP384SHA384 = 14 | |
ED25519 = 15 | |
ED448 = 16 | |
INDIRECT = 252 | |
PRIVATEDNS = 253 | |
PRIVATEOID = 254 | |
def _maximum(cls): | |
return 255 | |
class DSDigest(dns.enum.IntEnum): | |
"""DNSSEC Delegation Signer Digest Algorithm""" | |
NULL = 0 | |
SHA1 = 1 | |
SHA256 = 2 | |
GOST = 3 | |
SHA384 = 4 | |
def _maximum(cls): | |
return 255 | |
class NSEC3Hash(dns.enum.IntEnum): | |
"""NSEC3 hash algorithm""" | |
SHA1 = 1 | |
def _maximum(cls): | |
return 255 | |