U q` @sXddlZddlmZmZddlmZdZdZGdddejdZ Gd d d ejdZ dS) N)UnsupportedAlgorithm_Reasons)_serialization @c@sTeZdZeeddddZejej ej edddZ ejeeddd d Z dS) Ed25519PublicKeydatareturncCs*ddlm}|s tdtj||SNr)backendz4ed25519 is not supported by this version of OpenSSL.),cryptography.hazmat.backends.openssl.backendr ed25519_supportedrr UNSUPPORTED_PUBLIC_KEY_ALGORITHMZed25519_load_public_bytesclsr r rX/tmp/pip-target-nv4zd3e_/lib/python/cryptography/hazmat/primitives/asymmetric/ed25519.pyfrom_public_bytess z"Ed25519PublicKey.from_public_bytes)encodingformatr cCsdS)z9 The serialized bytes of the public key. Nr)selfrrrrr public_bytesszEd25519PublicKey.public_bytesN) signaturer r cCsdS)z' Verify the signature. Nr)rrr rrrverify'szEd25519PublicKey.verify) __name__ __module__ __qualname__ classmethodbytesrabcabstractmethodrEncodingZ PublicFormatrrrrrrrs  r) metaclassc@szeZdZeddddZeeddddZeje dddZ eje j e j e jd d d Zejeedd d ZdS)Ed25519PrivateKey)r cCs(ddlm}|s tdtj|Sr )r r rrrrZed25519_generate_key)rr rrrgenerate/s zEd25519PrivateKey.generatercCs*ddlm}|s tdtj||Sr )r r rrrrZed25519_load_private_bytesrrrrfrom_private_bytes;s z$Ed25519PrivateKey.from_private_bytescCsdS)zD The Ed25519PublicKey derived from the private key. Nr)rrrr public_keyGszEd25519PrivateKey.public_key)rrencryption_algorithmcCsdS)z: The serialized bytes of the private key. Nr)rrrr(rrr private_bytesMszEd25519PrivateKey.private_bytescCsdS)z! Signs the data. Nr)rr rrrsignXszEd25519PrivateKey.signN)rrrrr%rr&r r!rr'rr"Z PrivateFormatZKeySerializationEncryptionr)r*rrrrr$.s   r$) r Zcryptography.exceptionsrrZcryptography.hazmat.primitivesrZ_ED25519_KEY_SIZEZ_ED25519_SIG_SIZEABCMetarr$rrrrs