
     hY                        d dl m Z  d dlmZmZmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZ  G d de          Z G d	 d
e          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z edd !          Z G d" d e          Z G d# d$e          Z G d% d&e          Z G d' d(e          Z G d) d*e          Z G d+ d,e          Z  G d- d.e          Z! G d/ d0e          Z" G d1 d2e!          Z# G d3 d4e          Z$ G d5 d6e          Z%d7S )8    )datetime)OptionalTypeTypeVar)	CRLReason)InvalidSignature)ValProcState)ValidationPathc                       e Zd ZdS )	PathErrorN__name__
__module____qualname__     X/var/www/html/Sam_Eipo/venv/lib/python3.11/site-packages/pyhanko_certvalidator/errors.pyr   r              Dr   r   c                       e Zd ZdS )PathBuildingErrorNr   r   r   r   r   r      r   r   r   c                       e Zd ZdS )CertificateFetchErrorNr   r   r   r   r   r      r   r   r   c                       e Zd ZdS )CRLValidationErrorNr   r   r   r   r   r      r   r   r   c                       e Zd ZdS )CRLNoMatchesErrorNr   r   r   r   r   r      r   r   r   c                       e Zd ZdS )CRLFetchErrorNr   r   r   r   r   r       r   r   r   c                   $    e Zd Zed             ZdS )CRLValidationIndeterminateErrorc                     | j         d         S N   argsselfs    r   failuresz(CRLValidationIndeterminateError.failures%       y|r   Nr   r   r   propertyr(   r   r   r   r    r    $   -          X  r   r    c                       e Zd ZdS )OCSPValidationErrorNr   r   r   r   r.   r.   *   r   r   r.   c                       e Zd ZdS )OCSPNoMatchesErrorNr   r   r   r   r0   r0   .   r   r   r0   c                   $    e Zd Zed             ZdS ) OCSPValidationIndeterminateErrorc                     | j         d         S r"   r$   r&   s    r   r(   z)OCSPValidationIndeterminateError.failures3   r)   r   Nr*   r   r   r   r2   r2   2   r,   r   r2   c                       e Zd ZdS )OCSPFetchErrorNr   r   r   r   r5   r5   8   r   r   r5   c                   $     e Zd Zdef fdZ xZS )ValidationErrormessagec                 X    || _         t                                          |           d S N)failure_msgsuper__init__)r'   r8   	__class__s     r   r=   zValidationError.__init__=   s)    "!!!!!r   )r   r   r   strr=   __classcell__r>   s   @r   r7   r7   <   sD        " " " " " " " " " " "r   r7   TPathErrPathValidationError)boundc            	       \     e Zd Zedee         dededefd            Zdedef fdZ	 xZ
S )rC   clsmsg
proc_statereturnc                      | ||          S N)rH   r   )rF   rG   rH   s      r   
from_statezPathValidationError.from_stateF   s     s3:....r   c                    |j         | _         |j        | _        |j        j        }|j        j        }||J || _        || _        t                                          |           d S r:   )	
is_ee_certis_side_validationcert_path_stackheadlastcurrent_pathoriginal_pathr<   r=   )r'   rG   rH   currentorigr>   s        r   r=   zPathValidationError.__init__L   sm    $/","?,1)."t'7'77,3-1r   )r   r   r   classmethodr   rB   r?   r	   rL   r=   r@   rA   s   @r   rC   rC   E   s        /(^/"%/3?/	/ / / [/
C           r   c            	       T     e Zd Zededededefd            Zdededef fdZ	 xZ
S )RevokedErrorreasonrevocation_dtrevinfo_typerH   c           
          |j         }|                    d          }|                    d          }| d|                                 d| d| d| d
}t          ||||          S )Nz%Y-%m-%dz%H:%M:%Sz indicates z was revoked at z on z	, due to .)human_friendlystrftimedescribe_certrY   )	rF   rZ   r[   r\   rH   
reason_strdatetimerG   s	            r   formatzRevokedError.formatX   s     *
%%j11%%j11 E E
(@(@(B(B E E"E E(,E E7AE E E 	 C
CCCr   c                 j    || _         || _        t                                          ||           d S rK   )rZ   r[   r<   r=   )r'   rG   rZ   r[   rH   r>   s        r   r=   zRevokedError.__init__i   s7     *44444r   )r   r   r   rW   r   r   r?   r	   re   r=   r@   rA   s   @r   rY   rY   W   s        DD  D 	D
 !D D D [D 	5 	5  		5
 !	5 	5 	5 	5 	5 	5 	5 	5 	5 	5r   rY   c                       e Zd ZdS )InsufficientRevinfoErrorNr   r   r   r   rh   rh   u   r   r   rh   c                       e Zd ZdS )InsufficientPOEErrorNr   r   r   r   rj   rj   y   r   r   rj   c                   H     e Zd Zededefd            Zdedef fdZ xZS )ExpiredError
expired_dtrH   c                ~    d|                                  d|                    d           }t          |||          S )N(The path could not be validated because z	 expired %Y-%m-%d %H:%M:%SZ)ra   r`   rl   )rF   rm   rH   rG   s       r   re   zExpiredError.format~   sU    ;'')); ;""#788; ; 	
 CZ888r   c                 \    || _         t                                          ||           d S rK   )rm   r<   r=   )r'   rG   rm   rH   r>   s       r   r=   zExpiredError.__init__   -    $44444r   	r   r   r   rW   r   r	   re   r=   r@   rA   s   @r   rl   rl   }   s}        9 9 !	9 9 9 [95 5l 5 5 5 5 5 5 5 5 5 5r   rl   c                   H     e Zd Zededefd            Zdedef fdZ xZS )NotYetValidError
valid_fromrH   c                ~    d|                                  d|                    d           }t          |||          S )Nro   z is not valid until rp   )ra   r`   ru   )rF   rv   rH   rG   s       r   re   zNotYetValidError.format   sU    ;'')); ;""#788; ; 	
  Z<<<r   c                 \    || _         t                                          ||           d S rK   )rv   r<   r=   )r'   rG   rv   rH   r>   s       r   r=   zNotYetValidError.__init__   rr   r   rs   rA   s   @r   ru   ru      s}        = = !	= = = [=5 5l 5 5 5 5 5 5 5 5 5 5r   ru   c                       e Zd ZdS )InvalidCertificateErrorNr   r   r   r   rz   rz      r   r   rz   c            
       n     e Zd Zdddee         f fdZe	 d	dededee         dd fd            Z	 xZ
S )
DisallowedAlgorithmErrorN)banned_sincer}   c                H    || _          t                      j        |i | d S r:   )r}   r<   r=   )r'   r}   r%   kwargsr>   s       r   r=   z!DisallowedAlgorithmError.__init__   s/     )$)&)))))r   rG   rH   rI   c                      | |||          S )N)r}   rH   r   )rF   rG   rH   r}   s       r   rL   z#DisallowedAlgorithmError.from_state   s     s3\jIIIIr   r:   )r   r   r   r   r   r=   rW   r?   r	   rL   r@   rA   s   @r   r|   r|      s        8<* * *#+H#5* * * * * * 
 ,0	J JJ !J x(	J
 
$J J J [J J J J Jr   r|   c                       e Zd ZdS )InvalidAttrCertificateErrorNr   r   r   r   r   r      r   r   r   c                       e Zd ZdS )PSSParameterMismatchNr   r   r   r   r   r      r   r   r   c                       e Zd ZdS )DSAParametersUnavailableNr   r   r   r   r   r      s         	Dr   r   N)&r   typingr   r   r   asn1crypto.crlr   cryptography.exceptionsr   pyhanko_certvalidator._stater	   pyhanko_certvalidator.pathr
   	Exceptionr   r   r   r   r   r   r    r.   r0   r2   r5   r7   rB   rC   rY   rh   rj   rl   ru   rz   r|   r   r   r   r   r   r   <module>r      s|         * * * * * * * * * * $ $ $ $ $ $ 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5	 	 	 	 		 	 	 		 	 	 	 		 	 	 		 	 	 	 	- 	 	 		 	 	 	 	 	 	 		 	 	 	 	* 	 	 		 	 	 	 	& 	 	 	    &8   	 	 	 	 	) 	 	 		 	 	 	 	, 	 	 	    ':   	 	 	 	 	( 	 	 	" " " " "i " " " 7:%:;;;    /   $5 5 5 5 5& 5 5 5<	 	 	 	 	2 	 	 		 	 	 	 	. 	 	 	5 5 5 5 5& 5 5 5(5 5 5 5 5* 5 5 5(	 	 	 	 	o 	 	 	J J J J J2 J J J"	 	 	 	 	"9 	 	 		 	 	 	 	+ 	 	 		 	 	 	 	/ 	 	 	 	 	r   