%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python3/dist-packages/dns/dnssecalgs/__pycache__/
Upload File :
Create Path :
Current File : //lib/python3/dist-packages/dns/dnssecalgs/__pycache__/ecdsa.cpython-312.pyc

�

5��e�����ddlmZddlmZddlmZmZddlmZm	Z	ddl
mZddlm
Z
Gd�de	�ZGd	�d
e�ZGd�de�ZGd
�de�ZGd�de�ZGd�de�Zy)�)�default_backend)�hashes)�ec�utils)�CryptographyPrivateKey�CryptographyPublicKey)�	Algorithm)�DNSKEYc���eZdZUejed<ejZeed<ejed<ejed<eed<dededd	fd
�Z
defd�Zededdfd��Zy	)
�PublicECDSA�key�	algorithm�chosen_hash�curve�octets�	signature�data�returnNc�0�|d|j}||jd}tjtj	|d�tj	|d��}|j
j
||tj|j��y)Nr�big)
rr�encode_dss_signature�int�
from_bytesr
�verifyr�ECDSAr)�selfrr�sig_r�sig_s�sigs      �6/usr/lib/python3/dist-packages/dns/dnssecalgs/ecdsa.pyrzPublicECDSA.verifysr���!�d�k�k�*���$�+�+�-�(���(�(��N�N�5�%�(�#�.�.���*F�
��	
������T�2�8�8�D�,<�,<�#=�>�c���|jj�}|jj|jd�|j
j|jd�zS)z,Encode a public key per RFC 6605, section 4.r)r
�public_numbers�x�to_bytesr�y)r�pns  r �encode_key_byteszPublicECDSA.encode_key_bytessE��
�X�X�
$�
$�
&���t�t�}�}�T�[�[�%�0�2�4�4�=�=����e�3T�T�Tr!c
�r�|j|�|jd|j}|j|j|jdz}|tj|j
tj|d�tj|d���jt����S)Nr�r)rr$r&�r
)
�!_ensure_algorithm_key_combinationr
rr�EllipticCurvePublicNumbersrrr�
public_keyr)�clsr
�ecdsa_x�ecdsa_ys    r �from_dnskeyzPublicECDSA.from_dnskeys����-�-�c�2��'�'�!�c�j�j�)���'�'�#�*�*�s�z�z�A�~�6����-�-��i�i��.�.��%�0��.�.��%�0���j��*�+�
�	
r!)�__name__�
__module__�__qualname__r�EllipticCurvePublicKey�__annotations__�key_clsr	r�
HashAlgorithm�
EllipticCurver�bytesrr(�classmethodr
r2�r!r rr
s���	�	"�	"�"��'�'�G����%�%�%�
�����K�?��?�U�?�t�?�U�%�U�
�

�f�

��

��

r!rc�p�eZdZUejed<ejZeZdde	de
de	fd�Zed	d��Z
y)
�PrivateECDSAr
rrrc��|jj|tj|jj
��}t
j|�\}}tj||jjd��tj||jjd��z}|r |j�j||�|S)z1Sign using a private key per RFC 6605, section 4.r)�length�	byteorder)
r
�signrr�
public_clsrr�decode_dss_signaturerr%rr.r)rrr�
der_signature�dsa_r�dsa_srs       r rCzPrivateECDSA.sign2s������
�
�d�B�H�H�T�_�_�5P�5P�,Q�R�
��1�1�-�@���u��L�L��$�/�/�0�0�E�!�
��L�L��t���'=�'=��L�O�P�	���O�O��$�$�Y��5��r!c�v�|tj|jjt	�����S)N)r�backendr+)r�generate_private_keyrDrr)r/s r �generatezPrivateECDSA.generate=s/����'�'��n�n�*�*�O�4E��
�	
r!N)F)rr?)r3r4r5r�EllipticCurvePrivateKeyr7r8rrDr;�boolrCr<rLr=r!r r?r?-sL��	�	#�	#�#��(�(�G��J�	��	��	��	��
��
r!r?c�l�eZdZejZej�Ze	j�ZdZy)�PublicECDSAP256SHA256� N)
r3r4r5r	�ECDSAP256SHA256rr�SHA256rr�	SECP256R1rrr=r!r rPrPF�,���)�)�I��&�-�-�/�K��B�L�L�N�E�
�Fr!rPc��eZdZeZy)�PrivateECDSAP256SHA256N)r3r4r5rPrDr=r!r rWrWM���&�Jr!rWc�l�eZdZejZej�Ze	j�ZdZy)�PublicECDSAP384SHA384�0N)
r3r4r5r	�ECDSAP384SHA384rr�SHA384rr�	SECP384R1rrr=r!r rZrZQrUr!rZc��eZdZeZy)�PrivateECDSAP384SHA384N)r3r4r5rZrDr=r!r r`r`XrXr!r`N)�cryptography.hazmat.backendsr�cryptography.hazmat.primitivesr�)cryptography.hazmat.primitives.asymmetricrr�dns.dnssecalgs.cryptographyrr�dns.dnssectypesr	�dns.rdtypes.ANY.DNSKEYr
rr?rPrWrZr`r=r!r �<module>rgsb��8�1�?�U�%�)� 
�'� 
�F
�)�
�2�K��'�\�'��K��'�\�'r!

Zerion Mini Shell 1.0