File: //lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__pycache__/ec.cpython-310.pyc
o
�)%a;4 � @ s� d dl mZ d dlmZmZmZ d dlmZmZm Z d dl
mZmZ d dl
mZmZmZ dejfdd�Zd d
� Zdd� Zd
d� Zdd� Zdd� ZG dd� de�ZG dd� de�ZG dd� dej�ZG dd� dej�ZdS )� )�utils)�InvalidSignature�UnsupportedAlgorithm�_Reasons)�_calculate_digest_and_algorithm�_check_not_prehashed�_warn_sign_verify_deprecated)�hashes�
serialization)�AsymmetricSignatureContext�AsymmetricVerificationContext�ec�signature_algorithmc C s t | tj�stdtj��d S )Nz/Unsupported elliptic curve signature algorithm.)�
isinstancer
�ECDSAr r � UNSUPPORTED_PUBLIC_KEY_ALGORITHM)r � r �I/usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/ec.py�_check_signature_algorithm s ��r c C s� | j �|�}| �|| jjk� | j �|�}|| j jkrtd��| j js/| j � |�dkr/td��| j �
|�}| �|| jjk� | j�|��d�}|S )Nz;ECDSA keys with unnamed curves are unsupported at this timer �ascii)
�_lib�EC_KEY_get0_group�openssl_assert�_ffi�NULL�EC_GROUP_get_curve_name� NID_undef�NotImplementedError�CRYPTOGRAPHY_IS_LIBRESSL�EC_GROUP_get_asn1_flag�
OBJ_nid2sn�string�decode)�backend�ec_key�group�nid�
curve_name�snr r r �_ec_key_curve_sn# s"