o
    wvXjl  ã                   @   sh   d Z ddlmZmZ ddlmZ ddlmZ ddlm	Z	 ddl
mZ ddlmZ d	ZG d
d„ deƒZdS )z)Private keys for the security serializer.é    )Úabsolute_importÚunicode_literals)Údefault_backend)Úserialization)Úpadding)Úensure_bytesé   )Úreraise_errors)Ú
PrivateKeyc                   @   s"   e Zd ZdZddd„Zdd„ ZdS )r
   zRepresents a private key.Nc                 C   sL   t dtfd�� tjt|ƒ|tƒ d�| _W d   ƒ d S 1 sw   Y  d S )NzInvalid private key: {0!r})Úerrors)ÚpasswordÚbackend)r	   Ú
ValueErrorr   Úload_pem_private_keyr   r   Ú_key)ÚselfÚkeyr   © r   úP/var/www/html/myproject/venv/lib/python3.10/site-packages/celery/security/key.pyÚ__init__   s   ÿ
ý"ýzPrivateKey.__init__c                 C   sX   t dƒ� tjt |¡tjjd�}| j t|ƒ||¡W  d  ƒ S 1 s%w   Y  dS )zSign string containing data.zUnable to sign data: {0!r})ÚmgfÚsalt_lengthN)r	   r   ÚPSSÚMGF1Ú
MAX_LENGTHr   Úsignr   )r   ÚdataÚdigestÚpaddr   r   r   r      s   
þ$úzPrivateKey.sign)N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   r
      s    
	r
   N)r"   Ú
__future__r   r   Úcryptography.hazmat.backendsr   Úcryptography.hazmat.primitivesr   Ú)cryptography.hazmat.primitives.asymmetricr   Úkombu.utils.encodingr   Úutilsr	   Ú__all__Úobjectr
   r   r   r   r   Ú<module>   s   