3 œäL]*ã@s”ddlmZmZmZddlZddlZejejƒGdd„deƒƒZ ejejƒGdd„deƒƒZ ejejƒGdd„deƒƒZ ejejƒGd d „d eƒƒZ ejejƒGd d „d eƒƒZ ejejƒGd d„deƒƒZejejƒGdd„deƒƒZejejƒGdd„deƒƒZejejƒGdd„deƒƒZejejƒGdd„deƒƒZejejƒGdd„deƒƒZejejƒGdd„deƒƒZejejƒGdd„deƒƒZdS)é)Úabsolute_importÚdivisionÚprint_functionNc@s6eZdZejdd„ƒZejdd„ƒZejdd„ƒZdS)Ú CipherBackendcCsdS)zI Return True if the given cipher and mode are supported. N©)ÚselfÚcipherÚmoderrúQ/tmp/pip-install-wfra5znf/cryptography/cryptography/hazmat/backends/interfaces.pyÚcipher_supportedszCipherBackend.cipher_supportedcCsdS)zF Get a CipherContext that can be used for encryption. Nr)rrr rrr Úcreate_symmetric_encryption_ctxsz-CipherBackend.create_symmetric_encryption_ctxcCsdS)zF Get a CipherContext that can be used for decryption. Nr)rrr rrr Úcreate_symmetric_decryption_ctxsz-CipherBackend.create_symmetric_decryption_ctxN)Ú__name__Ú __module__Ú __qualname__ÚabcÚabstractmethodr r r rrrr r src@s(eZdZejdd„ƒZejdd„ƒZdS)Ú HashBackendcCsdS)zQ Return True if the hash algorithm is supported by this backend. Nr)rÚ algorithmrrr Úhash_supported#szHashBackend.hash_supportedcCsdS)zH Create a HashContext for calculating a message digest. Nr)rrrrr Úcreate_hash_ctx)szHashBackend.create_hash_ctxN)rrrrrrrrrrr r!src@s(eZdZejdd„ƒZejdd„ƒZdS)Ú HMACBackendcCsdS)zb Return True if the hash algorithm is supported for HMAC by this backend. Nr)rrrrr Úhmac_supported2szHMACBackend.hmac_supportedcCsdS)zQ Create a context for calculating a message authentication code. Nr)rÚkeyrrrr Úcreate_hmac_ctx9szHMACBackend.create_hmac_ctxN)rrrrrrrrrrr r0src@s(eZdZejdd„ƒZejdd„ƒZdS)Ú CMACBackendcCsdS)zX Returns True if the block cipher is supported for CMAC by this backend Nr)rrrrr Úcmac_algorithm_supportedBsz$CMACBackend.cmac_algorithm_supportedcCsdS)zQ Create a context for calculating a message authentication code. Nr)rrrrr Úcreate_cmac_ctxHszCMACBackend.create_cmac_ctxN)rrrrrrrrrrr r@src@s(eZdZejdd„ƒZejdd„ƒZdS)ÚPBKDF2HMACBackendcCsdS)zd Return True if the hash algorithm is supported for PBKDF2 by this backend. Nr)rrrrr Úpbkdf2_hmac_supportedQsz'PBKDF2HMACBackend.pbkdf2_hmac_supportedcCsdS)zN Return length bytes derived from provided PBKDF2 parameters. Nr)rrÚlengthÚsaltZ iterationsÚ key_materialrrr Úderive_pbkdf2_hmacXsz$PBKDF2HMACBackend.derive_pbkdf2_hmacN)rrrrrrr#rrrr rOsrc@sReZdZejdd„ƒZejdd„ƒZejdd„ƒZejdd„ƒZejd d „ƒZ d S) Ú RSABackendcCsdS)zq Generate an RSAPrivateKey instance with public_exponent and a modulus of key_size bits. Nr)rÚpublic_exponentÚkey_sizerrr Úgenerate_rsa_private_keybsz#RSABackend.generate_rsa_private_keycCsdS)zQ Returns True if the backend supports the given padding options. Nr)rÚpaddingrrr Úrsa_padding_supportedisz RSABackend.rsa_padding_supportedcCsdS)zg Returns True if the backend supports the given parameters for key generation. Nr)rr%r&rrr Ú!generate_rsa_parameters_supportedosz,RSABackend.generate_rsa_parameters_supportedcCsdS)z4 Returns an RSAPrivateKey provider. Nr)rÚnumbersrrr Úload_rsa_private_numbersvsz#RSABackend.load_rsa_private_numberscCsdS)z3 Returns an RSAPublicKey provider. Nr)rr+rrr Úload_rsa_public_numbers|sz"RSABackend.load_rsa_public_numbersN) rrrrrr'r)r*r,r-rrrr r$`s r$c@s|eZdZejdd„ƒZejdd„ƒZejdd„ƒZejdd„ƒZejd d „ƒZ ejd d „ƒZ ejd d„ƒZ ejdd„ƒZ dS)Ú DSABackendcCsdS)zT Generate a DSAParameters instance with a modulus of key_size bits. Nr)rr&rrr Úgenerate_dsa_parameters…sz"DSABackend.generate_dsa_parameterscCsdS)zf Generate a DSAPrivateKey instance with parameters as a DSAParameters object. Nr)rÚ parametersrrr Úgenerate_dsa_private_key‹sz#DSABackend.generate_dsa_private_keycCsdS)zH Generate a DSAPrivateKey instance using key size only. Nr)rr&rrr Ú'generate_dsa_private_key_and_parameters’sz2DSABackend.generate_dsa_private_key_and_parameterscCsdS)zX Return True if the hash algorithm is supported by the backend for DSA. Nr)rrrrr Údsa_hash_supported˜szDSABackend.dsa_hash_supportedcCsdS)zU Return True if the parameters are supported by the backend for DSA. Nr)rÚpÚqÚgrrr Údsa_parameters_supportedžsz#DSABackend.dsa_parameters_supportedcCsdS)z3 Returns a DSAPrivateKey provider. Nr)rr+rrr Úload_dsa_private_numbers¤sz#DSABackend.load_dsa_private_numberscCsdS)z2 Returns a DSAPublicKey provider. Nr)rr+rrr Úload_dsa_public_numbersªsz"DSABackend.load_dsa_public_numberscCsdS)z3 Returns a DSAParameters provider. Nr)rr+rrr Úload_dsa_parameter_numbers°sz%DSABackend.load_dsa_parameter_numbersN) rrrrrr/r1r2r3r7r8r9r:rrrr r.ƒsr.c@sneZdZejdd„ƒZejdd„ƒZejdd„ƒZejdd„ƒZejd d „ƒZ ejd d „ƒZ ejd d„ƒZ dS)ÚEllipticCurveBackendcCsdS)z Returns True if the backend supports the named elliptic curve with the specified signature algorithm. Nr)rZsignature_algorithmÚcurverrr Ú,elliptic_curve_signature_algorithm_supported¹szAEllipticCurveBackend.elliptic_curve_signature_algorithm_supportedcCsdS)zP Returns True if the backend supports the named elliptic curve. Nr)rr<rrr Úelliptic_curve_supportedÂsz-EllipticCurveBackend.elliptic_curve_supportedcCsdS)zW Return an object conforming to the EllipticCurvePrivateKey interface. Nr)rr<rrr Ú#generate_elliptic_curve_private_keyÈsz8EllipticCurveBackend.generate_elliptic_curve_private_keycCsdS)zT Return an EllipticCurvePublicKey provider using the given numbers. Nr)rr+rrr Ú"load_elliptic_curve_public_numbersÎsz7EllipticCurveBackend.load_elliptic_curve_public_numberscCsdS)zU Return an EllipticCurvePrivateKey provider using the given numbers. Nr)rr+rrr Ú#load_elliptic_curve_private_numbersÔsz8EllipticCurveBackend.load_elliptic_curve_private_numberscCsdS)zV Returns whether the exchange algorithm is supported by this backend. Nr)rrr<rrr Ú+elliptic_curve_exchange_algorithm_supportedÚsz@EllipticCurveBackend.elliptic_curve_exchange_algorithm_supportedcCsdS)zL Compute the private key given the private value and curve. Nr)rZ private_valuer<rrr Ú!derive_elliptic_curve_private_keyàsz6EllipticCurveBackend.derive_elliptic_curve_private_keyN) rrrrrr=r>r?r@rArBrCrrrr r;·s r;c@s6eZdZejdd„ƒZejdd„ƒZejdd„ƒZdS)ÚPEMSerializationBackendcCsdS)zz Loads a private key from PEM encoded data, using the provided password if the data is encrypted. Nr)rÚdataÚpasswordrrr Úload_pem_private_keyész,PEMSerializationBackend.load_pem_private_keycCsdS)z; Loads a public key from PEM encoded data. Nr)rrErrr Úload_pem_public_keyðsz+PEMSerializationBackend.load_pem_public_keycCsdS)zC Load encryption parameters from PEM encoded data. Nr)rrErrr Úload_pem_parametersösz+PEMSerializationBackend.load_pem_parametersN)rrrrrrGrHrIrrrr rDçsrDc@s6eZdZejdd„ƒZejdd„ƒZejdd„ƒZdS)ÚDERSerializationBackendcCsdS)zy Loads a private key from DER encoded data. Uses the provided password if the data is encrypted. Nr)rrErFrrr Úload_der_private_keyÿsz,DERSerializationBackend.load_der_private_keycCsdS)z; Loads a public key from DER encoded data. Nr)rrErrr Úload_der_public_keysz+DERSerializationBackend.load_der_public_keycCsdS)zC Load encryption parameters from DER encoded data. Nr)rrErrr Úload_der_parameters sz+DERSerializationBackend.load_der_parametersN)rrrrrrKrLrMrrrr rJýsrJc@sŠeZdZejdd„ƒZejdd„ƒZejdd„ƒZejdd„ƒZejd d „ƒZ ejd d „ƒZ ejd d„ƒZ ejdd„ƒZ ejdd„ƒZ dS)Ú X509BackendcCsdS)zB Load an X.509 certificate from PEM encoded data. Nr)rrErrr Úload_pem_x509_certificatesz%X509Backend.load_pem_x509_certificatecCsdS)zB Load an X.509 certificate from DER encoded data. Nr)rrErrr Úload_der_x509_certificatesz%X509Backend.load_der_x509_certificatecCsdS)z: Load an X.509 CSR from DER encoded data. Nr)rrErrr Úload_der_x509_csr!szX509Backend.load_der_x509_csrcCsdS)z: Load an X.509 CSR from PEM encoded data. Nr)rrErrr Úload_pem_x509_csr'szX509Backend.load_pem_x509_csrcCsdS)zI Create and sign an X.509 CSR from a CSR builder object. Nr)rÚbuilderÚ private_keyrrrr Úcreate_x509_csr-szX509Backend.create_x509_csrcCsdS)zX Create and sign an X.509 certificate from a CertificateBuilder object. Nr)rrSrTrrrr Úcreate_x509_certificate3sz#X509Backend.create_x509_certificatecCsdS)z| Create and sign an X.509 CertificateRevocationList from a CertificateRevocationListBuilder object. Nr)rrSrTrrrr Úcreate_x509_crl9szX509Backend.create_x509_crlcCsdS)ze Create a RevokedCertificate object from a RevokedCertificateBuilder object. Nr)rrSrrr Úcreate_x509_revoked_certificate@sz+X509Backend.create_x509_revoked_certificatecCsdS)zG Compute the DER encoded bytes of an X509 Name object. Nr)rÚnamerrr Úx509_name_bytesGszX509Backend.x509_name_bytesN)rrrrrrOrPrQrRrUrVrWrXrZrrrr rNsrNc@s~eZdZejdd„ƒZejdd„ƒZejdd„ƒZejdd„ƒZejd d „ƒZ ejd d „ƒZ ejddd„ƒZ ejdd„ƒZ d S)Ú DHBackendcCsdS)z„ Generate a DHParameters instance with a modulus of key_size bits. Using the given generator. Often 2 or 5. Nr)rÚ generatorr&rrr Úgenerate_dh_parametersPsz DHBackend.generate_dh_parameterscCsdS)zd Generate a DHPrivateKey instance with parameters as a DHParameters object. Nr)rr0rrr Úgenerate_dh_private_keyWsz!DHBackend.generate_dh_private_keycCsdS)zx Generate a DHPrivateKey instance using key size only. Using the given generator. Often 2 or 5. Nr)rr\r&rrr Ú&generate_dh_private_key_and_parameters^sz0DHBackend.generate_dh_private_key_and_parameterscCsdS)z; Load a DHPrivateKey from DHPrivateNumbers Nr)rr+rrr Úload_dh_private_numbersesz!DHBackend.load_dh_private_numberscCsdS)z: Load a DHPublicKey from DHPublicNumbers. Nr)rr+rrr Úload_dh_public_numbersksz DHBackend.load_dh_public_numberscCsdS)z< Load DHParameters from DHParameterNumbers. Nr)rr+rrr Úload_dh_parameter_numbersqsz#DHBackend.load_dh_parameter_numbersNcCsdS)zV Returns whether the backend supports DH with these parameter values. Nr)rr4r6r5rrr Údh_parameters_supportedwsz!DHBackend.dh_parameters_supportedcCsdS)zw Returns True if the backend supports the serialization of DH objects with subgroup order (q). Nr)rrrr Údh_x942_serialization_supported}sz)DHBackend.dh_x942_serialization_supported)N) rrrrrr]r^r_r`rarbrcrdrrrr r[Ns r[c@seZdZejdd„ƒZdS)Ú ScryptBackendcCsdS)zG Return bytes derived from provided Scrypt parameters. Nr)rr"r!r ÚnÚrr4rrr Ú derive_scrypt‡szScryptBackend.derive_scryptN)rrrrrrhrrrr re…sre)Ú __future__rrrrÚsixÚ add_metaclassÚABCMetaÚobjectrrrrrr$r.r;rDrJrNr[rerrrr Ús8"3/:6