U
    ¶[ÖeÞ  ã                   @   sÒ   d dl Z d dlmZ d dlmZ d dlmZ d dlmZm	Z	m
Z
 e je
jeje	jf Zdee je e je je e jej e jej f dœdd„Ze je e je e jej e je jej  ejed	œd
d„ZdS )é    N)Úx509)Ú_get_backend)Úserialization)ÚdsaÚecÚrsa)ÚdataÚpasswordÚreturnc                 C   s   t |ƒ}| | |¡S ©N)r   Z%load_key_and_certificates_from_pkcs12)r   r	   Úbackend© r   úu/var/www/html/services/stratfitenv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/pkcs12.pyÚload_key_and_certificates   s    r   )ÚnameÚkeyÚcertÚcasÚencryption_algorithmr
   c                 C   s¶   |d k	r&t |tjtjtjfƒs&tdƒ‚|d k	rBt |tj	ƒsBtdƒ‚|d k	rlt
|ƒ}tdd„ |D ƒƒsltdƒ‚t |tjƒs€tdƒ‚|d krœ|d krœ|sœtdƒ‚td ƒ}| | ||||¡S )Nz3Key must be RSA, DSA, or EllipticCurve private key.zcert must be a certificatec                 s   s   | ]}t |tjƒV  qd S r   )Ú
isinstancer   ÚCertificate)Ú.0Úvalr   r   r   Ú	<genexpr>4   s     z1serialize_key_and_certificates.<locals>.<genexpr>z&all values in cas must be certificateszFKey encryption algorithm must be a KeySerializationEncryption instancez1You must supply at least one of key, cert, or cas)r   r   ÚRSAPrivateKeyr   ÚDSAPrivateKeyr   ÚEllipticCurvePrivateKeyÚ	TypeErrorr   r   ÚlistÚallr   ÚKeySerializationEncryptionÚ
ValueErrorr   Z(serialize_key_and_certificates_to_pkcs12)r   r   r   r   r   r   r   r   r   Úserialize_key_and_certificates   s>    
ýþ ÿÿ    ÿr"   )N)ÚtypingZcryptographyr   Zcryptography.hazmat.backendsr   Zcryptography.hazmat.primitivesr   Z)cryptography.hazmat.primitives.asymmetricr   r   r   ÚUnionr   r   r   Z_ALLOWED_PKCS12_TYPESÚbytesÚOptionalÚTupler   ÚListr   ÚIterabler    r"   r   r   r   r   Ú<module>   s8   þÿ ÿ 

þÿþ
ú