U
    <g                     @   s   d dl mZmZ d dlmZ d dlmZ ddlmZm	Z	m
Z
 ddlmZ ddd	d
ddgZG dd	 d	eZG dd
 d
eZG dd deZG dd deZG dd deZG dd deZdS )    )OptionalType)DigestAlgorithmId)ObjectIdentifier   )AdESIndeterminate
AdESStatusAdESSubIndic)ValueErrorWithMessageSignatureValidationErrorDisallowedAlgorithmErrorValidationInfoReadingErrorNoDSSFoundErrorSigSeedValueValidationErrorCMSAlgorithmProtectionErrorc                   @   s   e Zd ZdZdS )r   zError reading validation info.N__name__
__module____qualname____doc__ r   r   B/tmp/pip-unpacked-wheel-w101_d3s/pyhanko/sign/validation/errors.pyr      s   c                       s   e Zd Z fddZ  ZS )r   c                    s   t  d d S )NzNo DSS found)super__init__self	__class__r   r   r      s    zNoDSSFoundError.__init__)r   r   r   r   __classcell__r   r   r   r   r      s   c                   @   s   e Zd ZdZdS )r   z1Error related to CMS algorithm protection checks.Nr   r   r   r   r   r      s   c                       sB   e Zd ZdZd	ee d fddZeee dddZ	  Z
S )
r   zError validating a signature.N)ades_subindicationc                    s,   || _ |rd||f }n|}t | d S )Nz%s [%s])r   r   r   )r   failure_messager   msgr   r   r   r   %   s
    z!SignatureValidationError.__init__)returnc                 C   s   | j d k	r| j jS d S )N)r   statusr   r   r   r   ades_status/   s    
z$SignatureValidationError.ades_status)N)r   r   r   r   r   r	   r   propertyr   r$   r   r   r   r   r   r   "   s    
c                       s.   e Zd Zdeeee  d fddZ  ZS )r   N)	permanentoid_typec                    s,   || _ |rtj}ntj}t j||d d S )N)r    r   )r'   r   ZCRYPTO_CONSTRAINTS_FAILUREZ!CRYPTO_CONSTRAINTS_FAILURE_NO_POEr   r   )r   r    r&   r'   Zsubindicr   r   r   r   7   s     z!DisallowedAlgorithmError.__init__)N)	r   r   r   boolr   r   r   r   r   r   r   r   r   r   6   s
    
c                   @   s   e Zd ZdZdS )r   z6Error validating a signature's seed value constraints.Nr   r   r   r   r   r   G   s   N)typingr   r   Zasn1crypto.algosr   Zasn1crypto.corer   Zades.reportr   r   r	   Zgeneralr
   __all__r   r   r   r   r   r   r   r   r   r   <module>   s"   
