
    Wwg                     |   d dl m Z  d dlmZ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& G d7 d8e	      Z'y9):    )datetime)ListOptionalTypeTypeVar)	CRLReason)InvalidSignature)ValProcState)ValidationPathc                       e Zd Zy)	PathErrorN__name__
__module____qualname__     S/var/www/horilla/myenv/lib/python3.12/site-packages/pyhanko_certvalidator/errors.pyr   r          r   r   c                       e Zd Zy)PathBuildingErrorNr   r   r   r   r   r      r   r   r   c                       e Zd Zy)CertificateFetchErrorNr   r   r   r   r   r      r   r   r   c                       e Zd Zy)CRLValidationErrorNr   r   r   r   r   r      r   r   r   c                       e Zd Zy)CRLNoMatchesErrorNr   r   r   r   r   r      r   r   r   c                       e Zd Zy)CRLFetchErrorNr   r   r   r   r   r       r   r   r   c                   <     e Zd Z	 ddedee   dee   f fdZ xZS )CRLValidationIndeterminateErrormsgfailuressuspect_stalec                 P    || _         || _        || _        t        |   ||       y Nr"   r#   r$   super__init__selfr"   r#   r$   	__class__s       r   r)   z(CRLValidationIndeterminateError.__init__%   *      *h'r   r&   	r   r   r   strr   r   r   r)   __classcell__r,   s   @r   r!   r!   $   7    
 -1		(	( s)	(  )		( 	(r   r!   c                       e Zd Zy)OCSPValidationErrorNr   r   r   r   r4   r4   1   r   r   r4   c                       e Zd Zy)OCSPNoMatchesErrorNr   r   r   r   r6   r6   5   r   r   r6   c                   <     e Zd Z	 ddedee   dee   f fdZ xZS ) OCSPValidationIndeterminateErrorr"   r#   r$   c                 P    || _         || _        || _        t        |   ||       y r&   r'   r*   s       r   r)   z)OCSPValidationIndeterminateError.__init__:   r-   r   r&   r.   r1   s   @r   r8   r8   9   r2   r   r8   c                       e Zd Zy)OCSPFetchErrorNr   r   r   r   r;   r;   F   r   r   r;   c                   $     e Zd Zdef fdZ xZS )ValidationErrormessagec                 2    || _         t        | 	  |       y r&   )failure_msgr(   r)   )r+   r>   r,   s     r   r)   zValidationError.__init__K   s    "!r   )r   r   r   r/   r)   r0   r1   s   @r   r=   r=   J   s    " " "r   r=   TPathErrPathValidationError)boundc            	       P     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 )rB   clsr"   
proc_statereturnc                      | ||      S N)rF   r   )rE   r"   rF   s      r   
from_statezPathValidationError.from_stateT   s     3:..r   c                    |j                   | _         |j                  | _        |j                  j                  }|j                  j                  }||J || _        || _        t        | !  |       y r&   )	
is_ee_certis_side_validationcert_path_stackheadlastcurrent_pathoriginal_pathr(   r)   )r+   r"   rF   currentorigr,   s        r   r)   zPathValidationError.__init__Z   sn    $//","?"?,,11)).."t'777,3-1r   )r   r   r   classmethodr   rA   r/   r
   rJ   r)   r0   r1   s   @r   rB   rB   S   sQ    /(^/"%/3?/	/ /
C   r   c            	       N     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_typerF   c           
          |j                   }|j                  d      }|j                  d      }| d|j                          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_certrW   )	rE   rX   rY   rZ   rF   
reason_strdatetimer"   s	            r   formatzRevokedError.formatf   s{     **
%%j1%%j1nK
(@(@(B'C D"V4vYzl!E 	 C
CCr   c                 D    || _         || _        t        |   ||       y rI   )rX   rY   r(   r)   )r+   r"   rX   rY   rF   r,   s        r   r)   zRevokedError.__init__w   s&     *4r   )r   r   r   rU   r   r   r/   r
   rc   r)   r0   r1   s   @r   rW   rW   e   si    DD  D 	D
 !D D 	5 	5  		5
 !	5 	5r   rW   c                       e Zd Zy)InsufficientRevinfoErrorNr   r   r   r   rf   rf      r   r   rf   c                   J     e Zd Zedededefd       Zdededef fdZ xZ	S )StaleRevinfoErrorr"   time_cutoffrF   c                     t        |||      S r&   )rh   )rE   r"   ri   rF   s       r   rc   zStaleRevinfoError.format   s     !k:>>r   c                 6    || _         t        | 	  ||       y rI   )ri   r(   r)   )r+   r"   ri   rF   r,   s       r   r)   zStaleRevinfoError.__init__   s     '4r   )
r   r   r   rU   r/   r   r
   rc   r)   r0   r1   s   @r   rh   rh      sS    ?? ? !	? ?55%-5;G5 5r   rh   c                       e Zd Zy)InsufficientPOEErrorNr   r   r   r   rm   rm      r   r   rm   c                   B     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_dtrF   c                f    d|j                          d|j                  d       }t        |||      S )N(The path could not be validated because z	 expired %Y-%m-%d %H:%M:%SZ)r_   r^   ro   )rE   rp   rF   r"   s       r   rc   zExpiredError.format   sE     7'')*)""#789; 	
 CZ88r   c                 6    || _         t        | 	  ||       y rI   )rp   r(   r)   )r+   r"   rp   rF   r,   s       r   r)   zExpiredError.__init__       $4r   	r   r   r   rU   r   r
   rc   r)   r0   r1   s   @r   ro   ro      sA    9 9 !	9 95 5l 5 5r   ro   c                   B     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_fromrF   c                f    d|j                          d|j                  d       }t        |||      S )Nrr   z is not valid until rs   )r_   r^   rx   )rE   ry   rF   r"   s       r   rc   zNotYetValidError.format   sF     7'')**>""#789; 	
  Z<<r   c                 6    || _         t        | 	  ||       y rI   )ry   r(   r)   )r+   r"   ry   rF   r,   s       r   r)   zNotYetValidError.__init__   ru   r   rv   r1   s   @r   rx   rx      sA    = = !	= =5 5l 5 5r   rx   c                       e Zd Zy)InvalidCertificateErrorNr   r   r   r   r}   r}      r   r   r}   c            
       \     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                2    || _         t        |   |i | y r&   )r   r(   r)   )r+   r   argskwargsr,   s       r   r)   z!DisallowedAlgorithmError.__init__   s     )$)&)r   r"   rF   rG   c                      | |||      S )N)r   rF   r   )rE   r"   rF   r   s       r   rJ   z#DisallowedAlgorithmError.from_state   s     3\jIIr   r&   )r   r   r   r   r   r)   rU   r/   r
   rJ   r0   r1   s   @r   r   r      sb    8<*#+H#5* 
 ,0	JJ !J x(	J
 
$J Jr   r   c                       e Zd Zy)InvalidAttrCertificateErrorNr   r   r   r   r   r      r   r   r   c                       e Zd Zy)PSSParameterMismatchNr   r   r   r   r   r      r   r   r   c                       e Zd Zy)DSAParametersUnavailableNr   r   r   r   r   r      s     	r   r   N)(r   typingr   r   r   r   asn1crypto.crlr   cryptography.exceptionsr	   pyhanko_certvalidator._stater
   pyhanko_certvalidator.pathr   	Exceptionr   r   r   r   r   r   r!   r4   r6   r8   r;   r=   rA   rB   rW   rf   rh   rm   ro   rx   r}   r   r   r   r   r   r   r   <module>r      s\    0 0 $ 4 5 5		 			 		- 		 		* 		& 	
(&8 
(	) 		, 	
(': 
(	( 	"i " :%:;/ $5& 5<	2 	50 5"	. 	5& 5(5* 5(	o 	J2 J"	"9 		+ 		/ 	r   