o
    vhB                     @   s   d dl mZ d dlmZmZ d dlmZ d dlmZ d dl	m
Z
 ddgZedd	G d
d dejZedd	G dd dejZdS )    )	dataclass)ListOptional)x509)api)load_certs_from_pemderPKCS12SignatureConfigPemDerSignatureConfigT)frozenc                       sv   e Zd ZU dZeed< 	 dZeee	j
  ed< 	 dZee ed< 	 dZeed< 	 dZeed	< 	 e fd
dZ  ZS )r   zf
    Configuration for a signature using key material on disk, contained
    in a PKCS#12 bundle.
    pfx_fileNother_certspfx_passphraseTprompt_passphraseF
prefer_pssc                    x   t  | |dd}t|tr|f}tt||d< z|d }|d ur/|d|d< W d S W d S  ty;   Y d S w )Nr    r   utf8	superprocess_entriesget
isinstancestrlistr   encodeKeyErrorclsconfig_dictr   
passphrase	__class__r   W/var/www/html/hyperkenya/venv/lib/python3.10/site-packages/pyhanko/config/local_keys.pyr   +      
z%PKCS12SignatureConfig.process_entries)__name__
__module____qualname____doc__r   __annotations__r   r   r   r   Certificater   bytesr   boolr   classmethodr   __classcell__r   r   r    r"   r      s   
 c                       s   e Zd ZU dZeed< 	 eed< 	 dZeee	j
  ed< 	 dZee ed< 	 dZeed< 	 d	Zeed
< 	 e fddZ  ZS )r	   zV
    Configuration for a signature using PEM or DER-encoded key material on disk.
    key_file	cert_fileNr   key_passphraseTr   Fr   c                    r   )Nr   r   r0   r   r   r   r    r   r"   r   [   r#   z%PemDerSignatureConfig.process_entries)r$   r%   r&   r'   r   r(   r   r   r   r   r)   r0   r*   r   r+   r   r,   r   r-   r   r   r    r"   r	   <   s    
 N)dataclassesr   typingr   r   
asn1cryptor   pyhanko.configr   pyhanko.keysr   __all__ConfigurableMixinr   r	   r   r   r   r"   <module>   s    -