U §Ãq`Þã@sÒddlZddlmZddlmZddlmZddlmZm Z m Z ej e j ej e jfZd eejeejejeejejejejfdœdd„Zejeejeejejejejejejed œd d „ZdS) éN)Úx509)Ú _get_backend)Ú serialization)ÚdsaÚecÚrsa)ÚdataÚpasswordÚreturncCst|ƒ}| ||¡S©N)rZ%load_key_and_certificates_from_pkcs12)rr Úbackend©r úZ/tmp/pip-target-nv4zd3e_/lib/python/cryptography/hazmat/primitives/serialization/pkcs12.pyÚload_key_and_certificatessr)ÚnameÚkeyÚcertÚcasÚencryption_algorithmr cCs¶|dk r&t|tjtjtjfƒs&tdƒ‚|dk rBt|tj ƒsBtdƒ‚|dk rlt |ƒ}t dd„|Dƒƒsltdƒ‚t|t j ƒs€tdƒ‚|dkrœ|dkrœ|sœtdƒ‚tdƒ}| |||||¡S)Nz3Key must be RSA, DSA, or EllipticCurve private key.zcert must be a certificatecss|]}t|tjƒVqdSr )Ú isinstancerÚ Certificate)Ú.0Úvalr r rÚ 4sz1serialize_key_and_certificates..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)rrÚ RSAPrivateKeyrÚ DSAPrivateKeyrÚEllipticCurvePrivateKeyÚ TypeErrorrrÚlistÚallrÚKeySerializationEncryptionÚ ValueErrorrZ(serialize_key_and_certificates_to_pkcs12)rrrrrr r r rÚserialize_key_and_certificatess> ýþÿÿÿr")N)ÚtypingZ cryptographyrZcryptography.hazmat.backendsrZcryptography.hazmat.primitivesrZ)cryptography.hazmat.primitives.asymmetricrrrÚUnionrrrZ_ALLOWED_PKCS12_TYPESÚbytesÚOptionalÚTuplerÚListrÚIterabler r"r r r rÚs8   þÿÿ  þÿþ  ú