✏️ 正在编辑: ec.cpython-312.pyc
路径:
/var/opt/nydus/ops/cryptography/hazmat/backends/openssl/__pycache__/ec.cpython-312.pyc
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
� ��'j_+ � �` � d dl Z d dlmZmZmZ d dlmZmZ d dlm Z d dl mZ e j rd dl mZ dej ddfd �Zd ddefd�Zdd �Zdd�Zd ddedej* fd�Zd ddddedefd�Zd ddddededdf d�Z G d� dej4 � Z G d� dej8 � Zy)� N)�InvalidSignature�UnsupportedAlgorithm�_Reasons)�_calculate_digest_and_algorithm�_evp_pkey_derive)� serialization)�ec)�Backend�signature_algorithm�returnc �l � t | t j � st dt j � �y )Nz/Unsupported elliptic curve signature algorithm.)� isinstancer �ECDSAr r � UNSUPPORTED_PUBLIC_KEY_ALGORITHM)r s �X/opt/nydus/tmp/pip-target-k0fmikie/lib/python/cryptography/hazmat/backends/openssl/ec.py�_check_signature_algorithmr s1 � � �)�2�8�8�4�"�=��5�5� � � 5� �backendr c �b � | j j |� }| j || j j k7 � | j j |� }|| j j k( rt d� �| j j s)| j j |� dk( rt d� �| j j |� }| j || j j k7 � | j j |� j d� }|S )Nz@ECDSA keys with explicit parameters are unsupported at this timer �ascii) �_lib�EC_KEY_get0_group�openssl_assert�_ffi�NULL�EC_GROUP_get_curve_name� NID_undef� ValueError�CRYPTOGRAPHY_IS_LIBRESSL�EC_GROUP_get_asn1_flag� OBJ_nid2sn�string�decode)r �ec_key�group�nid� curve_name�sns r �_ec_key_curve_snr) ! s� � ��L�L�*�*�6�2�E����5�G�L�L�$5�$5�5�6� �,�,� .� .�u� 5�C� �g�l�l�$�$�$��N� � � �L�L�1�1��L�L�/�/��6�!�;��N� � � ���(�(��-�J����:����):�):�:�;� ��� � �Z� (� /� /�� 8�B� �Ir c �d � | j j || j j � y)z� Set the named curve flag on the EC_KEY. This causes OpenSSL to serialize EC keys along with their curve OID which makes deserialization easier. N)r �EC_KEY_set_asn1_flag�OPENSSL_EC_NAMED_CURVE)r �ec_cdatas r �_mark_asn1_named_ec_curver. ? s% � � �L�L�%�%��'�,�,�5�5�r c �^ � | j j |� }| j || j j k7 � | j j |� }| j || j j k7 � | j j ||� rt d� �y )Nz;Cannot load an EC public key where the point is at infinity)r �EC_KEY_get0_public_keyr r r r �EC_POINT_is_at_infinityr )r r- �pointr% s r �_check_key_infinityr3 K s� � ��L�L�/�/��9�E����5�G�L�L�$5�$5�5�6��L�L�*�*�8�4�E����5�G�L�L�$5�$5�5�6��|�|�+�+�E�5�9��I� � � :r r( c � � t j | � S # t $ r* t dj |� t j � �w xY w)Nz${} is not a supported elliptic curve)r �_CURVE_TYPES�KeyErrorr �formatr �UNSUPPORTED_ELLIPTIC_CURVE)r r( s r �_sn_to_elliptic_curver9 V sL � � ����r�"�$�$��� �"�2�9�9�"�=��/�/� � � �s � �3A�private_key�_EllipticCurvePrivateKey�datac � � | j j |j � }| j |dkD � | j j d|� }| j j dd� }| j j d|t |� |||j � }| j |dk( � | j j |� d |d S )Nr zunsigned char[]zunsigned int[]� ) r � ECDSA_size�_ec_keyr r �new� ECDSA_sign�len�buffer)r r: r<