
    WwgC                         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	       G d
 dej                               Z ed	       G d dej                               Zy)    )	dataclass)ListOptional)x509)api)load_certs_from_pemderPKCS12SignatureConfigPemDerSignatureConfigT)frozenc                        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
       Z x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                     t         |   |       |j                  dd      }t        |t              r|f}t        t        |            |d<   	 |d   }||j                  d      |d<   y y # t        $ r Y y w xY w)Nr    r   utf8	superprocess_entriesget
isinstancestrlistr   encodeKeyErrorclsconfig_dictr   
passphrase	__class__s       P/var/www/horilla/myenv/lib/python3.12/site-packages/pyhanko/config/local_keys.pyr   z%PKCS12SignatureConfig.process_entries,       ,!oomR8k3'&.K%)*@*M%NM"	$%56J%0:0A0A&0I,- & 		   A+ +	A76A7)__name__
__module____qualname____doc__r   __annotations__r   r   r   r   Certificater   bytesr   boolr   classmethodr   __classcell__r"   s   @r#   r	   r	      su    
 M#48K$t//018&&*NHUO*+"t" J      c                        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       Z x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                     t         |   |       |j                  dd      }t        |t              r|f}t        t        |            |d<   	 |d   }||j                  d      |d<   y y # t        $ r Y y w xY w)Nr   r   r5   r   r   r   s       r#   r   z%PemDerSignatureConfig.process_entries\   r$   r%   )r&   r'   r(   r)   r   r*   r   r   r   r   r+   r5   r,   r   r-   r   r.   r   r/   r0   s   @r#   r
   r
   =   s}     MN48K$t//018&&*NHUO*0"t" J  r1   N)dataclassesr   typingr   r   
asn1cryptor   pyhanko.configr   pyhanko.keysr   __all__ConfigurableMixinr	   r
   r   r1   r#   <module>r>      sp    ! !   /  $*C11 * *Z $,C11 , ,r1   