
    hM                     ^    d Z ddlZddlmZ ddlZddlmZ ddlm	Z	m
Z
 dZd	dZed
d       Zy)z1Utilities used by the message signing serializer.    N)contextmanager)hashes)SecurityErrorreraise)get_digest_algorithmreraise_errorsc                 P    | J  t        t        | j                                      S )z6Convert string to hash object of cryptography library.)getattrr   upper)digests    Q/var/www/Befach/backend/env/lib/python3.12/site-packages/celery/security/utils.pyr   r      s&    *766<<>*,,    c           	   #      K   |t         j                  fn|}	 d y# |$ rH}t        t        t        | j	                  |            t        j                         d          Y d}~yd}~ww xY ww)z8Context reraising crypto errors as :exc:`SecurityError`.N   )cryptography
exceptionsr   r   formatsysexc_info)msgerrorsexcs      r   r   r      s`      ,2>l%%'vF# #cjjo.q!	# 	##s*   A. A.A+>A&!A.&A++A.)sha256)z{0!r}N)__doc__r   
contextlibr   cryptography.exceptionsr   cryptography.hazmat.primitivesr   celery.exceptionsr   r   __all__r   r    r   r   <module>r!      s5    7 
 %  1 4
5- # #r   