<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
3
lá˜_=  ã               @   sb   d dl mZmZm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 ddd„Zd	d
„ ZdS )é    )Úabsolute_importÚdivisionÚprint_function)Úx509)Ú_get_backend)Úserialization)ÚdsaÚecÚrsaNc             C   s   t |ƒ}|j| |ƒS )N)r   Z%load_key_and_certificates_from_pkcs12)ÚdataZpasswordÚbackend© r   ú/usr/lib64/python3.6/pkcs12.pyÚload_key_and_certificates   s    r   c             C   s¼   |d k	r(t |tjtjtjfƒ r(tdƒ‚|d k	rFt |tj	ƒ rFtdƒ‚|d k	rpt
|ƒ}tdd„ |D ƒƒsptdƒ‚t |tjƒs„tdƒ‚|d kr¢|d kr¢| r¢tdƒ‚td ƒ}|j| ||||ƒ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 )N)Ú
isinstancer   ÚCertificate)Ú.0Úvalr   r   r   ú	<genexpr>!   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
   ZRSAPrivateKeyWithSerializationr   ZDSAPrivateKeyWithSerializationr	   Z(EllipticCurvePrivateKeyWithSerializationÚ	TypeErrorr   r   ÚlistÚallr   ZKeySerializationEncryptionÚ
ValueErrorr   Z(serialize_key_and_certificates_to_pkcs12)ÚnameÚkeyZcertZcasZencryption_algorithmr   r   r   r   Úserialize_key_and_certificates   s*    

r   )N)Z
__future__r   r   r   Zcryptographyr   Zcryptography.hazmat.backendsr   Zcryptography.hazmat.primitivesr   Z)cryptography.hazmat.primitives.asymmetricr   r	   r
   r   r   r   r   r   r   Ú<module>   s   
