impuls/lib/python3.11/site-packages/dns/zonetypes.py

38 lines
690 B
Python

# Copyright (C) Dnspython Contributors, see LICENSE for text of ISC license
"""Common zone-related types."""
# This is a separate file to avoid import circularity between dns.zone and
# the implementation of the ZONEMD type.
import hashlib
import dns.enum
class DigestScheme(dns.enum.IntEnum):
"""ZONEMD Scheme"""
SIMPLE = 1
@classmethod
def _maximum(cls):
return 255
class DigestHashAlgorithm(dns.enum.IntEnum):
"""ZONEMD Hash Algorithm"""
SHA384 = 1
SHA512 = 2
@classmethod
def _maximum(cls):
return 255
_digest_hashers = {
DigestHashAlgorithm.SHA384: hashlib.sha384,
DigestHashAlgorithm.SHA512: hashlib.sha512,
}