Current File : //lib64/python3.9/site-packages/cryptography/hazmat/backends/__pycache__/interfaces.cpython-39.pyc
a

�ao(�@s(ddlZGdd�dejd�ZGdd�dejd�ZGdd�dejd�ZGd	d
�d
ejd�ZGdd�dejd�ZGd
d�dejd�ZGdd�dejd�ZGdd�dejd�Z	Gdd�dejd�Z
Gdd�dejd�ZGdd�dejd�ZGdd�dejd�Z
Gdd�deeeeee	eeeee
e
ejd�ZdS)�Nc@s6eZdZejdd��Zejdd��Zejdd��ZdS)�
CipherBackendcCsdS)zI
        Return True if the given cipher and mode are supported.
        N���selfZcipher�moderr�M/usr/lib64/python3.9/site-packages/cryptography/hazmat/backends/interfaces.py�cipher_supported
szCipherBackend.cipher_supportedcCsdS)zF
        Get a CipherContext that can be used for encryption.
        Nrrrrr�create_symmetric_encryption_ctxsz-CipherBackend.create_symmetric_encryption_ctxcCsdS)zF
        Get a CipherContext that can be used for decryption.
        Nrrrrr�create_symmetric_decryption_ctxsz-CipherBackend.create_symmetric_decryption_ctxN)�__name__�
__module__�__qualname__�abc�abstractmethodrr	r
rrrrr	s

r)�	metaclassc@s(eZdZejdd��Zejdd��ZdS)�HashBackendcCsdS)zQ
        Return True if the hash algorithm is supported by this backend.
        Nr�r�	algorithmrrr�hash_supportedszHashBackend.hash_supportedcCsdS)zH
        Create a HashContext for calculating a message digest.
        Nrrrrr�create_hash_ctx$szHashBackend.create_hash_ctxN)rrr
rrrrrrrrrs
rc@s(eZdZejdd��Zejdd��ZdS)�HMACBackendcCsdS)zb
        Return True if the hash algorithm is supported for HMAC by this
        backend.
        Nrrrrr�hmac_supported,szHMACBackend.hmac_supportedcCsdS�zQ
        Create a context for calculating a message authentication code.
        Nr)r�keyrrrr�create_hmac_ctx3szHMACBackend.create_hmac_ctxN)rrr
rrrrrrrrr+s
rc@s(eZdZejdd��Zejdd��ZdS)�CMACBackendcCsdS)zX
        Returns True if the block cipher is supported for CMAC by this backend
        Nrrrrr�cmac_algorithm_supported;sz$CMACBackend.cmac_algorithm_supportedcCsdSrrrrrr�create_cmac_ctxAszCMACBackend.create_cmac_ctxN)rrr
rrrrrrrrr:s
rc@s(eZdZejdd��Zejdd��ZdS)�PBKDF2HMACBackendcCsdS)zd
        Return True if the hash algorithm is supported for PBKDF2 by this
        backend.
        Nrrrrr�pbkdf2_hmac_supportedIsz'PBKDF2HMACBackend.pbkdf2_hmac_supportedcCsdS)zN
        Return length bytes derived from provided PBKDF2 parameters.
        Nr)rr�length�saltZ
iterations�key_materialrrr�derive_pbkdf2_hmacPsz$PBKDF2HMACBackend.derive_pbkdf2_hmacN)rrr
rrrr#rrrrrHs
rc@sReZdZejdd��Zejdd��Zejdd��Zejdd��Zejd	d
��Z	dS)�
RSABackendcCsdS)zq
        Generate an RSAPrivateKey instance with public_exponent and a modulus
        of key_size bits.
        Nr�rZpublic_exponent�key_sizerrr�generate_rsa_private_keyZsz#RSABackend.generate_rsa_private_keycCsdS)zQ
        Returns True if the backend supports the given padding options.
        Nr)rZpaddingrrr�rsa_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.
        Nr�rZnumbersrrr�load_rsa_private_numbersnsz#RSABackend.load_rsa_private_numberscCsdS)z3
        Returns an RSAPublicKey provider.
        Nrr*rrr�load_rsa_public_numberstsz"RSABackend.load_rsa_public_numbersN)
rrr
rrr'r(r)r+r,rrrrr$Ys



r$c@s|eZdZejdd��Zejdd��Zejdd��Zejdd��Zejd	d
��Z	ejdd��Z
ejd
d��Zejdd��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.
        Nrr.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.
        Nrrrrr�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.
        Nrr*rrr�load_dsa_private_numbers�sz#DSABackend.load_dsa_private_numberscCsdS)z2
        Returns a DSAPublicKey provider.
        Nrr*rrr�load_dsa_public_numbers�sz"DSABackend.load_dsa_public_numberscCsdS)z3
        Returns a DSAParameters provider.
        Nrr*rrr�load_dsa_parameter_numbers�sz%DSABackend.load_dsa_parameter_numbersN)
rrr
rrr/r2r3r4r8r9r:r;rrrrr-{s 






r-c@sneZdZejdd��Zejdd��Zejdd��Zejdd��Zejd	d
��Z	ejdd��Z
ejd
d��ZdS)�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.
        Nrr?rrr�#generate_elliptic_curve_private_key�sz8EllipticCurveBackend.generate_elliptic_curve_private_keycCsdS)zT
        Return an EllipticCurvePublicKey provider using the given numbers.
        Nrr*rrr�"load_elliptic_curve_public_numbers�sz7EllipticCurveBackend.load_elliptic_curve_public_numberscCsdS)zU
        Return an EllipticCurvePrivateKey provider using the given numbers.
        Nrr*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)rrr
rrr>r@rArBrCrDrErrrrr<�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�rrHrrr�load_pem_public_key�sz+PEMSerializationBackend.load_pem_public_keycCsdS)zC
        Load encryption parameters from PEM encoded data.
        NrrKrrr�load_pem_parameters�sz+PEMSerializationBackend.load_pem_parametersN)rrr
rrrJrLrMrrrrrF�s

rFc@s6eZdZejdd��Zejdd��Zejdd��ZdS)�DERSerializationBackendcCsdS)zy
        Loads a private key from DER encoded data. Uses the provided password
        if the data is encrypted.
        NrrGrrr�load_der_private_key�sz,DERSerializationBackend.load_der_private_keycCsdS)z;
        Loads a public key from DER encoded data.
        NrrKrrr�load_der_public_key�sz+DERSerializationBackend.load_der_public_keycCsdS)zC
        Load encryption parameters from DER encoded data.
        NrrKrrr�load_der_parameterssz+DERSerializationBackend.load_der_parametersN)rrr
rrrOrPrQrrrrrN�s

rNc@s~eZdZejdd��Zejdd��Zejdd��Zejdd��Zejd	d
��Z	ejdd��Z
ejddd��Zejdd��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_parameterssz DHBackend.generate_dh_parameterscCsdS)zd
        Generate a DHPrivateKey instance with parameters as a DHParameters
        object.
        Nrr0rrr�generate_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*rrr�load_dh_private_numberssz!DHBackend.load_dh_private_numberscCsdS)z:
        Load a DHPublicKey from DHPublicNumbers.
        Nrr*rrr�load_dh_public_numbers#sz DHBackend.load_dh_public_numberscCsdS)z<
        Load DHParameters from DHParameterNumbers.
        Nrr*rrr�load_dh_parameter_numbers)sz#DHBackend.load_dh_parameter_numbersNcCsdS)zV
        Returns whether the backend supports DH with these parameter values.
        Nr)rr5r7r6rrr�dh_parameters_supported/sz!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_supported5sz)DHBackend.dh_x942_serialization_supported)N)
rrr
rrrUrVrWrXrYrZr[r]rrrrrRs 





rRc@s(eZdZejdd��Zejdd��ZdS)�
ScryptBackendcCsdS)zG
        Return bytes derived from provided Scrypt parameters.
        Nr)rr"r!r �n�rr5rrr�
derive_scrypt>szScryptBackend.derive_scryptcCsdS)z5
        Return True if Scrypt is supported.
        Nrr\rrr�scrypt_supportedDszScryptBackend.scrypt_supportedN)rrr
rrrarbrrrrr^=s
r^c@s`eZdZejdd��Zejdd��Zejdd��Zejdd��Zejd	d
��Z	ejdd��Z
d
S)�BackendcCsdS�z4
        Returns a list of x509.Certificate
        NrrKrrr�load_pem_pkcs7_certificates\sz#Backend.load_pem_pkcs7_certificatescCsdSrdrrKrrr�load_der_pkcs7_certificatesbsz#Backend.load_der_pkcs7_certificatescCsdS�z
        Returns bytes
        Nr)rZbuilder�encoding�optionsrrr�
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)r�namerZcertZcasZencryption_algorithmrrr�(serialize_key_and_certificates_to_pkcs12zsz0Backend.serialize_key_and_certificates_to_pkcs12N)rrr
rrrerfrjrkrlrnrrrrrcMs




rc)r�ABCMetarrrrrr$r-r<rFrNrRr^rcrrrr�<module>s6"3/6
�