U
    d                     @   sV   d 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
ZdS )z)Private keys for the security serializer.    )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   s6   t dtfd tjt||t d| _W 5 Q R X d S )NzInvalid private key: {0!r})errors)passwordbackend)r   
ValueErrorr   Zload_pem_private_keyr   r   _key)selfkeyr
    r   7/tmp/pip-unpacked-wheel-9cz4377o/celery/security/key.py__init__   s     zPrivateKey.__init__c              
   C   sL   t d: tjt|tjjd}| jt|||W  5 Q R  S Q R X dS )zSign string containing data.zUnable to sign data: {0!r})ZmgfZsalt_lengthN)r   r   ZPSSZMGF1Z
MAX_LENGTHr   signr   )r   datadigestZpaddr   r   r   r      s    
zPrivateKey.sign)N)__name__
__module____qualname____doc__r   r   r   r   r   r   r      s   
	r   N)r   Zcryptography.hazmat.backendsr   Zcryptography.hazmat.primitivesr   Z)cryptography.hazmat.primitives.asymmetricr   Zkombu.utils.encodingr   utilsr   __all__r   r   r   r   r   <module>   s   