ó
    Ú°›jë(  ã                  óº   • S SK Jr  S SKJr  S SKJr  S SKJr  S SK	J
r
  S SKJr  S SKJr  S SKJrJrJrJr  S S	KJr  S S
KJr  S SKJrJr   " S S5      r\" 5       rg)é    )Úannotations)Úopenssl)Úbinding)Úhashes)ÚAsymmetricPadding)Úec)Úutils)ÚMGF1ÚOAEPÚPSSÚPKCS1v15)ÚCipherAlgorithm)ÚAES)ÚCBCÚModec                  ó
  • \ rS rSrSrSr\4r\R                  \R                  \R                  \R                  \R                  \R                  \R                  \R                   \R"                  \R$                  \R&                  \R(                  4r\R.                  \R0                  \R2                  \R4                  4rSrSrSS-  rSrS\-  r S)S jr!S*S jr"S+S	 jr#S)S
 jr$S*S jr%S,S jr&S-S jr'    S-S jr(S.S jr)S.S jr*S-S jr+S/S jr,S0S jr-S-S jr.S1S jr/S1S jr0S.S jr1S-S jr2S.S jr3S2S jr4      S3S jr5      S4S jr6S.S jr7S.S jr8S.S jr9S.S  jr:S.S! jr;S.S" jr<S.S# jr=S.S$ jr>S.S% jr?S.S& jr@S'rAg()5ÚBackendé   z!
OpenSSL API binding interfaces.
r   i   i  é   c                óØ   • [         R                  " 5       U l        U R                  R                  U l        U R                  R
                  U l        [        R                  " 5       U l	        g ©N)
r   ÚBindingÚ_bindingÚffiÚ_ffiÚlibÚ_libÚrust_opensslÚis_fips_enabledÚ_fips_enabled©Úselfs    Úi/home/mande/repo/quber/.venv/lib/python3.13/site-packages/cryptography/hazmat/backends/openssl/backend.pyÚ__init__ÚBackend.__init__E   sC   € ÜŸšÓ)ˆŒØ—M‘M×%Ñ%ˆŒ	Ø—M‘M×%Ñ%ˆŒ	Ü)×9Ò9Ó;ˆÕó    c                óf   • SU R                  5        SU R                   S[        R                   S3$ )Nz<OpenSSLBackend(version: z, FIPS: z
, Legacy: z)>)Úopenssl_version_textr    r   Ú_legacy_provider_loadedr!   s    r#   Ú__repr__ÚBackend.__repr__K   sC   € à'¨×(AÑ(AÓ(CÐ'Dð EØ×'Ñ'Ð(ð )Ü#×;Ñ;Ð<¸Bð@ð	
r&   c                ó.   • [         R                  " U5      $ r   )r   Ú_openssl_assert)r"   Úoks     r#   Úopenssl_assertÚBackend.openssl_assertR   s   € Ü×&Ò& rÓ*Ð*r&   c                ó¸   • [         R                  " [         R                  5        [         R                  " 5       (       d   e[         R                  " 5       U l        g r   )r   Úenable_fipsÚ
_providersr   r    r!   s    r#   Ú_enable_fipsÚBackend._enable_fipsU   s>   € ô 	× Ò ¤×!8Ñ!8Ô9Ü×+Ò+×-Ñ-Ð-Ð-Ü)×9Ò9Ó;ˆÕr&   c                ó,   • [         R                  " 5       $ )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
)r   r(   r!   s    r#   r(   ÚBackend.openssl_version_text\   s   € ô ×0Ò0Ó2Ð2r&   c                ó,   • [         R                  " 5       $ r   )r   Úopenssl_versionr!   s    r#   Úopenssl_version_numberÚBackend.openssl_version_numbere   s   € Ü×+Ò+Ó-Ð-r&   c                ó˜   • U R                   (       a  [        XR                  5      (       d  g[        R                  R                  U5      $ ©NF)r    Ú
isinstanceÚ_fips_hashesr   r   Úhash_supported©r"   Ú	algorithms     r#   r@   ÚBackend.hash_supportedh   s5   € Ø××¤j°×<MÑ<M×&NÑ&NØä×"Ñ"×1Ñ1°)Ó<Ð<r&   c                ó†   • U R                   (       a   [        U[        R                  5      (       a  gU R	                  U5      $ r=   )r    r>   r   ÚSHA1r@   rA   s     r#   Úsignature_hash_supportedÚ Backend.signature_hash_supportedn   s1   € ð
 ××¤*¨Y¼¿¹×"DÑ"DØØ×"Ñ" 9Ó-Ð-r&   c                ón   • U R                   (       a  g[        [        R                  R                  S5      $ ©NFÚderive)r    Úhasattrr   ÚkdfÚScryptr!   s    r#   Úscrypt_supportedÚBackend.scrypt_supportedw   s'   € Ø××Øäœ<×+Ñ+×2Ñ2°HÓ=Ð=r&   c                ón   • U R                   (       a  g[        [        R                  R                  S5      $ rI   )r    rK   r   rL   ÚArgon2idr!   s    r#   Úargon2_supportedÚBackend.argon2_supported}   s'   € Ø××Øäœ<×+Ñ+×4Ñ4°hÓ?Ð?r&   c                ó0  • U R                   (       a   [        U[        R                  5      (       a  g[        R
                  (       aÀ  [        U[        R                  [        R                  [        R                  [        R                  [        R                  [        R                  [        R                  [        R                  [        R                  [        R                  [        R                  [        R                   45      $ U R#                  U5      $ ©NT)r    r>   r   rE   r   ÚCRYPTOGRAPHY_IS_AWSLCÚMD5ÚSHA224ÚSHA256ÚSHA384ÚSHA512Ú
SHA512_224Ú
SHA512_256ÚSHA3_224ÚSHA3_256ÚSHA3_384ÚSHA3_512r@   rA   s     r#   Úhmac_supportedÚBackend.hmac_supportedƒ   s§   € à××¤*¨Y¼¿¹×"DÑ"DØÜ×-×-ÜØä—J‘JÜ—K‘KÜ—M‘MÜ—M‘MÜ—M‘MÜ—M‘MÜ×%Ñ%Ü×%Ñ%Ü—O‘OÜ—O‘OÜ—O‘OÜ—O‘Oðóð ð" ×"Ñ" 9Ó-Ð-r&   c                ó˜   • U R                   (       a  [        XR                  5      (       d  g[        R                  R                  X5      $ r=   )r    r>   Ú_fips_ciphersr   ÚciphersÚcipher_supported)r"   ÚcipherÚmodes      r#   rg   ÚBackend.cipher_supported›   s8   € Ø××ô ˜f×&8Ñ&8×9Ñ9Øä×#Ñ#×4Ñ4°VÓBÐBr&   c                ó,   • [         R                  " 5       $ r   )r   Úcapture_error_stackr!   s    r#   Ú_consume_errorsÚBackend._consume_errors¤   s   € Ü×/Ò/Ó1Ð1r&   c                ó  • U R                   (       a   [        U[        R                  5      (       a  g[        U[        R                  [        R                  [        R
                  [        R                  [        R                  45      $ r=   )r    r>   r   rE   rX   rY   rZ   r[   rA   s     r#   Ú_oaep_hash_supportedÚBackend._oaep_hash_supported§   sV   € Ø××¤*¨Y¼¿¹×"DÑ"DØäØä—‘Ü—‘Ü—‘Ü—‘Ü—‘ðó	
ð 		
r&   c                ó8  • [        U[        5      (       a  g[        U[        5      (       at  [        UR                  [        5      (       aU  U R
                  (       a  UR                  [        R                  :w  a  gU R                  UR                  R                  5      $ [        U[        5      (       af  [        UR                  [        5      (       aG  U R                  UR                  R                  5      =(       a    U R                  UR                  5      $ g)NTF)r>   r   r   Ú_mgfr
   r    Ú_salt_lengthÚDIGEST_LENGTHr@   Ú
_algorithmr   rp   ©r"   Úpaddings     r#   Úrsa_padding_supportedÚBackend.rsa_padding_supported¶   sÉ   € Ü�gœx×(Ñ(ØÜ˜¤×%Ñ%¬*°W·\±\Ä4×*HÑ*Hð ×"×"Ø×(Ñ(¬C×,=Ñ,=Ó=àØ×&Ñ& w§|¡|×'>Ñ'>Ó?Ð?Ü˜¤×&Ñ&¬:°g·l±lÄD×+IÑ+IØ×,Ñ,Ø—‘×'Ñ'ó÷ @à×+Ñ+¨G×,>Ñ,>Ó?ð@ð r&   c                ór   • U R                   (       a  [        U[        5      (       a  gU R                  U5      $ r=   )r    r>   r   ry   rw   s     r#   Úrsa_encryption_supportedÚ Backend.rsa_encryption_supportedÌ   s+   € Ø××¤*¨W´h×"?Ñ"?Øà×-Ñ-¨gÓ6Ð6r&   c                ó\   • [         R                  (       + =(       a    U R                  (       + $ r   )r   ÚCRYPTOGRAPHY_IS_BORINGSSLr    r!   s    r#   Údsa_supportedÚBackend.dsa_supportedÒ   s$   € ä×6Ñ6Ô6÷ 'Ø×&Ñ&Ô&ð	
r&   c                óP   • U R                  5       (       d  gU R                  U5      $ r=   )r€   rF   rA   s     r#   Údsa_hash_supportedÚBackend.dsa_hash_supportedØ   s%   € Ø×!Ñ!×#Ñ#ØØ×,Ñ,¨YÓ7Ð7r&   c                óR   • U R                  U[        SUR                  -  5      5      $ )Nó    )rg   r   Ú
block_sizerA   s     r#   Úcmac_algorithm_supportedÚ Backend.cmac_algorithm_supportedÝ   s*   € Ø×$Ñ$Ø”s˜7 Y×%9Ñ%9Ñ9Ó:ó
ð 	
r&   c                ó˜   • U R                   (       a  [        XR                  5      (       d  g[        R                  R                  U5      $ r=   )r    r>   Ú_fips_ecdh_curvesr   r   Úcurve_supported)r"   Úcurves     r#   Úelliptic_curve_supportedÚ Backend.elliptic_curve_supportedâ   s:   € Ø××¤jØ×)Ñ)÷'
ñ '
ð ä�‰×.Ñ.¨uÓ5Ð5r&   c                óþ   • [        U[        R                  5      (       d  gU R                  U5      =(       aF    [        UR                  [
        R                  5      =(       d    U R                  UR                  5      $ r=   )r>   r   ÚECDSArŽ   rB   Ú
asym_utilsÚ	Prehashedr@   )r"   Úsignature_algorithmr�   s      r#   Ú,elliptic_curve_signature_algorithm_supportedÚ4Backend.elliptic_curve_signature_algorithm_supportedê   sc   € ô Ð-¬r¯x©x×8Ñ8Øà×,Ñ,¨UÓ3÷ 
ÜÐ*×4Ñ4´j×6JÑ6JÓK÷ BØ×"Ñ"Ð#6×#@Ñ#@ÓAð	
r&   c                óf   • U R                  U5      =(       a    [        U[        R                  5      $ r   )rŽ   r>   r   ÚECDH)r"   rB   r�   s      r#   Ú+elliptic_curve_exchange_algorithm_supportedÚ3Backend.elliptic_curve_exchange_algorithm_supportedø   s,   € ð ×,Ñ,¨UÓ3÷ 
¼
Ø”r—w‘wó9
ð 	
r&   c                ó,   • [         R                  (       + $ r   )r   r   r!   s    r#   Údh_supportedÚBackend.dh_supportedÿ   s   € Ü×9Ñ9Ô9Ð9r&   c                ó4   • U R                   R                  S:H  $ )Nr   )r   ÚCryptography_HAS_EVP_PKEY_DHXr!   s    r#   Údh_x942_serialization_supportedÚ'Backend.dh_x942_serialization_supported  s   € Ø�y‰y×6Ñ6¸!Ñ;Ð;r&   c                ó$   • U R                   (       + $ r   )r    r!   s    r#   Úx25519_supportedÚBackend.x25519_supported  s   € Ø×%Ñ%Ô%Ð%r&   c                óÀ   • U R                   (       a  g[        R                  (       + =(       a1    [        R                  (       + =(       a    [        R                  (       + $ r=   )r    r   ÚCRYPTOGRAPHY_IS_LIBRESSLr   rV   r!   s    r#   Úx448_supportedÚBackend.x448_supported  sA   € Ø××Øä×5Ñ5Ô5÷ 7Ü ×:Ñ:Ô:÷7ä ×6Ñ6Ô6ð	
r&   c                ó~   • [         R                  =(       d'    [         R                  =(       d    [         R                  $ r   ©r   rV   r   Ú#CRYPTOGRAPHY_OPENSSL_350_OR_GREATERr!   s    r#   Úmlkem_supportedÚBackend.mlkem_supported  ó.   € ä×.Ñ.÷ @Ü×5Ñ5÷@ä×?Ñ?ð	
r&   c                ó~   • [         R                  =(       d'    [         R                  =(       d    [         R                  $ r   rª   r!   s    r#   Úmldsa_supportedÚBackend.mldsa_supported  r®   r&   c                ó   • grU   © r!   s    r#   Úed25519_supportedÚBackend.ed25519_supported  s   € Ør&   c                óœ   • [         R                  (       + =(       a1    [         R                  (       + =(       a    [         R                  (       + $ r   )r   r¦   r   rV   r!   s    r#   Úed448_supportedÚBackend.ed448_supported"  s5   € ä×5Ñ5Ô5÷ 7Ü ×:Ñ:Ô:÷7ä ×6Ñ6Ô6ð	
r&   c                óR   • [         R                  =(       a    U R                  (       + $ r   )r   Ú#CRYPTOGRAPHY_OPENSSL_320_OR_GREATERr    r!   s    r#   Úecdsa_deterministic_supportedÚ%Backend.ecdsa_deterministic_supported)  s!   € ä×<Ñ<÷ 'Ø×&Ñ&Ô&ð	
r&   c                óP   • [         R                  (       a  gU R                  (       + $ rU   )r   rV   r    r!   s    r#   Úpoly1305_supportedÚBackend.poly1305_supported/  s   € Ü×-×-ØØ×%Ñ%Ô%Ð%r&   )r   r   r    r   N)ÚreturnÚNone)rÀ   Ústr)r.   ÚboolrÀ   rÁ   )rÀ   Úint)rB   zhashes.HashAlgorithmrÀ   rÃ   )rÀ   rÃ   )rh   r   ri   r   rÀ   rÃ   )rÀ   zlist[rust_openssl.OpenSSLError])rx   r   rÀ   rÃ   )r�   úec.EllipticCurverÀ   rÃ   )r”   z"ec.EllipticCurveSignatureAlgorithmr�   rÅ   rÀ   rÃ   )rB   zec.ECDHr�   rÅ   rÀ   rÃ   )BÚ__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Únamer   re   r   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   ÚSHAKE128ÚSHAKE256r?   r   Ú	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*   r/   r4   r(   r:   r@   rF   rN   rR   rb   rg   rm   rp   ry   r|   r€   rƒ   rˆ   rŽ   r•   r™   rœ   r    r£   r§   r¬   r°   r´   r·   r»   r¾   Ú__static_attributes__r³   r&   r#   r   r      s®  † ñð €Dð �F€Mð 	�‰Ø�‰Ø�‰Ø�‰Ø×ÑØ×ÑØ�‰Ø�‰Ø�‰Ø�‰Ø�‰Ø�‰ð€Lð 	�‰Ø
�‰Ø
�‰Ø
�‰ð	Ðð "ÐØ$)Ð!Ø ™IÐØ ÐØÐ 5Ñ5Ðô<ô
ô+ô<ô3ô.ô=ð.Ø-ð.à	ô.ô>ô@ô.ô0Cô2ô
ôô,7ô
ô8ô

ô
6ð
à?ð
ð  ð
ð 
ô	
ð
Ø ð
Ø)9ð
à	ô
ô:ô<ô&ô
ô
ô
ôô
ô
÷&r&   r   N)Ú
__future__r   Ú"cryptography.hazmat.bindings._rustr   r   Ú$cryptography.hazmat.bindings.opensslr   Úcryptography.hazmat.primitivesr   Ú*cryptography.hazmat.primitives._asymmetricr   Ú)cryptography.hazmat.primitives.asymmetricr   r	   r’   Ú1cryptography.hazmat.primitives.asymmetric.paddingr
   r   r   r   Ú&cryptography.hazmat.primitives.ciphersr   Ú1cryptography.hazmat.primitives.ciphers.algorithmsr   Ú,cryptography.hazmat.primitives.ciphers.modesr   r   r   Úbackendr³   r&   r#   Ú<module>rã      sK   ðõ
 #å FÝ 8Ý 1Ý HÝ 8Ý I÷ó õõ÷÷S&ñ S&ñl ‹)�r&   