o
    ©D®fÌ  ã                   @   s@   d dl mZ ddlmZ ddlmZ G dd„ deƒZdd	„ Zd
S )é    )ÚInvalidSignatureé   )ÚJWSAlgorithmé   )ÚOKPKeyc                   @   s,   e Zd ZdZdZdd„ Zdd„ Zdd„ Zd	S )
ÚEdDSAAlgorithmÚEdDSAz1Edwards-curve Digital Signature Algorithm for JWSc                 C   s
   t  |¡S ©N)r   Ú
import_key)ÚselfÚraw_data© r   úW/home/ubuntu/webapp/venv/lib/python3.10/site-packages/authlib/jose/rfc8037/jws_eddsa.pyÚprepare_key
   s   
zEdDSAAlgorithm.prepare_keyc                 C   s   |  d¡}| |¡S )NÚsign)Ú
get_op_keyr   )r   ÚmsgÚkeyÚop_keyr   r   r   r      s   

zEdDSAAlgorithm.signc                 C   s2   |  d¡}z	| ||¡ W dS  ty   Y dS w )NÚverifyTF)r   r   r   )r   r   Úsigr   r   r   r   r   r      s   
ÿzEdDSAAlgorithm.verifyN)Ú__name__Ú
__module__Ú__qualname__ÚnameÚdescriptionr   r   r   r   r   r   r   r      s    r   c                 C   s   |   tƒ ¡ d S r	   )Úregister_algorithmr   )Úclsr   r   r   Úregister_jws_rfc8037   s   r   N)Úcryptography.exceptionsr   Úrfc7515r   Úokp_keyr   r   r   r   r   r   r   Ú<module>   s
    