# 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 @classmethod 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 @classmethod def _maximum(cls): return 255 class NSEC3Hash(dns.enum.IntEnum): """NSEC3 hash algorithm""" SHA1 = 1 @classmethod def _maximum(cls): return 255