HEX
Server: Apache
System: Linux 185.122.168.184.host.secureserver.net 5.14.0-570.60.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Nov 5 05:00:59 EST 2025 x86_64
User: barbeatleanalyti (1024)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //var/opt/nydus/ops/cryptography/hazmat/primitives/serialization/__pycache__/pkcs7.cpython-39.pyc
a

�,�h��@s�ddlZddlmZddlmZddlmZmZddlmZm	Z	ddl
mZeej
ejd�dd	�Zeej
ejd�d
d�Zej
ejejed�d
d�ZejejejejejejfZeje	jejfZGdd�dej�ZGdd�d�ZdS)�N)�utils)�x509)�hashes�
serialization)�ec�rsa)�_check_byteslike��data�returncCsddlm}|�|�S�Nr��backend)�,cryptography.hazmat.backends.openssl.backendr�load_pem_pkcs7_certificates�r
r�r�e/opt/nydus/tmp/pip-target-wkfpz8uv/lib64/python/cryptography/hazmat/primitives/serialization/pkcs7.pyrsrcCsddlm}|�|�Sr)rr�load_der_pkcs7_certificatesrrrrrsr)�certs�encodingrcCsddlm}|�||�Sr)rrZpkcs7_serialize_certificates)rrrrrr�serialize_certificatessrc@s$eZdZdZdZdZdZdZdZdS)�PKCS7OptionszAdd text/plain MIME typez5Don't translate input data into canonical MIME formatz'Don't embed data in the PKCS7 structurezDon't embed SMIME capabilitiesz#Don't embed authenticatedAttributeszDon't embed signer certificateN)	�__name__�
__module__�__qualname__�Text�Binary�DetachedSignature�NoCapabilities�NoAttributesZNoCertsrrrrr0src@s�eZdZdggfejeejejej	e
efejej	d�dd�Zedd�dd�Z
ej	e
edd�d	d
�Zej	dd�dd
�Zdejejeejed�dd�ZdS)�PKCS7SignatureBuilderN)r
�signers�additional_certscCs||_||_||_dS�N)�_data�_signers�_additional_certs)�selfr
r"r#rrr�__init__:szPKCS7SignatureBuilder.__init__r	cCs(td|�|jdurtd��t||j�S)Nr
zdata may only be set once)rr%�
ValueErrorr!r&)r(r
rrr�set_dataJs

zPKCS7SignatureBuilder.set_data)�certificate�private_key�hash_algorithmrcCsnt|tjtjtjtjtjf�s&td��t|tj	�s:td��t|t
jtj
f�sTtd��t|j|j|||fg�S)NzLhash_algorithm must be one of hashes.SHA1, SHA224, SHA256, SHA384, or SHA512�&certificate must be a x509.Certificatez.Only RSA & EC keys are supported at this time.)�
isinstancer�SHA1�SHA224�SHA256�SHA384�SHA512�	TypeErrorr�Certificater�
RSAPrivateKeyr�EllipticCurvePrivateKeyr!r%r&)r(r,r-r.rrr�
add_signerQs,��
���z PKCS7SignatureBuilder.add_signer)r,rcCs,t|tj�std��t|j|j|j|g�S)Nr/)r0rr7r6r!r%r&r')r(r,rrr�add_certificaters
�z%PKCS7SignatureBuilder.add_certificate)r�optionsrrcCs�t|j�dkrtd��|jdur(td��t|�}tdd�|D��sJtd��|tjjtjj	tjj
fvrltd��tj|vr�tj
|vr�td��tj|vr�|tjj	tjjfvr�td	��tj|vr�tj|vr�td
��ddlm}|�|||�S)NrzMust have at least one signerzYou must add data to signcss|]}t|t�VqdSr$)r0r)�.0�xrrr�	<genexpr>��z-PKCS7SignatureBuilder.sign.<locals>.<genexpr>z*options must be from the PKCS7Options enumz1Must be PEM, DER, or SMIME from the Encoding enumzAWhen passing the Text option you must also pass DetachedSignaturez9The Text option is only available for SMIME serializationzFNoAttributes is a superset of NoCapabilities. Do not pass both values.r
)�lenr&r*r%�list�allr�EncodingZPEMZDERZSMIMErrrr rrrZ
pkcs7_sign)r(rr<rZosslrrr�sign|sL
����������zPKCS7SignatureBuilder.sign)N)rrr�typing�Optional�bytes�List�Tuplerr7�_ALLOWED_PRIVATE_KEY_TYPES�_ALLOWED_PKCS7_HASH_TYPESr)r+r:r;rrD�Iterabler�AnyrErrrrr!9s>����
�	�"���r!) rFZcryptographyrrZcryptography.hazmat.primitivesrrZ)cryptography.hazmat.primitives.asymmetricrrZcryptography.utilsrrHrIr7rrrDr�Unionr1r2r3r4r5rLr8r9rK�Enumrr!rrrr�<module>s0
�	��
�