§
    HºiÁ	  ã                   óž   — d dl mZmZ d dlmZmZ d dlZd dlZd dl	m
Z
 d dlmZ d dlmZ d dlmZ  G d„ d	e¦  «        Z G d
„ de¦  «        ZdS )é    )ÚABCÚabstractmethod)ÚAnyÚTypeN)Ú	Algorithm)ÚAlgorithmKeyMismatch)ÚDNSKEY)ÚFlagc                   ó:  — e Zd ZU eed<   ededdfd„¦   «         Zedededdfd„¦   «         Z	edefd	„¦   «         Z
ededdfd
„¦   «         Zej        dfdededefd„Zeededd fd„¦   «         ¦   «         Zeededd fd„¦   «         ¦   «         Zedefd„¦   «         ZdS )ÚGenericPublicKeyÚ	algorithmÚkeyÚreturnNc                 ó   — d S ©N© ©Úselfr   s     úX/home/mmwave/public_html/mmwave/venv/lib/python3.11/site-packages/dns/dnssecalgs/base.pyÚ__init__zGenericPublicKey.__init__   ó   € àˆó    Ú	signatureÚdatac                 ó   — dS )zVerify signed DNSSEC dataNr   )r   r   r   s      r   ÚverifyzGenericPublicKey.verify   ó   € € € r   c                 ó   — dS )zEncode key as bytes for DNSKEYNr   ©r   s    r   Úencode_key_bytesz!GenericPublicKey.encode_key_bytes   r   r   c                 ó4   — |j         | j         k    rt          ‚d S r   )r   r   ©Úclsr   s     r   Ú!_ensure_algorithm_key_combinationz2GenericPublicKey._ensure_algorithm_key_combination   s   € àŒ=˜CœMÒ)Ð)Ý&Ð&ð *Ð)r   é   ÚflagsÚprotocolc           	      ó–   — t          t          j        j        t          j        j         ||| j        |                      ¦   «         ¬¦  «        S )zReturn public key as DNSKEY)ÚrdclassÚrdtyper&   r'   r   r   )r	   ÚdnsÚ
rdataclassÚINÚ	rdatatyper   r    )r   r&   r'   s      r   Ú	to_dnskeyzGenericPublicKey.to_dnskey    sC   € åÝ”NÔ%Ý”=Ô'ØØØ”nØ×%Ò%Ñ'Ô'ð
ñ 
ô 
ð 	
r   c                 ó   — dS )zCreate public key from DNSKEYNr   r"   s     r   Úfrom_dnskeyzGenericPublicKey.from_dnskey+   r   r   Ú
public_pemc                 ó   — dS )zXCreate public key from PEM-encoded SubjectPublicKeyInfo as specified
        in RFC 5280Nr   )r#   r2   s     r   Úfrom_pemzGenericPublicKey.from_pem0   r   r   c                 ó   — dS )zVReturn public-key as PEM-encoded SubjectPublicKeyInfo as specified
        in RFC 5280Nr   r   s    r   Úto_pemzGenericPublicKey.to_pem6   r   r   )Ú__name__Ú
__module__Ú__qualname__r   Ú__annotations__r   r   r   Úbytesr   r    Úclassmethodr	   r$   r
   ÚZONEÚintr/   r1   r4   r6   r   r   r   r   r      s¨  € € € € € € ØÐÐÑàð˜Cð  Dð ð ð ñ „^ðð ð( ð (¨Uð (°tð (ð (ð (ñ „^ð(ð ð- %ð -ð -ð -ñ „^ð-ð ð'°Fð '¸tð 'ð 'ð 'ñ „[ð'ð &*¤YÀð 	
ð 	
˜sð 	
¸#ð 	
Àfð 	
ð 	
ð 	
ð 	
ð Øð,˜fð ,Ð);ð ,ð ,ð ,ñ „^ñ „[ð,ð Øð %ð Ð,>ð ð ð ñ „^ñ „[ðð ð˜ð ð ð ñ „^ðð ð r   r   c            
       óò   — e Zd ZU ee         ed<   ededdfd„¦   «         Ze	 	 dde	d	e
d
e
de	fd„¦   «         Zedd„¦   «         Zee	 dde	de	dz  dd fd„¦   «         ¦   «         Zedde	dz  de	fd„¦   «         ZdS )ÚGenericPrivateKeyÚ
public_clsr   r   Nc                 ó   — d S r   r   r   s     r   r   zGenericPrivateKey.__init__?   r   r   FTr   r   Údeterministicc                 ó   — dS )zSign DNSSEC dataNr   )r   r   r   rC   s       r   ÚsignzGenericPrivateKey.signC   r   r   r   c                 ó   — dS )zReturn public key instanceNr   r   s    r   Ú
public_keyzGenericPrivateKey.public_keyL   r   r   Úprivate_pemÚpasswordc                 ó   — dS )z*Create private key from PEM-encoded PKCS#8Nr   )r#   rH   rI   s      r   r4   zGenericPrivateKey.from_pemP   r   r   c                 ó   — dS )z(Return private key as PEM-encoded PKCS#8Nr   )r   rI   s     r   r6   zGenericPrivateKey.to_pemW   r   r   )FT)r   r   r   )r7   r8   r9   r   r   r:   r   r   r   r;   ÚboolrE   rG   r<   r4   r6   r   r   r   r@   r@   <   sL  € € € € € € ØÐ%Ô&Ð&Ð&Ñ&àð˜Cð  Dð ð ð ñ „^ðð ð Ø"ð	ð àðð ðð ð	ð
 
ðð ð ñ „^ðð ð)ð )ð )ñ „^ð)ð Øà:>ð9ð 9Øð9Ø+0°4©<ð9à	ð9ð 9ð 9ñ „^ñ „[ð9ð
 ð7ð 7˜u t™|ð 7°uð 7ð 7ð 7ñ „^ð7ð 7ð 7r   r@   )Úabcr   r   Útypingr   r   Údns.rdataclassr+   Údns.rdatatypeÚdns.dnssectypesr   Údns.exceptionr   Údns.rdtypes.ANY.DNSKEYr	   Údns.rdtypes.dnskeybaser
   r   r@   r   r   r   ú<module>rU      sô   ðØ #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ð Ð Ð Ð à Ð Ð Ð Ø Ð Ð Ð Ø %Ð %Ð %Ð %Ð %Ð %Ø .Ð .Ð .Ð .Ð .Ð .Ø )Ð )Ð )Ð )Ð )Ð )Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'ð-ð -ð -ð -ð -�sñ -ô -ð -ð`7ð 7ð 7ð 7ð 7˜ñ 7ô 7ð 7ð 7ð 7r   