403Webshell
Server IP : 192.158.238.246  /  Your IP : 3.144.105.204
Web Server : LiteSpeed
System : Linux uniform.iwebfusion.net 4.18.0-553.27.1.lve.1.el8.x86_64 #1 SMP Wed Nov 20 15:58:00 UTC 2024 x86_64
User : jenniferflocom ( 1321)
PHP Version : 8.1.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/lib/python3.6/site-packages/asn1crypto/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3.6/site-packages/asn1crypto/__pycache__/pem.cpython-36.pyc
3

@�Z�@s�dZddlmZmZmZmZddlZddlZddlZddl	m
Z
ddlmZ
mZmZejdkrlddlmZndd	lmZd
d�Zddd
�Zdd�Zddd�ZdS)zq
Encoding DER to PEM and decoding PEM to DER. Exports the following items:

 - armor()
 - detect()
 - unarmor()

�)�unicode_literals�division�absolute_import�print_functionN�)�unwrap)�	type_name�str_cls�byte_cls�)�StringIO)�BytesIOcCs8t|t�sttdt|����|jd�dkp6|jd�dkS)z�
    Detect if a byte string seems to contain a PEM-encoded block

    :param byte_string:
        A byte string to look through

    :return:
        A boolean, indicating if a PEM-encoded block is contained in the byte
        string
    zC
            byte_string must be a byte string, not %s
            s
-----BEGINrs
---- BEGIN���r)�
isinstancer
�	TypeErrorr�
_type_name�find)Zbyte_string�r�/usr/lib/python3.6/pem.py�detects

rcCs4t|t�sttdt|����t|t�s:ttdt|����|j�jd�}t�}|j	d�|j	|�|j	d�|r�xD|D]<}|j	|jd��|j	d�|j	||jd��|j	d�qvW|j	d�t
j|�}t|�}d}x6||k�r|j	|||d	��|j	d�|d	7}q�W|j	d
�|j	|�|j	d�|j
�S)a

    Armors a DER-encoded byte string in PEM

    :param type_name:
        A unicode string that will be capitalized and placed in the header
        and footer of the block. E.g. "CERTIFICATE", "PRIVATE KEY", etc. This
        will appear as "-----BEGIN CERTIFICATE-----" and
        "-----END CERTIFICATE-----".

    :param der_bytes:
        A byte string to be armored

    :param headers:
        An OrderedDict of the header lines to write after the BEGIN line

    :return:
        A byte string of the PEM block
    zA
            der_bytes must be a byte string, not %s
            zD
            type_name must be a unicode string, not %s
            �asciis-----BEGIN s-----
s: �
r�@s	-----END )rr
rrrr	�upper�encoder
�write�base64Z	b64encode�len�getvalue)r�	der_bytes�headers�output�keyZ	b64_bytesZb64_len�irrr�armor2s<












r$c
cs8t|t�sttdt|����d}i}d}d}d}d}x�|jd�D]�}|dkrNq@|dkr�tjd|�}|shq@|jd�j	d�}d	}d
}q@|d
kr�|j
d�dkr�d}n(|j	d�}	|	jd
d�\}
}|j�||
<q@|dkr@|dd�dk�rt
j|�}|||fVd}i}d}d}d	}q@||7}q@W|�s(|�r4ttd���dS)ax
    Convert a PEM-encoded byte string into one or more DER-encoded byte strings

    :param pem_bytes:
        A byte string of the PEM-encoded data

    :raises:
        ValueError - when the pem_bytes do not appear to be PEM-encoded bytes

    :return:
        A generator of 3-element tuples in the format: (object_type, headers,
        der_bytes). The object_type is a unicode string of what is between
        "-----BEGIN " and "-----". Examples include: "CERTIFICATE",
        "PUBLIC KEY", "PRIVATE KEY". The headers is a dict containing any lines
        in the form "Name: Value" that are right after the begin line.
    zA
            pem_bytes must be a byte string, not %s
            Ztrash�NFs1^(?:---- |-----)BEGIN ([A-Z0-9 ]+)(?: ----|-----)rrTr �:Zbody�:r��-----�---- z|
            pem_bytes does not appear to contain PEM-encoded data - no
            BEGIN/END combination found
            r)r)r*)rr
rrr�
splitlines�re�match�group�decoder�split�striprZ	b64decode�
ValueError)
�	pem_bytes�stater Zbase64_dataZobject_typeZfound_startZ	found_end�lineZtype_name_matchZdecoded_line�name�valuerrrr�_unarmorpsT


r8FcCst|�}|st|�S|S)a�
    Convert a PEM-encoded byte string into a DER-encoded byte string

    :param pem_bytes:
        A byte string of the PEM-encoded data

    :param multiple:
        If True, function will return a generator

    :raises:
        ValueError - when the pem_bytes do not appear to be PEM-encoded bytes

    :return:
        A 3-element tuple (object_name, headers, der_bytes). The object_name is
        a unicode string of what is between "-----BEGIN " and "-----". Examples
        include: "CERTIFICATE", "PUBLIC KEY", "PRIVATE KEY". The headers is a
        dict containing any lines in the form "Name: Value" that are right
        after the begin line.
    )r8�next)r3Zmultiple�	generatorrrr�unarmor�sr;)r)N)F)�__doc__Z
__future__rrrrrr,�sysZ_errorsrZ_typesrrr	r
�version_infoZ	cStringIOrr
�iorr$r8r;rrrr�<module>
s

>T

Youez - 2016 - github.com/yon3zu
LinuXploit