Submit
Path:
~
/
/
opt
/
alt
/
python37
/
lib64
/
python3.7
/
site-packages
/
cryptography
/
hazmat
/
backends
/
openssl
/
__pycache__
/
File Content:
ec.cpython-37.opt-1.pyc
B \��`.( � @ s d dl mZmZmZ d dlmZ d dlmZmZm Z d dl mZmZm Z d dlmZmZ d dlmZmZmZ dd� Zd d � Zdd� Zd d� Zdd� Zdd� Ze�e�G dd� de��Ze�e�G dd� de��Ze�ej�G dd� de��Z e�ej!�G dd� de��Z"dS )� )�absolute_import�division�print_function)�utils)�InvalidSignature�UnsupportedAlgorithm�_Reasons)�_calculate_digest_and_algorithm�_check_not_prehashed�_warn_sign_verify_deprecated)�hashes� serialization)�AsymmetricSignatureContext�AsymmetricVerificationContext�ecc C s t | tj�stdtj��d S )Nz/Unsupported elliptic curve signature algorithm.)� isinstancer ZECDSAr r Z UNSUPPORTED_PUBLIC_KEY_ALGORITHM)�signature_algorithm� r �Z/opt/alt/python37/lib64/python3.7/site-packages/cryptography/hazmat/backends/openssl/ec.py�_check_signature_algorithm s r c C sr | j �|�}| �|| jjk� | j �|�}|| j jkr>td��| j �|�}| �|| jjk� | j� |�� d�}|S )NzCECDSA certificates with unnamed curves are unsupported at this time�ascii)�_lib�EC_KEY_get0_group�openssl_assert�_ffi�NULL�EC_GROUP_get_curve_nameZ NID_undef�NotImplementedErrorZ OBJ_nid2sn�string�decode)�backendZec_key�groupZnidZ curve_name�snr r r �_ec_key_curve_sn s r# c C s | j �|| j j� dS )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 ZEC_KEY_set_asn1_flagZOPENSSL_EC_NAMED_CURVE)r Zec_cdatar r r �_mark_asn1_named_ec_curve0 s r$ c C s8 yt j| � S tk r2 td�|�tj��Y nX d S )Nz%{0} is not a supported elliptic curve)r Z_CURVE_TYPES�KeyErrorr �formatr ZUNSUPPORTED_ELLIPTIC_CURVE)r r"