
    Wwg	                         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<   y	)    )	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                 b   t        |t              s1|t        }n(t        |t              rt        |      }nt	        d      d|i}|rd|d<   | r4t        | t
              r| f} t        t        |             }|r||d<   n||d<   |r*t        |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          K/var/www/horilla/myenv/lib/python3.12/site-packages/pyhanko/config/trust.pyr   r      s     ni0!3N,&~>N$G  "2> BI+/	'(eS!HE1%89'2Im$-8I)*k3'&.K#'(>{(K#L	-     c           
          t        j                  dd|        t        | j                  d      | j                  dd      | j                  d      | j                  d|      | j                  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#''(8.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      s     - -  4 /+-A
B !&26!##$! ! x}c)*	!
 ! )S$./! 
#s(^!H	8 %.b$9 	 9r    