o
    Df                     @   sZ   d Z ddlmZ ddlmZ ddlmZ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rsa)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   sf   t dtfd" tjt|t|t d| _t| jtj	s!tdW d    d S 1 s,w   Y  d S )NzInvalid private key: {0!r})errors)passwordbackendzNon-RSA keys are not supported.)
r   
ValueErrorr   load_pem_private_keyr   r   _key
isinstancer   RSAPrivateKey)selfkeyr    r   L/home/ubuntu/webapp/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padr   r   r   r      s   
$zPrivateKey.sign)N)__name__
__module____qualname____doc__r   r   r   r   r   r   r	      s    
r	   N)r#   cryptography.hazmat.backendsr   cryptography.hazmat.primitivesr   )cryptography.hazmat.primitives.asymmetricr   r   kombu.utils.encodingr   utilsr   __all__r	   r   r   r   r   <module>   s    