˺h%ddlmZddlmZddlmZddlmZddl m Z ddl m Z ddl m ZddlmZmZmZmZdd lmZdd lmZdd lmZmZGd d ZeZdS)) annotations)openssl)binding)hashes)AsymmetricPadding)ec)utils)MGF1OAEPPSSPKCS1v15)CipherAlgorithm)AES)CBCModec eZdZdZdZefZejej ej ej ej ej ejejejejejejf ZejejejejfZdZdZddzZdZdezZd;dZ ddZ%d?dZ&d@dZ'd@dZ(dAdZ)d@dZ*dBdZ+d@dZ,dCd Z-d@d!Z.dDd$Z/dDd%Z0dAd&Z1d@d'Z2dAd(Z3dEd+Z4dFd.Z5dGd0Z6dAd1Z7dAd2Z8dAd3Z9dAd4Z:dAd5Z;dAd6ZdAd9Z?d:S)HBackendz) OpenSSL API binding interfaces. riireturnNonectj|_|jj|_|jj|_tj|_ dSN) rBinding_bindingffi_ffilib_lib rust_opensslis_fips_enabled _fips_enabledselfs /builddir/build/BUILD/imunify360-venv-2.5.2/opt/imunify360/venv/lib64/python3.11/site-packages/cryptography/hazmat/backends/openssl/backend.py__init__zBackend.__init__Es@)) M% M% )9;;strc\d|d|jdtjdS)Nz)openssl_version_textr!r_legacy_provider_loadedr"s r$__repr__zBackend.__repr__KsQ @(A(A(C(C @ @' @ @#; @ @ @ r&okboolc*tj|Sr)r_openssl_assert)r#r,s r$openssl_assertzBackend.openssl_assertRs&r***r&ctjtjtjsJtj|_dSr)r enable_fips _providersr r!r"s r$ _enable_fipszBackend._enable_fipsUsD  !8999+-----)9;;r&c(tjS)z Friendly string name of the loaded OpenSSL library. This is not necessarily the same version as it was compiled against. Example: OpenSSL 3.2.1 30 Jan 2024 )rr)r"s r$r)zBackend.openssl_version_text\s0222r&intc(tjSr)ropenssl_versionr"s r$openssl_version_numberzBackend.openssl_version_numberes+---r& algorithmhashes.HashAlgorithmc|jdvr'|j|jdzd}n|jd}|j|}|S)N)blake2bblake2sascii)name digest_sizeencoderEVP_get_digestbyname)r#r:algevp_mds r$_evp_md_from_algorithmzBackend._evp_md_from_algorithmhsp >3 3 3^@Y%:Q%>@@GGCC.''00C//44 r&c|jrt||jsdS||}||jjkSNF)r! isinstance _fips_hashesrGrNULL)r#r:rFs r$hash_supportedzBackend.hash_supportedssH   jD5<+_== =r&cr|jrt|tjrdS||S)NTrOrQs r$hmac_supportedzBackend.hmac_supporteds9   *Y "D"D 4""9---r&cipherrmoderc~|jrt||jsdStj||SrI)r!rJ _fips_ciphersrcipherscipher_supported)r#rZr[s r$r_zBackend.cipher_supportedsB   fd&899 u#44VTBBBr&c,||Sr)rYrQs r$pbkdf2_hmac_supportedzBackend.pbkdf2_hmac_supporteds""9---r&list[rust_openssl.OpenSSLError]c(tjSr)rcapture_error_stackr"s r$_consume_errorszBackend._consume_errorss/111r&c|jrt|tjrdSt|tjtjtjtjtjfSrI)r!rJrrPSHA224SHA256SHA384SHA512rQs r$_oaep_hash_supportedzBackend._oaep_hash_supportedsX   *Y "D"D 5          r&paddingrct|trdSt|trft|jtrL|jr&t|jjtjrdS| |jjSt|trSt|jtr9| |jjo| |jSdS)NTF) rJr r _mgfr r! _algorithmrrPrMr rkr#rls r$rsa_padding_supportedzBackend.rsa_padding_supporteds gx ( ( 4  % % *W\4*H*H ! Dj ''' Dt**7<+BCCC  & & :glD+I+I ,, '@++G,>?? @5r&ch|jrt|trdS||SrI)r!rJr rqrps r$rsa_encryption_supportedz Backend.rsa_encryption_supporteds7   7*Wh"?"? 75--g66 6r&c,tj o|j Sr)rCRYPTOGRAPHY_IS_BORINGSSLr!r"s r$ dsa_supportedzBackend.dsa_supporteds6 6 '&& r&cX|sdS||SrI)rvrRrQs r$dsa_hash_supportedzBackend.dsa_hash_supporteds/!!## 5,,Y777r&cX||td|jzS)N)r_r block_sizerQs r$cmac_algorithm_supportedz Backend.cmac_algorithm_supporteds/$$ s7Y%99::   r&curveec.EllipticCurvec||jrt||jsdStj|SrI)r!rJ_fips_ecdh_curvesrrcurve_supported)r#r}s r$elliptic_curve_supportedz Backend.elliptic_curve_supportedsC   j 4)' '  5..u555r&signature_algorithm"ec.EllipticCurveSignatureAlgorithmct|tjsdS||o8t|jt jp||jSrI)rJrECDSArr: asym_utils PrehashedrM)r#rr}s r$,elliptic_curve_signature_algorithm_supportedz4Backend.elliptic_curve_signature_algorithm_supportedsh -rx88 5,,U33 *4j6J K K B""#6#@AA r&ec.ECDHc`||ot|tjSr)rrJrECDH)r#r:r}s r$+elliptic_curve_exchange_algorithm_supportedz3Backend.elliptic_curve_exchange_algorithm_supporteds2,,U33 rw9 9  r&ctj Srrrur"s r$ dh_supportedzBackend.dh_supported999r&c"|jjdkS)Nr)rCryptography_HAS_EVP_PKEY_DHXr"s r$dh_x942_serialization_supportedz'Backend.dh_x942_serialization_supportedsy6!;;r&c|jrdSdSNFTr!r"s r$x25519_supportedzBackend.x25519_supported   5tr&cH|jrdStj o tj SrIr!rCRYPTOGRAPHY_IS_LIBRESSLrur"s r$x448_supportedzBackend.x448_supported.   55 5 ; :: r&c|jrdSdSrrr"s r$ed25519_supportedzBackend.ed25519_supportedrr&cH|jrdStj o tj SrIrr"s r$ed448_supportedzBackend.ed448_supported rr&c*tjo|j Sr)r#CRYPTOGRAPHY_OPENSSL_320_OR_GREATERr!r"s r$ecdsa_deterministic_supportedz%Backend.ecdsa_deterministic_supporteds  < '&& r&c|jrdSdSrrr"s r$poly1305_supportedzBackend.poly1305_supportedrr&ctj Srrr"s r$pkcs7_supportedzBackend.pkcs7_supportedrr&N)rr)rr')r,r-rr)rr6)r:r;)r:r;rr-)rr-)rZrr[rrr-)rrb)rlrrr-)r}r~rr-)rrr}r~rr-)r:rr}r~rr-)@__name__ __module__ __qualname____doc__rArr]rrgrhrirj SHA512_224 SHA512_256SHA3_224SHA3_256SHA3_384SHA3_512SHAKE128SHAKE256rKr SECP224R1 SECP256R1 SECP384R1 SECP521R1r_fips_rsa_min_key_size_fips_rsa_min_public_exponent_fips_dsa_min_modulus_fips_dh_min_key_size_fips_dh_min_modulusr%r+r0r4r)r9rGrMrRrWrYr_rarerkrqrsrvrxr|rrrrrrrrrrrrr&r$rrsA DFM      L     "$)!I  55<<<<     ++++<<<<3333....    ((((....>>>> ....CCCC....2222     &7777     8888     6666         ::::<<<<               ::::::r&rN) __future__r"cryptography.hazmat.bindings._rustrr$cryptography.hazmat.bindings.opensslrcryptography.hazmat.primitivesr*cryptography.hazmat.primitives._asymmetricr)cryptography.hazmat.primitives.asymmetricrr r1cryptography.hazmat.primitives.asymmetric.paddingr r r r &cryptography.hazmat.primitives.ciphersr1cryptography.hazmat.primitives.ciphers.algorithmsr,cryptography.hazmat.primitives.ciphers.modesrrrbackendrr&r$rsg #"""""FFFFFF888888111111HHHHHH888888IIIIII  A:A:A:A:A:A:A:A:H '))r&