a a!@sddlZddlZddlZddlmZddlmZddlmZej ej ej ej ej fZGdddeZGdddejd ZGd d d eZGd d d eZGdddeZGdddeZGdddeZGdddeZGdddeZdS)N) parseaddr)Name)ObjectIdentifierc@s eZdZdS)UnsupportedGeneralNameTypeN)__name__ __module__ __qualname__r r D/usr/lib64/python3.9/site-packages/cryptography/x509/general_name.pyrsrc@s"eZdZejejdddZdS) GeneralNamereturncCsdS)z0 Return the value of the object Nr selfr r r valueszGeneralName.valueN)rrrabcabstractpropertytypingAnyrr r r r r sr ) metaclassc@s~eZdZeddddZeedddZeedddd Zedd d Z e e d d dZ e e d ddZ edddZdS) RFC822NameNrr cCsdt|tr6z|dWq>ty2tdYq>0ntdt|\}}|sR|sZtd||_dS)NasciizRFC822Name values should be passed as an A-label string. This means unicode characters should be encoded via a library like idna.value must be stringzInvalid rfc822name value) isinstancestrencodeUnicodeEncodeError ValueError TypeErrorr_value)rrnameaddressr r r __init__$s    zRFC822Name.__init__r cCs|jSNr rr r r r9szRFC822Name.valuecCs||}||_|Sr$__new__r clsrinstancer r r _init_without_validation=s z#RFC822Name._init_without_validationcCs d|jS)Nzformatrrr r r __repr__CszRFC822Name.__repr__otherr cCst|tstS|j|jkSr$)rrNotImplementedrrr0r r r __eq__Fs zRFC822Name.__eq__cCs ||k Sr$r r2r r r __ne__LszRFC822Name.__ne__cCs t|jSr$hashrrr r r __hash__OszRFC822Name.__hash__rrrrr#propertyr classmethodr+r.objectboolr3r4intr7r r r r r#src@s~eZdZeddddZeedddZeedddd Zedd d Z e e d d dZ e e d ddZ edddZdS)DNSNameNrcCsHt|tr6z|dWq>ty2tdYq>0ntd||_dS)Nrz~DNSName values should be passed as an A-label string. This means unicode characters should be encoded via a library like idna.rrrrrrrr rrr r r r#Ts   zDNSName.__init__r cCs|jSr$r%rr r r rcsz DNSName.valuecCs||}||_|Sr$r&r(r r r r+gs z DNSName._init_without_validationcCs d|jS)Nzr,rr r r r.mszDNSName.__repr__r/cCst|tstS|j|jkSr$)rr>r1rr2r r r r3ps zDNSName.__eq__cCs ||k Sr$r r2r r r r4vszDNSName.__ne__cCs t|jSr$r5rr r r r7yszDNSName.__hash__r8r r r r r>Ssr>c@s~eZdZeddddZeedddZeedddd Zedd d Z e e d d dZ e e d ddZ edddZdS)UniformResourceIdentifierNrcCsHt|tr6z|dWq>ty2tdYq>0ntd||_dS)NrzzURI values should be passed as an A-label string. This means unicode characters should be encoded via a library like idna.rr?r@r r r r#~s   z"UniformResourceIdentifier.__init__r cCs|jSr$r%rr r r rszUniformResourceIdentifier.valuecCs||}||_|Sr$r&r(r r r r+s z2UniformResourceIdentifier._init_without_validationcCs d|jS)Nz(r,rr r r r.sz"UniformResourceIdentifier.__repr__r/cCst|tstS|j|jkSr$)rrAr1rr2r r r r3s z UniformResourceIdentifier.__eq__cCs ||k Sr$r r2r r r r4sz UniformResourceIdentifier.__ne__cCs t|jSr$r5rr r r r7sz"UniformResourceIdentifier.__hash__r8r r r r rA}srAc@sjeZdZeddddZeedddZeddd Ze e d d d Z e e d d dZ e dddZdS) DirectoryNameNrcCst|tstd||_dS)Nzvalue must be a Name)rrrr r@r r r r#s zDirectoryName.__init__r cCs|jSr$r%rr r r rszDirectoryName.valuecCs d|jS)Nzr,rr r r r.szDirectoryName.__repr__r/cCst|tstS|j|jkSr$)rrBr1rr2r r r r3s zDirectoryName.__eq__cCs ||k Sr$r r2r r r r4szDirectoryName.__ne__cCs t|jSr$r5rr r r r7szDirectoryName.__hash__)rrrrr#r9rrr.r;r<r3r4r=r7r r r r rBsrBc@sjeZdZeddddZeedddZeddd Ze e d d d Z e e d d dZ e dddZdS) RegisteredIDNrcCst|tstd||_dS)Nz!value must be an ObjectIdentifier)rrrr r@r r r r#s zRegisteredID.__init__r cCs|jSr$r%rr r r rszRegisteredID.valuecCs d|jS)Nzr,rr r r r.szRegisteredID.__repr__r/cCst|tstS|j|jkSr$)rrCr1rr2r r r r3s zRegisteredID.__eq__cCs ||k Sr$r r2r r r r4szRegisteredID.__ne__cCs t|jSr$r5rr r r r7szRegisteredID.__hash__)rrrrr#r9rrr.r;r<r3r4r=r7r r r r rCsrCc@sxeZdZeddddZeedddZeddd Ze dd d Z e e d d dZ e e d ddZedddZdS) IPAddressNrcCs,t|tjtjtjtjfs"td||_dS)Nzzvalue must be an instance of ipaddress.IPv4Address, ipaddress.IPv6Address, ipaddress.IPv4Network, or ipaddress.IPv6Network)r ipaddress IPv4Address IPv6Address IPv4Network IPv6Networkrr r@r r r r#s zIPAddress.__init__r cCs|jSr$r%rr r r rszIPAddress.valuecCs4t|jtjtjfr|jjS|jjj|jjjSdSr$)rrrErFrGpackednetwork_addressnetmaskrr r r _packeds zIPAddress._packedcCs d|jS)Nzr,rr r r r.szIPAddress.__repr__r/cCst|tstS|j|jkSr$)rrDr1rr2r r r r3s zIPAddress.__eq__cCs ||k Sr$r r2r r r r4 szIPAddress.__ne__cCs t|jSr$r5rr r r r7 szIPAddress.__hash__)rrr_IPADDRESS_TYPESr#r9rbytesrMrr.r;r<r3r4r=r7r r r r rDs rDc@s~eZdZeeddddZeedddZeeddd Ze dd d Z e e d d dZ e e d ddZedddZdS) OtherNameN)type_idrr cCs4t|tstdt|ts$td||_||_dS)Nz#type_id must be an ObjectIdentifierzvalue must be a binary string)rrrrO_type_idr )rrQrr r r r#s   zOtherName.__init__r cCs|jSr$)rRrr r r rQszOtherName.type_idcCs|jSr$r%rr r r rszOtherName.valuecCsd|j|jS)Nz#)r-rQrrr r r r."szOtherName.__repr__r/cCs&t|tstS|j|jko$|j|jkSr$)rrPr1rQrr2r r r r3's zOtherName.__eq__cCs ||k Sr$r r2r r r r4-szOtherName.__ne__cCst|j|jfSr$)r6rQrrr r r r70szOtherName.__hash__)rrrrrOr#r9rQrrr.r;r<r3r4r=r7r r r r rPs rP)rrErZ email.utilsrZcryptography.x509.namerZcryptography.x509.oidrUnionrFrGrHrIrN ExceptionrABCMetar rr>rArBrCrDrPr r r r s*   0*,1