§
    ¥”jÿ  ã                   ó®   — d dl mZ d dlmZmZmZ d dlmZ ddlm	Z	 g d¢Z
d„ Zdefd	„Zd
„ Zdee         dej        fd„Zdedee         dej        fd„ZdS )é    )ÚOptional)ÚkeysÚpemÚx509)Úserializationé   )Ú'translate_pyca_cryptography_key_to_asn1)Úload_cert_from_pemderÚload_certs_from_pemderÚload_certs_from_pemder_dataÚload_private_key_from_pemderÚ!load_private_key_from_pemder_datac              #   ó¶   K  — | D ]S}t          |d¦  «        5 }|                     ¦   «         }ddd¦  «         n# 1 swxY w Y   t          |¦  «        E d{V —† ŒTdS )zæ
    A convenience function to load PEM/DER-encoded certificates from files.

    :param cert_files:
        An iterable of file names.
    :return:
        A generator producing :class:`.asn1crypto.x509.Certificate` objects.
    ÚrbN)ÚopenÚreadr   )Ú
cert_filesÚ	cert_fileÚfÚcert_data_bytess       úb/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/pyhanko/keys/pemder.pyr   r      s·   è è € ð  ð @ð @ˆ	Ý�)˜TÑ"Ô"ð 	' aØŸfšf™hœhˆOð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'å.¨Ñ?Ô?Ð?Ð?Ð?Ð?Ð?Ð?Ð?Ð?ð@ð @s   —8¸<	¿<	r   c              #   ó,  K  — t          j        | ¦  «        r\t          j        | d¬¦  «        }|D ]A\  }}}|�|                     ¦   «         dk    r!t          j                             |¦  «        V — ŒBdS t          j                             | ¦  «        V — dS )a  
    A convenience function to load PEM/DER-encoded certificates from
    binary data.

    :param cert_data_bytes:
        ``bytes`` object from which to extract certificates.
    :return:
        A generator producing :class:`.asn1crypto.x509.Certificate` objects.
    T)ÚmultipleNÚcertificate)r   ÚdetectÚunarmorÚlowerr   ÚCertificateÚload)r   ÚpemsÚ	type_nameÚ_Úders        r   r   r       s«   è è € õ „z�/Ñ"Ô"ð 5ÝŒ{˜?°TÐ:Ñ:Ô:ˆØ!%ð 	1ð 	1ÑˆI�q˜#ØÐ  I§O¢OÑ$5Ô$5¸Ò$FÐ$FÝÔ&×+Ò+¨CÑ0Ô0Ð0Ð0Ð0øð	1ð 	1õ
 Ô×#Ò# OÑ4Ô4Ð4Ð4Ð4Ð4Ð4ó    c                 ó˜   — t          t          | g¦  «        ¦  «        }t          |¦  «        dk    rt          d| › d�¦  «        ‚|d         S )zÐ
    A convenience function to load a single PEM/DER-encoded certificate
    from a file.

    :param cert_file:
        A file name.
    :return:
        An :class:`.asn1crypto.x509.Certificate` object.
    r   zNumber of certs in z should be exactly 1r   )Úlistr   ÚlenÚ
ValueError)r   Úcertss     r   r
   r
   7   sN   € õ Õ'¨¨Ñ4Ô4Ñ5Ô5€EÝ
ˆ5�z„z�Q‚€ÝÐN¨yÐNÐNÐNÑOÔOÐOØ�Œ8€Or$   Ú
passphraseÚreturnc                 óœ   — t          | d¦  «        5 }|                     ¦   «         }ddd¦  «         n# 1 swxY w Y   t          ||¬¦  «        S )a  
    A convenience function to load PEM/DER-encoded keys from files.

    :param key_file:
        File to read the key from.
    :param passphrase:
        Key passphrase.
    :return:
        A private key encoded as an unencrypted PKCS#8 PrivateKeyInfo object.
    r   N)r*   )r   r   r   )Úkey_filer*   r   Ú	key_bytess       r   r   r   G   s†   € õ 
ˆh˜Ñ	Ô	ð  Ø—F’F‘H”Hˆ	ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å,¨YÀ:ÐNÑNÔNÐNs   ‘2²6¹6r.   c                 óŽ   — t          j        | ¦  «        rt          j        nt          j        }t           || |¬¦  «        ¦  «        S )a  
    A convenience function to load PEM/DER-encoded keys from binary data.

    :param key_bytes:
        ``bytes`` object to read the key from.
    :param passphrase:
        Key passphrase.
    :return:
        A private key encoded as an unencrypted PKCS#8 PrivateKeyInfo object.
    )Úpassword)r   r   r   Úload_pem_private_keyÚload_der_private_keyr	   )r.   r*   Úload_funs      r   r   r   Y   sO   € õ Œ:�iÑ Ô ð	0�Ô*Ð*åÔ/ð õ
 3Øˆ� ZÐ0Ñ0Ô0ñô ð r$   N)Útypingr   Ú
asn1cryptor   r   r   Úcryptography.hazmat.primitivesr   Úinternalr	   Ú__all__r   Úbytesr   r
   ÚPrivateKeyInfor   r   © r$   r   ú<module>r<      s  ðØ Ð Ð Ð Ð Ð à &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8à =Ð =Ð =Ð =Ð =Ð =ðð ð €ð@ð @ð @ð5°ð 5ð 5ð 5ð 5ð.ð ð ð OØ" 5œ/ðOà	ÔðOð Oð Oð Oð$ØðØ"*¨5¤/ðà	Ôðð ð ð ð ð r$   