
     h	                        U 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gZdd	d
deee         ef         dedeee         ef         dedeeed	f         deeef         fdZdefdZ ed          Zeed<   d	S )    )	timedelta)AnyDictIterableUnion)api)ConfigurationError)load_certs_from_pemderinit_validation_context_kwargsparse_trust_configFN)retroactive_revinfotime_tolerancetrusttrust_replaceother_certsr   r   returnc                    t          |t                    s?|t          }n5t          |t                    rt          |          }nt	          d          d|i}|rd|d<   | rAt          | t
                    r| f} t          t          |                     }|r||d<   n||d<   |r7t          |t
                    r|f}t          t          |                    |d<   |S )	Nsecondsz5time-tolerance parameter must be specified in secondsr   Tr   trust_rootsextra_trust_rootsr   )
isinstancer   DEFAULT_TIME_TOLERANCEintr	   strlistr
   )r   r   r   r   r   	vc_kwargstrust_certss          P/var/www/html/Sam_Eipo/venv/lib/python3.11/site-packages/pyhanko/config/trust.pyr   r      s    ni00 !3NN,, 	&~>>>NN$G   "2> BI 0+/	'( 9eS!! 	HE1%8899 	9'2Im$$-8I)* Mk3'' 	)&.K#'(>{(K(K#L#L	-     c           
         t          j        dd|            t          |                     d          |                     dd          |                     d          |                     d|          |                     d|          	          S )
NValidationContext)r   trust-replaceother-certstime-toleranceretroactive-revinfozsigner-key-usagezsigner-extd-key-usagezsigner-key-usage-policyr   r#   Fr$   r%   r&   )r   r   r   r   r   )r   check_config_keysr   get)trust_configr   r   s      r   r   r   /   s     		
 	   *w''"&&>> $$]33#''(8.II(,,!#6
 
   r       r   r   )datetimer   typingr   r   r   r   pyhanko.configr   pyhanko.config.errorsr	   pyhanko.keysr
   __all__r   boolr   r   dictr   r   __annotations__ r    r   <module>r5      sR          - - - - - - - - - - - -       4 4 4 4 4 4 / / / / / /+-A
B !&26! ! !##$! ! x}c)*	!
 ! )S$./! 
#s(^! ! ! !H	   8 %.Ib$9$9$9 	 9 9 9 9 9r    