U q`(@sddlZGdddejdZGdddejdZGdddejdZGd d d ejdZGd d d ejdZGd ddejdZGdddejdZGdddejdZ GdddejdZ GdddejdZ GdddejdZ GdddejdZ GdddejdZdS)Nc@s6eZdZejddZejddZejddZdS) CipherBackendcCsdS)zI Return True if the given cipher and mode are supported. NselfciphermoderrN/tmp/pip-target-nv4zd3e_/lib/python/cryptography/hazmat/backends/interfaces.pycipher_supported szCipherBackend.cipher_supportedcCsdS)zF Get a CipherContext that can be used for encryption. Nrrrrrcreate_symmetric_encryption_ctxsz-CipherBackend.create_symmetric_encryption_ctxcCsdS)zF Get a CipherContext that can be used for decryption. Nrrrrrcreate_symmetric_decryption_ctxsz-CipherBackend.create_symmetric_decryption_ctxN)__name__ __module__ __qualname__abcabstractmethodr r r rrrrr s   r) metaclassc@s(eZdZejddZejddZdS) HashBackendcCsdS)zQ Return True if the hash algorithm is supported by this backend. Nrr algorithmrrrhash_supportedszHashBackend.hash_supportedcCsdS)zH Create a HashContext for calculating a message digest. Nrrrrrcreate_hash_ctx$szHashBackend.create_hash_ctxN)r r rrrrrrrrrrs rc@s(eZdZejddZejddZdS) HMACBackendcCsdS)zb Return True if the hash algorithm is supported for HMAC by this backend. Nrrrrrhmac_supported,szHMACBackend.hmac_supportedcCsdSzQ Create a context for calculating a message authentication code. Nr)rkeyrrrrcreate_hmac_ctx3szHMACBackend.create_hmac_ctxN)r r rrrrrrrrrr+s rc@s(eZdZejddZejddZdS) CMACBackendcCsdS)zX Returns True if the block cipher is supported for CMAC by this backend Nrrrrrcmac_algorithm_supported;sz$CMACBackend.cmac_algorithm_supportedcCsdSrrrrrrcreate_cmac_ctxAszCMACBackend.create_cmac_ctxN)r r rrrrrrrrrr:s rc@s(eZdZejddZejddZdS)PBKDF2HMACBackendcCsdS)zd Return True if the hash algorithm is supported for PBKDF2 by this backend. Nrrrrrpbkdf2_hmac_supportedIsz'PBKDF2HMACBackend.pbkdf2_hmac_supportedcCsdS)zN Return length bytes derived from provided PBKDF2 parameters. Nr)rrlengthsaltZ iterations key_materialrrrderive_pbkdf2_hmacPsz$PBKDF2HMACBackend.derive_pbkdf2_hmacN)r r rrrr r$rrrrrHs rc@sReZdZejddZejddZejddZejddZejd d Z d S) RSABackendcCsdS)zq Generate an RSAPrivateKey instance with public_exponent and a modulus of key_size bits. NrrZpublic_exponentkey_sizerrrgenerate_rsa_private_keyZsz#RSABackend.generate_rsa_private_keycCsdS)zQ Returns True if the backend supports the given padding options. Nr)rpaddingrrrrsa_padding_supportedasz RSABackend.rsa_padding_supportedcCsdS)zg Returns True if the backend supports the given parameters for key generation. Nrr&rrr!generate_rsa_parameters_supportedgsz,RSABackend.generate_rsa_parameters_supportedcCsdS)z4 Returns an RSAPrivateKey provider. NrrZnumbersrrrload_rsa_private_numbersnsz#RSABackend.load_rsa_private_numberscCsdS)z3 Returns an RSAPublicKey provider. Nrr,rrrload_rsa_public_numberstsz"RSABackend.load_rsa_public_numbersN) r r rrrr(r*r+r-r.rrrrr%Ys    r%c@s|eZdZejddZejddZejddZejddZejd d Z ejd d Z ejd dZ ejddZ dS) DSABackendcCsdS)zT Generate a DSAParameters instance with a modulus of key_size bits. Nrrr'rrrgenerate_dsa_parameters|sz"DSABackend.generate_dsa_parameterscCsdS)zf Generate a DSAPrivateKey instance with parameters as a DSAParameters object. Nrr parametersrrrgenerate_dsa_private_keysz#DSABackend.generate_dsa_private_keycCsdS)zH Generate a DSAPrivateKey instance using key size only. Nrr0rrr'generate_dsa_private_key_and_parameterssz2DSABackend.generate_dsa_private_key_and_parameterscCsdS)zX Return True if the hash algorithm is supported by the backend for DSA. Nrrrrrdsa_hash_supportedszDSABackend.dsa_hash_supportedcCsdS)zU Return True if the parameters are supported by the backend for DSA. Nr)rpqgrrrdsa_parameters_supportedsz#DSABackend.dsa_parameters_supportedcCsdS)z3 Returns a DSAPrivateKey provider. Nrr,rrrload_dsa_private_numberssz#DSABackend.load_dsa_private_numberscCsdS)z2 Returns a DSAPublicKey provider. Nrr,rrrload_dsa_public_numberssz"DSABackend.load_dsa_public_numberscCsdS)z3 Returns a DSAParameters provider. Nrr,rrrload_dsa_parameter_numberssz%DSABackend.load_dsa_parameter_numbersN) r r rrrr1r4r5r6r:r;r<r=rrrrr/{s        r/c@sneZdZejddZejddZejddZejddZejd d Z ejd d Z ejd dZ dS)EllipticCurveBackendcCsdS)z Returns True if the backend supports the named elliptic curve with the specified signature algorithm. Nr)rZsignature_algorithmcurverrr,elliptic_curve_signature_algorithm_supportedszAEllipticCurveBackend.elliptic_curve_signature_algorithm_supportedcCsdS)zP Returns True if the backend supports the named elliptic curve. Nrrr?rrrelliptic_curve_supportedsz-EllipticCurveBackend.elliptic_curve_supportedcCsdS)zW Return an object conforming to the EllipticCurvePrivateKey interface. NrrArrr#generate_elliptic_curve_private_keysz8EllipticCurveBackend.generate_elliptic_curve_private_keycCsdS)zT Return an EllipticCurvePublicKey provider using the given numbers. Nrr,rrr"load_elliptic_curve_public_numberssz7EllipticCurveBackend.load_elliptic_curve_public_numberscCsdS)zU Return an EllipticCurvePrivateKey provider using the given numbers. Nrr,rrr#load_elliptic_curve_private_numberssz8EllipticCurveBackend.load_elliptic_curve_private_numberscCsdS)zV Returns whether the exchange algorithm is supported by this backend. Nr)rrr?rrr+elliptic_curve_exchange_algorithm_supportedsz@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_keysz6EllipticCurveBackend.derive_elliptic_curve_private_keyN) r r rrrr@rBrCrDrErFrGrrrrr>s      r>c@s6eZdZejddZejddZejddZdS)PEMSerializationBackendcCsdS)zz Loads a private key from PEM encoded data, using the provided password if the data is encrypted. Nrrdatapasswordrrrload_pem_private_keysz,PEMSerializationBackend.load_pem_private_keycCsdS)z; Loads a public key from PEM encoded data. NrrrJrrrload_pem_public_keysz+PEMSerializationBackend.load_pem_public_keycCsdS)zC Load encryption parameters from PEM encoded data. NrrMrrrload_pem_parameterssz+PEMSerializationBackend.load_pem_parametersN)r r rrrrLrNrOrrrrrHs   rHc@s6eZdZejddZejddZejddZdS)DERSerializationBackendcCsdS)zy Loads a private key from DER encoded data. Uses the provided password if the data is encrypted. NrrIrrrload_der_private_keysz,DERSerializationBackend.load_der_private_keycCsdS)z; Loads a public key from DER encoded data. NrrMrrrload_der_public_keysz+DERSerializationBackend.load_der_public_keycCsdS)zC Load encryption parameters from DER encoded data. NrrMrrrload_der_parameterssz+DERSerializationBackend.load_der_parametersN)r r rrrrQrRrSrrrrrPs   rPc@seZdZejddZejddZejddZejddZejd d Z ejd d Z ejd dZ ejddZ ejddZ dS) X509BackendcCsdS)zB Load an X.509 certificate from PEM encoded data. NrrMrrrload_pem_x509_certificatesz%X509Backend.load_pem_x509_certificatecCsdS)zB Load an X.509 certificate from DER encoded data. NrrMrrrload_der_x509_certificatesz%X509Backend.load_der_x509_certificatecCsdS)z: Load an X.509 CSR from DER encoded data. NrrMrrrload_der_x509_csrszX509Backend.load_der_x509_csrcCsdS)z: Load an X.509 CSR from PEM encoded data. NrrMrrrload_pem_x509_csrszX509Backend.load_pem_x509_csrcCsdS)zI Create and sign an X.509 CSR from a CSR builder object. NrrbuilderZ private_keyrrrrcreate_x509_csr szX509Backend.create_x509_csrcCsdS)zX Create and sign an X.509 certificate from a CertificateBuilder object. NrrYrrrcreate_x509_certificate&sz#X509Backend.create_x509_certificatecCsdS)z| Create and sign an X.509 CertificateRevocationList from a CertificateRevocationListBuilder object. NrrYrrrcreate_x509_crl,szX509Backend.create_x509_crlcCsdS)ze Create a RevokedCertificate object from a RevokedCertificateBuilder object. Nr)rrZrrrcreate_x509_revoked_certificate3sz+X509Backend.create_x509_revoked_certificatecCsdS)zG Compute the DER encoded bytes of an X509 Name object. Nr)rnamerrrx509_name_bytes:szX509Backend.x509_name_bytesN)r r rrrrUrVrWrXr[r\r]r^r`rrrrrTs$        rTc@s~eZdZejddZejddZejddZejddZejd d Z ejd d Z ejdddZ ejddZ d S) DHBackendcCsdS)z Generate a DHParameters instance with a modulus of key_size bits. Using the given generator. Often 2 or 5. Nrr generatorr'rrrgenerate_dh_parametersBsz DHBackend.generate_dh_parameterscCsdS)zd Generate a DHPrivateKey instance with parameters as a DHParameters object. Nrr2rrrgenerate_dh_private_keyIsz!DHBackend.generate_dh_private_keycCsdS)zx Generate a DHPrivateKey instance using key size only. Using the given generator. Often 2 or 5. Nrrbrrr&generate_dh_private_key_and_parametersPsz0DHBackend.generate_dh_private_key_and_parameterscCsdS)z; Load a DHPrivateKey from DHPrivateNumbers Nrr,rrrload_dh_private_numbersWsz!DHBackend.load_dh_private_numberscCsdS)z: Load a DHPublicKey from DHPublicNumbers. Nrr,rrrload_dh_public_numbers]sz DHBackend.load_dh_public_numberscCsdS)z< Load DHParameters from DHParameterNumbers. Nrr,rrrload_dh_parameter_numberscsz#DHBackend.load_dh_parameter_numbersNcCsdS)zV Returns whether the backend supports DH with these parameter values. Nr)rr7r9r8rrrdh_parameters_supportedisz!DHBackend.dh_parameters_supportedcCsdS)zw Returns True if the backend supports the serialization of DH objects with subgroup order (q). Nr)rrrrdh_x942_serialization_supportedosz)DHBackend.dh_x942_serialization_supported)N) r r rrrrdrerfrgrhrirjrkrrrrraAs        rac@seZdZejddZdS) ScryptBackendcCsdS)zG Return bytes derived from provided Scrypt parameters. Nr)rr#r"r!nrr7rrr derive_scryptxszScryptBackend.derive_scryptN)r r rrrrorrrrrlwsrl)rABCMetarrrrrr%r/r>rHrPrTrarlrrrrs"3/:6