ó
    ÌÅLgÑ	  ã                   ó”   • S SK JrJr  S SKJrJrJr  S SKrS SK	rS SK
Jr  S SKJr  S SKJr  S SKJr   " S S	\5      r " S
 S\5      rg)é    )ÚABCÚabstractmethod)ÚAnyÚOptionalÚTypeN)Ú	Algorithm)ÚAlgorithmKeyMismatch)ÚDNSKEY)ÚFlagc                   ó&  • \ rS rSr% \\S'   \S\SS4S j5       r\S\	S\	SS4S	 j5       r
\S\	4S
 j5       r\S\SS4S j5       r\R                   S4S\S\S\4S jjr\\S\SS 4S j5       5       r\\S\	SS 4S j5       5       r\S\	4S j5       rSrg)ÚGenericPublicKeyé   Ú	algorithmÚkeyÚreturnNc                 ó   • g ©N© ©Úselfr   s     Ú5/usr/lib/python3/dist-packages/dns/dnssecalgs/base.pyÚ__init__ÚGenericPublicKey.__init__   ó   € àó    Ú	signatureÚdatac                 ó   • g)zVerify signed DNSSEC dataNr   )r   r   r   s      r   ÚverifyÚGenericPublicKey.verify   ó   � r   c                 ó   • g)zEncode key as bytes for DNSKEYNr   ©r   s    r   Úencode_key_bytesÚ!GenericPublicKey.encode_key_bytes   r!   r   c                 óD   • UR                   U R                   :w  a  [        eg r   )r   r	   ©Úclsr   s     r   Ú!_ensure_algorithm_key_combinationÚ2GenericPublicKey._ensure_algorithm_key_combination   s   € à�=‰=˜CŸM™MÓ)Ü&Ð&ð *r   é   ÚflagsÚprotocolc           	      ó®   • [        [        R                  R                  [        R                  R                   UUU R
                  U R                  5       S9$ )zReturn public key as DNSKEY)ÚrdclassÚrdtyper,   r-   r   r   )r
   ÚdnsÚ
rdataclassÚINÚ	rdatatyper   r$   )r   r,   r-   s      r   Ú	to_dnskeyÚGenericPublicKey.to_dnskey    sB   € äÜ—N‘N×%Ñ%Ü—=‘=×'Ñ'ØØØ—n‘nØ×%Ñ%Ó'ñ
ð 	
r   c                 ó   • g)zCreate public key from DNSKEYNr   r'   s     r   Úfrom_dnskeyÚGenericPublicKey.from_dnskey+   r!   r   Ú
public_pemc                 ó   • g)zPCreate public key from PEM-encoded SubjectPublicKeyInfo as specified
in RFC 5280Nr   )r(   r:   s     r   Úfrom_pemÚGenericPublicKey.from_pem0   r!   r   c                 ó   • g)zNReturn public-key as PEM-encoded SubjectPublicKeyInfo as specified
in RFC 5280Nr   r#   s    r   Úto_pemÚGenericPublicKey.to_pem6   r!   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Ú__annotations__r   r   r   Úbytesr   r$   Úclassmethodr
   r)   r   ÚZONEÚintr5   r8   r<   r?   Ú__static_attributes__r   r   r   r   r      s$  ‡ ØÓàð˜Cð  Dó ó ðð ð( ð (¨Uð (°tó (ó ð(ð ð- %ó -ó ð-ð ð'°Fð '¸tó 'ó ð'ð &*§Y¡YÀñ 	
˜sð 	
¸#ð 	
Àfõ 	
ð Øð,˜fð ,Ð);ó ,ó ó ð,ð Øð %ð Ð,>ó ó ó ðð ð˜ó ó ór   r   c            
       óÞ   • \ rS rSr% \\   \S'   \S\SS4S j5       r	\  SS\
S\S	\S\
4S
 jj5       r\SS j5       r\\ SS\
S\\
   SS 4S jj5       5       r\SS\\
   S\
4S jj5       rSrg)ÚGenericPrivateKeyé<   Ú
public_clsr   r   Nc                 ó   • g r   r   r   s     r   r   ÚGenericPrivateKey.__init__?   r   r   r   r   Údeterministicc                 ó   • g)zSign DNSSEC dataNr   )r   r   r   rQ   s       r   ÚsignÚGenericPrivateKey.signC   r!   r   c                 ó   • g)zReturn public key instanceNr   r#   s    r   Ú
public_keyÚGenericPrivateKey.public_keyL   r!   r   Úprivate_pemÚpasswordc                 ó   • g)z*Create private key from PEM-encoded PKCS#8Nr   )r(   rX   rY   s      r   r<   ÚGenericPrivateKey.from_pemP   r!   r   c                 ó   • g)z(Return private key as PEM-encoded PKCS#8Nr   )r   rY   s     r   r?   ÚGenericPrivateKey.to_pemW   r!   r   r   )FT)r   r   r   )rA   rB   rC   rD   r   r   rE   r   r   r   rF   ÚboolrS   rV   rG   r   r<   r?   rJ   r   r   r   rL   rL   <   så   ‡ ØÐ%Ñ&Ó&àð˜Cð  Dó ó ðð ð Ø"ñ	àðð ðð ð	ð
 
ôó ðð ó)ó ð)ð Øà=Añ9Øð9Ø+3°E©?ð9à	ô9ó ó ð9ð
 ñ7˜x¨™ð 7¸%ô 7ó ó7r   rL   )Úabcr   r   Útypingr   r   r   Údns.rdataclassr1   Údns.rdatatypeÚdns.dnssectypesr   Údns.exceptionr	   Údns.rdtypes.ANY.DNSKEYr
   Údns.rdtypes.dnskeybaser   r   rL   r   r   r   Ú<module>rg      s9   ðß #ß &Ñ &ã Û Ý %Ý .Ý )Ý 'ô-�sô -ô`7˜õ 7r   