name : base.cpython-39.opt-1.pyc
a

�M�e�	�@s�ddlmZmZddlmZmZmZddlZddl	Zddl
mZddlm
Z
ddlmZddlmZGdd	�d	e�ZGd
d�de�ZdS)�)�ABC�abstractmethod)�Any�Optional�TypeN)�	Algorithm)�AlgorithmKeyMismatch)�DNSKEY)�Flagc@s�eZdZUeed<eedd�dd��Zeeedd�dd��Z	eed	�d
d��Z
eedd�dd
��Z
ejdfeeed�dd�Zeeedd�dd���Zeeedd�dd���Zeed	�dd��ZdS)�GenericPublicKey�	algorithmN��key�returncCsdS�N���selfrrr�7/usr/lib/python3.9/site-packages/dns/dnssecalgs/base.py�__init__szGenericPublicKey.__init__)�	signature�datarcCsdS)zVerify signed DNSSEC dataNr)rrrrrr�verifyszGenericPublicKey.verify�rcCsdS)zEncode key as bytes for DNSKEYNr�rrrr�encode_key_bytessz!GenericPublicKey.encode_key_bytescCs|j|jkrt�dSr)rr��clsrrrr�!_ensure_algorithm_key_combinationsz2GenericPublicKey._ensure_algorithm_key_combination�)�flags�protocolrcCs"ttjjtjj|||j|��d�S)zReturn public key as DNSKEY)ZrdclassZrdtyper r!rr)r	�dnsZ
rdataclass�INZ	rdatatyperr)rr r!rrr�	to_dnskey s�zGenericPublicKey.to_dnskeycCsdS)zCreate public key from DNSKEYNrrrrr�from_dnskey+szGenericPublicKey.from_dnskey)�
public_pemrcCsdS)zXCreate public key from PEM-encoded SubjectPublicKeyInfo as specified
        in RFC 5280Nr)rr&rrr�from_pem0szGenericPublicKey.from_pemcCsdS)zVReturn public-key as PEM-encoded SubjectPublicKeyInfo as specified
        in RFC 5280Nrrrrr�to_pem6szGenericPublicKey.to_pem)�__name__�
__module__�__qualname__r�__annotations__rrr�bytesrr�classmethodr	rr
ZZONE�intr$r%r'r(rrrrrs$
rc@s�eZdZUeeed<eedd�dd��Zede	e
e	d�dd	��Zed
d�dd
��Ze
ede	ee	dd�dd���Zedee	e	d�dd��ZdS)�GenericPrivateKeyZ
public_clsNr
cCsdSrrrrrrr?szGenericPrivateKey.__init__F)rrrcCsdS)zSign DNSSEC dataNr)rrrrrr�signCszGenericPrivateKey.signrrcCsdS)zReturn public key instanceNrrrrr�
public_keyGszGenericPrivateKey.public_key)�private_pem�passwordrcCsdS)z*Create private key from PEM-encoded PKCS#8Nr)rr3r4rrrr'KszGenericPrivateKey.from_pem)r4rcCsdS)z(Return private key as PEM-encoded PKCS#8Nr)rr4rrrr(RszGenericPrivateKey.to_pem)F)N)N)r)r*r+rrr,rrrr-�boolr1r2r.rr'r(rrrrr0<s 
��r0)�abcrr�typingrrrZdns.rdataclassr"Z
dns.rdatatypeZdns.dnssectypesrZ
dns.exceptionrZdns.rdtypes.ANY.DNSKEYr	Zdns.rdtypes.dnskeybaser
rr0rrrr�<module>s0

© 2025 Cubjrnet7