관리-도구
편집 파일: name.cpython-39.opt-1.pyc
a �����aE(����������������������@���s(��U�d�dl�Z�d�dlZd�dlmZ�d�dlmZ�d�dlmZm Z �G�dd��dej �Zdd��eD��Ze ��ZejejejejejejejejejejejejiZe�je ef�Zejd ejd ejdejdejd ejdej dejdej!di Z"ee#d<�eed�dd�Z$G�dd��de �Z%G�dd��de �Z&G�dd��de �Z'dS�)�����N)�utils)�x509)�NameOID�ObjectIdentifierc�������������������@���s4���e�Zd�ZdZdZdZdZdZdZdZ dZ d Zd ZdS�)� _ASN1Type����������������������������������������N) �__name__� __module__�__qualname__� UTF8StringZ NumericString�PrintableStringZ T61String� IA5StringZUTCTimeZGeneralizedTimeZ VisibleStringZUniversalStringZ BMPString��r���r����</usr/lib64/python3.9/site-packages/cryptography/x509/name.pyr������s���r���c�����������������C���s���i�|�]}|j�|�qS�r���)�value��.0�ir���r���r���� <dictcomp>��������r���ZCN�LZST�OZOU�CZSTREETZDCZUID�_NAMEOID_TO_NAME)�val�returnc�����������������C���s����|�sdS�|���dd�}�|���dd�}�|���dd�}�|���dd �}�|���d d�}�|���dd �}�|���dd�}�|���dd�}�|�d�dv�r|d|��}�|�d�dkr�|�dd��d�}�|�S�)z>Escape special characters in RFC4514 Distinguished Name value.���\z\\�"z\"�+z\+�,z\,�;z\;�<z\<�>z\>��z\00r���)�#� ���r/���Nz\ )�replace)r#���r���r���r����_escape_dn_value9���s����r2���c�������������������@���s����e�Zd�Zefdd�eedd�dd�Zeed�dd ��Zeed�d d��Z eed�dd ��Z deje �ed�dd�Zeed�dd�Zeed�dd�Zed�dd�Zed�dd�ZdS�)� NameAttributeT)� _validateN)�oidr���r$���c����������������C���s����t�|t�std��t�|t�s$td��|tjks8|tjkr|t|�d��}|dkr`|du�r`t d��n|dkr|t jd�|�dd��|t kr�t�|tj�}t�|t�s�td ��||�_||�_||�_d�S�) Nz2oid argument must be an ObjectIdentifier instance.zvalue argument must be a str.�utf8����Tz/Country name must be a 2 character country codezUCountry names should be two characters, but the attribute is {} characters in length.)� stacklevelz%_type must be from the _ASN1Type enum)� isinstancer���� TypeError�strr����COUNTRY_NAME�JURISDICTION_COUNTRY_NAME�len�encode� ValueError�warnings�warn�format� _SENTINEL�_NAMEOID_DEFAULT_TYPE�getr���r����_oid�_value�_type)�selfr5���r���rI���r4���Zc_lenr���r���r����__init__R���s:���� � ����� zNameAttribute.__init__�r$���c�����������������C���s���|�j�S��N)rG����rJ���r���r���r���r5�������s����zNameAttribute.oidc�����������������C���s���|�j�S�rM���)rH���rN���r���r���r���r�������s����zNameAttribute.valuec�����������������C���s���t��|�j|�jj�S�)zt The short attribute name (for example "CN") if available, otherwise the OID dotted string. )r"���rF���r5���Z dotted_stringrN���r���r���r����rfc4514_attribute_name����s����z$NameAttribute.rfc4514_attribute_name��attr_name_overridesr$���c�����������������C���s4���|r|��|�j�nd}|du�r"|�j}d|t|�j�f�S�)z� Format as RFC4514 Distinguished Name string. Use short attribute name if available, otherwise fall back to OID dotted string. Nz%s=%s)rF���r5���rO���r2���r���)rJ���rQ���Z attr_namer���r���r����rfc4514_string����s ���� �zNameAttribute.rfc4514_string��otherr$���c�����������������C���s&���t�|t�stS�|�j|jko$|�j|jkS�rM���)r9���r3����NotImplementedr5���r����rJ���rT���r���r���r����__eq__����s���� zNameAttribute.__eq__c�����������������C���s ���|�|k�S�rM���r���rV���r���r���r����__ne__����s����zNameAttribute.__ne__c�����������������C���s���t�|�j|�jf�S�rM���)�hashr5���r���rN���r���r���r����__hash__����s����zNameAttribute.__hash__c�����������������C���s ���d��|��S�)Nz/<NameAttribute(oid={0.oid}, value={0.value!r})>)rC���rN���r���r���r����__repr__����s����zNameAttribute.__repr__)N)r���r���r���rD���r���r;���rK����propertyr5���r���rO����typing�Optional�_OidNameMaprR����object�boolrW���rX����intrZ���r[���r���r���r���r���r3���Q���s.������0���r3���c�������������������@���s����e�Zd�Zeje�d�dd�Zeeje�d�dd�Z dej e�ed�d d �Z eed�dd �Zeed�dd�Zed�dd�Zeje�d�dd�Zed�dd�Zed�dd�ZdS�)�RelativeDistinguishedName)� attributesc�����������������C���s\���t�|�}|std��tdd��|D���s.td��||�_t|�|�_t|�j�t|�krXtd��d�S�)Nz-a relative distinguished name cannot be emptyc�����������������s���s���|�]}t�|t�V��qd�S�rM����r9���r3����r����xr���r���r���� <genexpr>����r���z5RelativeDistinguishedName.__init__.<locals>.<genexpr>z/attributes must be an iterable of NameAttributez$duplicate attributes are not allowed)�listr@����allr:����_attributes� frozenset�_attribute_setr>����rJ���rd���r���r���r���rK�������s���� z"RelativeDistinguishedName.__init__�r5���r$���c��������������������s�����fdd�|�D��S�)Nc��������������������s���g�|�]}|j���kr|�qS�r����r5���r���rp���r���r���� <listcomp>����r���zDRelativeDistinguishedName.get_attributes_for_oid.<locals>.<listcomp>r����rJ���r5���r���rp���r����get_attributes_for_oid����s����z0RelativeDistinguishedName.get_attributes_for_oidNrP���c��������������������s���d����fdd�|�jD���S�)z� Format as RFC4514 Distinguished Name string. Within each RDN, attributes are joined by '+', although that is rarely used in certificates. r(���c�����������������3���s���|�]}|�����V��qd�S�rM����rR����r����attr�rQ���r���r���rh�������s����z;RelativeDistinguishedName.rfc4514_string.<locals>.<genexpr>)�joinrk����rJ���rQ���r���rw���r���rR�������s���� �z(RelativeDistinguishedName.rfc4514_stringrS���c�����������������C���s���t�|t�stS�|�j|jkS�rM���)r9���rc���rU���rm���rV���r���r���r���rW�������s���� z RelativeDistinguishedName.__eq__c�����������������C���s ���|�|k�S�rM���r���rV���r���r���r���rX�������s����z RelativeDistinguishedName.__ne__rL���c�����������������C���s ���t�|�j�S�rM���)rY���rm���rN���r���r���r���rZ�������s����z"RelativeDistinguishedName.__hash__c�����������������C���s ���t�|�j�S�rM���)�iterrk���rN���r���r���r����__iter__����s����z"RelativeDistinguishedName.__iter__c�����������������C���s ���t�|�j�S�rM���)r>���rk���rN���r���r���r����__len__����s����z!RelativeDistinguishedName.__len__c�����������������C���s���d��|�����S�)Nz<RelativeDistinguishedName({})>)rC���rR���rN���r���r���r���r[�������s����z"RelativeDistinguishedName.__repr__)N)r���r���r���r]����Iterabler3���rK���r����Listrs���r^���r_���r;���rR���r`���ra���rW���rX���rb���rZ����Iteratorr{���r|���r[���r���r���r���r���rc�������s�������rc���c�������������������@���s��e�Zd�Zejeje�dd�dd��Zejeje�dd�dd��Zejej eef��dd�dd�Zd ej e�ed�dd �Z eeje�d �dd�Zeeje�d �dd��Zd!ejed�dd�Zeed�dd�Zeed�dd�Zed �dd�Zeje�d �dd�Zed �dd�Zed �dd�ZdS�)"�NameN)rd���r$���c�����������������C���s���d�S�rM���r���rn���r���r���r���rK�������s����z Name.__init__c�����������������C���s���d�S�rM���r���rn���r���r���r���rK�������s����c�����������������C���s`���t�|�}tdd��|D���r,dd��|D��|�_n0tdd��|D���rTt�tjt�|�|�_ntd��d�S�)Nc�����������������s���s���|�]}t�|t�V��qd�S�rM���re���rf���r���r���r���rh�������r���z Name.__init__.<locals>.<genexpr>c�����������������S���s���g�|�]}t�t�t|�g��qS�r���)rc���r]����castr3���rf���r���r���r���rq�������s����z!Name.__init__.<locals>.<listcomp>c�����������������s���s���|�]}t�|t�V��qd�S�rM���)r9���rc���rf���r���r���r���rh�����r���zNattributes must be a list of NameAttribute or a list RelativeDistinguishedName)ri���rj���rk���r]���r����r~���rc���r:���rn���r���r���r���rK�������s����� ��rP���c��������������������s���d����fdd�t|�j�D���S�)a��� Format as RFC4514 Distinguished Name string. For example 'CN=foobar.com,O=Foo Corp,C=US' An X.509 name is a two-level structure: a list of sets of attributes. Each list element is separated by ',' and within each list element, set elements are separated by '+'. The latter is almost never used in real world certificates. According to RFC4514 section 2.1 the RDNSequence must be reversed when converting to string representation. r)���c�����������������3���s���|�]}|�����V��qd�S�rM���rt���ru���rw���r���r���rh�����s����z&Name.rfc4514_string.<locals>.<genexpr>)rx����reversedrk���ry���r���rw���r���rR�����s���� �zName.rfc4514_stringro���c��������������������s�����fdd�|�D��S�)Nc��������������������s���g�|�]}|j���kr|�qS�r���rp���r���rp���r���r���rq���!��r���z/Name.get_attributes_for_oid.<locals>.<listcomp>r���rr���r���rp���r���rs�����s����zName.get_attributes_for_oidrL���c�����������������C���s���|�j�S�rM����rk���rN���r���r���r����rdns#��s����z Name.rdns)�backendr$���c�����������������C���s ���t��|��S�rM���)� rust_x509Zencode_name_bytes)rJ���r����r���r���r����public_bytes'��s����zName.public_bytesrS���c�����������������C���s���t�|t�stS�|�j|jkS�rM���)r9���r����rU���rk���rV���r���r���r���rW���*��s���� zName.__eq__c�����������������C���s ���|�|k�S�rM���r���rV���r���r���r���rX���0��s����zName.__ne__c�����������������C���s���t�t|�j��S�rM���)rY����tuplerk���rN���r���r���r���rZ���3��s����z Name.__hash__c�����������������c���s ���|�j�D�]}|D�] }|V��qqd�S�rM���r����)rJ����rdnZavar���r���r���r{���8��s���� z Name.__iter__c�����������������C���s���t�dd��|�jD���S�)Nc�����������������s���s���|�]}t�|�V��qd�S�rM���)r>���)r���r����r���r���r���rh���>��r���zName.__len__.<locals>.<genexpr>)�sumrk���rN���r���r���r���r|���=��s����zName.__len__c�����������������C���s ���d��dd��|�jD���}d�|�S�)Nr)���c�����������������s���s���|�]}|����V��qd�S�rM���rt���ru���r���r���r���rh���A��r���z Name.__repr__.<locals>.<genexpr>z <Name({})>)rx���rk���rC���)rJ���r����r���r���r���r[���@��s����z Name.__repr__)N)N) r���r���r���r]����overloadr}���r3���rK���rc����Unionr^���r_���r;���rR���r���r~���rs���r\���r�����Any�bytesr����r`���ra���rW���rX���rb���rZ���r���r{���r|���r[���r���r���r���r���r��������s8����������r����)(r]���rA���Zcryptographyr���Z"cryptography.hazmat.bindings._rustr���r����Zcryptography.x509.oidr���r����Enumr���Z_ASN1_TYPE_TO_ENUMr`���rD���r<���r���r=���Z SERIAL_NUMBERZDN_QUALIFIERZ EMAIL_ADDRESSr���ZDOMAIN_COMPONENTrE����Mappingr;���r_���ZCOMMON_NAMEZ LOCALITY_NAMEZSTATE_OR_PROVINCE_NAMEZORGANIZATION_NAMEZORGANIZATIONAL_UNIT_NAMEZSTREET_ADDRESSZUSER_IDr"����__annotations__r2���r3���rc���r����r���r���r���r����<module>���s:��� � � b8