o
    vh	                     @   s   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dZdefddZed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                 C   s   t |ts|d u rt}nt |trt|d}ntdd|i}|r%d|d< | r@t | tr/| f} tt| }|r<||d< n||d< |rRt |trJ|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_certs r   R/var/www/html/hyperkenya/venv/lib/python3.10/site-packages/pyhanko/config/trust.pyr
      s.   




c              	   C   sD   t dd|  t| d| 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   r   r   r   r   /   s   


   r   r   )datetimer   typingr   r   r   r   pyhanko.configr   pyhanko.config.errorsr   pyhanko.keysr	   __all__r   boolr   r
   dictr   r   __annotations__r   r   r   r   <module>   s2    

$
