HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //usr/lib/python3/dist-packages/cryptography/hazmat/__pycache__/_der.cpython-38.pyc
U

�e�]U�@s�ddlmZmZmZddlZddlmZmZdZdZ	dZ
dZdZd	Z
d
ZdeBZdeBZd
ZdZdZGdd�de�Zdd�Zdd�ZdS)�)�absolute_import�division�print_functionN)�int_from_bytes�int_to_bytes� �����������c@sleZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZdS)�	DERReadercCst|�|_dS�N)�
memoryview�data)�selfr�r�:/usr/lib/python3/dist-packages/cryptography/hazmat/_der.py�__init__$szDERReader.__init__cCs|Srr�rrrr�	__enter__'szDERReader.__enter__cCs|dkr|��dSr)�check_empty)r�exc_type�	exc_value�tbrrr�__exit__*szDERReader.__exit__cCst|j�dkS�Nr)�lenrrrrr�is_empty.szDERReader.is_emptycCs|��std��dS)Nz Invalid DER input: trailing data)r$�
ValueErrorrrrrr1szDERReader.check_emptycCs8t|j�dkrtd��t�|jd�}|jdd�|_|S)N��$Invalid DER input: insufficient datar)r#rr%�six�
indexbytes)r�retrrr�	read_byte5s
zDERReader.read_bytecCs8t|j�|krtd��|jd|�}|j|d�|_|S)Nr')r#rr%)r�nr*rrr�
read_bytes<s
zDERReader.read_bytescCs�|��}|d@dkrtd��|��}|d@dkr6|}n^|dM}|dkrNtd��d}t|�D](}|dK}||��O}|dkrZtd��qZ|dkr�td��|�|�}|t|�fS)	N�z-Invalid DER input: unexpected high tag numberrr�z?Invalid DER input: indefinite length form is not allowed in DER�z3Invalid DER input: length was not minimally-encoded)r+r%�ranger-r)r�tagZlength_byte�length�i�bodyrrr�read_any_elementCs2���
zDERReader.read_any_elementcCs |��\}}||krtd��|S)Nz!Invalid DER input: unexpected tag)r6r%)r�expected_tagr2r5rrr�read_elementgszDERReader.read_elementc
Cs&|�|�|�W5QR�SQRXdSr)r8�rr7rrr�read_single_elementmszDERReader.read_single_elementcCs.t|j�dkr*t�|jd�|kr*|�|�SdSr")r#rr(r)r8r9rrr�read_optional_elementqs 
zDERReader.read_optional_elementcCs|t|j�dkrtd��t�|jd�}|d@dkr8td��t|j�dkrpt�|jd�}|dkrp|d@dkrptd��t|jd�S)Nrz)Invalid DER input: empty integer contentsrz'Negative DER integers are not supportedr&z0Invalid DER input: integer not minimally-encodedZbig)r#rr%r(r)r)r�first�secondrrr�
as_integervs�zDERReader.as_integerN)�__name__�
__module__�__qualname__rrr!r$rr+r-r6r8r:r;r>rrrrr#s$rcCs>t|tj�std��|dkr$td��|��dd}t||�S)NzValue must be an integerrz#Negative integers are not supportedr0r&)�
isinstancer(Z
integer_typesr%�
bit_lengthr)�xr,rrr�encode_der_integer�srEcGs~d}|D]}|t|�7}qt�|�g}|dkr@|�t�|��n*t|�}|�t�dt|�B��|�|�|�|�d�|�S)Nrr�)r#r(Zint2byte�appendr�extend�join)r2Zchildrenr3ZchildZchunksZlength_bytesrrr�
encode_der�s

rJ)Z
__future__rrrr(Zcryptography.utilsrrZCONSTRUCTEDZCONTEXT_SPECIFICZINTEGERZ
BIT_STRINGZOCTET_STRINGZNULLZOBJECT_IDENTIFIERZSEQUENCEZSETZPRINTABLE_STRINGZUTC_TIMEZGENERALIZED_TIME�objectrrErJrrrr�<module>s"d