a ao(@s(ddlZGdddejdZGdddejdZGdddejdZGd d d ejdZGd d d ejdZGd ddejdZGdddejdZGdddejdZ GdddejdZ GdddejdZ GdddejdZ GdddejdZ Gdddeee e ee eeeee e ejdZdS)Nc@s6eZdZejddZejddZejddZdS) CipherBackendcCsdS)zI Return True if the given cipher and mode are supported. NselfZciphermoderrM/usr/lib64/python3.9/site-packages/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__abcabstractmethodrr 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 r rrrrrrrrrs 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 r rrrrrrrrr+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 r rrrrrrrrr: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 r rrrr#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)rZpaddingrrrrsa_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 r rrr'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. Nrr.rrr'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 r rrr/r2r3r4r8r9r: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. Nrr?rrr#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 r rrr>r@rArBrCrDrErrrrr<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. NrrrHrrrload_pem_public_keysz+PEMSerializationBackend.load_pem_public_keycCsdS)zC Load encryption parameters from PEM encoded data. NrrKrrrload_pem_parameterssz+PEMSerializationBackend.load_pem_parametersN)r r r rrrJrLrMrrrrrFs   rFc@s6eZdZejddZejddZejddZdS)DERSerializationBackendcCsdS)zy Loads a private key from DER encoded data. Uses the provided password if the data is encrypted. NrrGrrrload_der_private_keysz,DERSerializationBackend.load_der_private_keycCsdS)z; Loads a public key from DER encoded data. NrrKrrrload_der_public_keysz+DERSerializationBackend.load_der_public_keycCsdS)zC Load encryption parameters from DER encoded data. NrrKrrrload_der_parameterssz+DERSerializationBackend.load_der_parametersN)r r r rrrOrPrQrrrrrNs   rNc@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_parameterssz DHBackend.generate_dh_parameterscCsdS)zd Generate a DHPrivateKey instance with parameters as a DHParameters object. Nrr0rrrgenerate_dh_private_keysz!DHBackend.generate_dh_private_keycCsdS)zx Generate a DHPrivateKey instance using key size only. Using the given generator. Often 2 or 5. NrrSrrr&generate_dh_private_key_and_parameterssz0DHBackend.generate_dh_private_key_and_parameterscCsdS)z; Load a DHPrivateKey from DHPrivateNumbers Nrr*rrrload_dh_private_numberssz!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_numbers)sz#DHBackend.load_dh_parameter_numbersNcCsdS)zV Returns whether the backend supports DH with these parameter values. Nr)rr5r7r6rrrdh_parameters_supported/sz!DHBackend.dh_parameters_supportedcCsdS)zw Returns True if the backend supports the serialization of DH objects with subgroup order (q). Nrrrrrdh_x942_serialization_supported5sz)DHBackend.dh_x942_serialization_supported)N) r r r rrrUrVrWrXrYrZr[r]rrrrrRs        rRc@s(eZdZejddZejddZdS) ScryptBackendcCsdS)zG Return bytes derived from provided Scrypt parameters. Nr)rr"r!r nrr5rrr derive_scrypt>szScryptBackend.derive_scryptcCsdS)z5 Return True if Scrypt is supported. Nrr\rrrscrypt_supportedDszScryptBackend.scrypt_supportedN)r r r rrrarbrrrrr^=s r^c@s`eZdZejddZejddZejddZejddZejd d Z ejd d Z d S)BackendcCsdSz4 Returns a list of x509.Certificate NrrKrrrload_pem_pkcs7_certificates\sz#Backend.load_pem_pkcs7_certificatescCsdSrdrrKrrrload_der_pkcs7_certificatesbsz#Backend.load_der_pkcs7_certificatescCsdSz Returns bytes Nr)rZbuilderencodingoptionsrrr pkcs7_signhszBackend.pkcs7_signcCsdS)z9 Returns a tuple of (key, cert, [certs]) NrrGrrr%load_key_and_certificates_from_pkcs12nsz-Backend.load_key_and_certificates_from_pkcs12cCsdS)z; Returns a PKCS12KeyAndCertificates object NrrGrrr load_pkcs12tszBackend.load_pkcs12cCsdSrgr)rnamerZcertZcasZencryption_algorithmrrr(serialize_key_and_certificates_to_pkcs12zsz0Backend.serialize_key_and_certificates_to_pkcs12N) r r r rrrerfrjrkrlrnrrrrrcMs     rc)rABCMetarrrrrr$r-r<rFrNrRr^rcrrrrs6"3/6