a a @ sX d dl Z d dlmZmZ d dlmZ dZdZG dd de jdZ G d d d e jdZ dS ) N)UnsupportedAlgorithm_Reasons)_serialization @ c @ sT e Zd Zeed dddZejej ej edddZejeeddd d ZdS )Ed25519PublicKeydatareturnc C s* ddl m} | s tdtj||S Nr )backendz4ed25519 is not supported by this version of OpenSSL.),cryptography.hazmat.backends.openssl.backendr ed25519_supportedr r UNSUPPORTED_PUBLIC_KEY_ALGORITHMZed25519_load_public_bytesclsr r r W/usr/lib64/python3.9/site-packages/cryptography/hazmat/primitives/asymmetric/ed25519.pyfrom_public_bytes s z"Ed25519PublicKey.from_public_bytes)encodingformatr c C s dS )z9 The serialized bytes of the public key. Nr )selfr r r r r public_bytes s zEd25519PublicKey.public_bytesN) signaturer r c C s dS )z' Verify the signature. Nr )r r r r r r verify' s zEd25519PublicKey.verify) __name__ __module____qualname__classmethodbytesr abcabstractmethodr EncodingZPublicFormatr r r r r r r s r ) metaclassc @ s| e Zd Zed dddZeed dddZeje dddZ ejejej ejed d dZejeeddd ZdS )Ed25519PrivateKey)r c C s( ddl m} | s tdtj| S r )r r r r r r Zed25519_generate_key)r r r r r generate/ s zEd25519PrivateKey.generater c C s* ddl m} | s tdtj||S r )r r r r r r Zed25519_load_private_bytesr r r r from_private_bytes; s z$Ed25519PrivateKey.from_private_bytesc C s dS )zD The Ed25519PublicKey derived from the private key. Nr )r r r r public_keyG s zEd25519PrivateKey.public_key)r r encryption_algorithmr c C s dS )z: The serialized bytes of the private key. Nr )r r r r( r r r private_bytesM s zEd25519PrivateKey.private_bytesc C s dS )z! Signs the data. Nr )r r r r r signX s zEd25519PrivateKey.signN)r r r r r% r r&