U q` @sddlZddlZddlZddlmZddlmZddlmZddl m Z dddd d d d d dd Z Gddde Z GdddejdZGdddeZGdddeZGdddeZGdddeZGdddeZGdd d eZGd!d"d"eZdS)#N) parseaddr)utils)Name)ObjectIdentifierZ otherNameZ rfc822NameZdNSNameZ x400AddressZ directoryNameZ ediPartyNameZuniformResourceIdentifierZ iPAddressZ registeredID) rcseZdZfddZZS)UnsupportedGeneralNameTypecstt||||_dSN)superr__init__type)selfmsgr __class__E/tmp/pip-target-nv4zd3e_/lib/python/cryptography/x509/general_name.pyrsz#UnsupportedGeneralNameType.__init__)__name__ __module__ __qualname__r __classcell__rrrrrsrc@seZdZejddZdS) GeneralNamecCsdS)z0 Return the value of the object Nrrrrrvalue$szGeneralName.valueN)rrrabcabstractpropertyrrrrrr#sr) metaclassc@sleZdZedddZedZeddZ eddd Z e e d d d Z e e d d dZedddZdS) RFC822NamercCsft|tr8z|dWq@tk r4tdYq@Xntdt|\}}|sT|s\td||_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)rrnameaddressrrrr,s   zRFC822Name.__init__r-cCs||}||_|Sr__new__r-clsrinstancerrr_init_without_validationCs z#RFC822Name._init_without_validationreturncCs d|jS)Nzformatrrrrr__repr__IszRFC822Name.__repr__otherr7cCst|tstS|j|jkSr)r'r#NotImplementedrrr<rrr__eq__Ls zRFC822Name.__eq__cCs ||k Srrr>rrr__ne__RszRFC822Name.__ne__cCs t|jSrhashrrrrr__hash__UszRFC822Name.__hash__Nrrrr(rrread_only_propertyr classmethodr5r:objectboolr?r@intrCrrrrr#+s  r#c@sfeZdZedddZedZeddZ ddZ e e d d d Z e e d d d ZedddZdS)DNSNamer$cCsJt|tr8z|dWq@tk r4tdYq@Xntd||_dS)Nr%z~DNSName values should be passed as an A-label string. This means unicode characters should be encoded via a library like idna.r&r'r(r)r*r+r,r-rrrrrrZs  zDNSName.__init__r-cCs||}||_|Srr0r2rrrr5ks z DNSName._init_without_validationcCs d|jS)Nzr8rrrrr:qszDNSName.__repr__r;cCst|tstS|j|jkSr)r'rJr=rr>rrrr?ts zDNSName.__eq__cCs ||k Srrr>rrrr@zszDNSName.__ne__r6cCs t|jSrrArrrrrC}szDNSName.__hash__NrDrrrrrJYs  rJc@sleZdZedddZedZeddZ eddd Z e e d d d Z e e d d dZedddZdS)UniformResourceIdentifierr$cCsJt|tr8z|dWq@tk r4tdYq@Xntd||_dS)Nr%zzURI values should be passed as an A-label string. This means unicode characters should be encoded via a library like idna.r&rKrLrrrrs  z"UniformResourceIdentifier.__init__r-cCs||}||_|Srr0r2rrrr5s z2UniformResourceIdentifier._init_without_validationr6cCs d|jS)Nz(r8rrrrr:sz"UniformResourceIdentifier.__repr__r;cCst|tstS|j|jkSr)r'rMr=rr>rrrr?s z UniformResourceIdentifier.__eq__cCs ||k Srrr>rrrr@sz UniformResourceIdentifier.__ne__cCs t|jSrrArrrrrCsz"UniformResourceIdentifier.__hash__NrDrrrrrMs  rMc@s`eZdZedddZedZedddZ e e dd d Z e e dd d Z edd dZdS) DirectoryNamer$cCst|tstd||_dS)Nzvalue must be a Name)r'rr,r-rLrrrrs zDirectoryName.__init__r-r6cCs d|jS)Nzr8rrrrr:szDirectoryName.__repr__r;cCst|tstS|j|jkSr)r'rNr=rr>rrrr?s zDirectoryName.__eq__cCs ||k Srrr>rrrr@szDirectoryName.__ne__cCs t|jSrrArrrrrCszDirectoryName.__hash__N)rrrrrrrErr(r:rGrHr?r@rIrCrrrrrNs  rNc@s`eZdZedddZedZedddZ e e dd d Z e e dd d Z edd dZdS) RegisteredIDr$cCst|tstd||_dS)Nz!value must be an ObjectIdentifier)r'rr,r-rLrrrrs zRegisteredID.__init__r-r6cCs d|jS)Nzr8rrrrr:szRegisteredID.__repr__r;cCst|tstS|j|jkSr)r'rOr=rr>rrrr?s zRegisteredID.__eq__cCs ||k Srrr>rrrr@szRegisteredID.__ne__cCs t|jSrrArrrrrCszRegisteredID.__hash__N)rrrrrrrErr(r:rGrHr?r@rIrCrrrrrOs  rOc@sveZdZejejejejej fdddZ e dZ edddZeedd d Zeedd d Zedd dZdS) IPAddressr$cCs,t|tjtjtjtjfs"td||_dS)Nzzvalue must be an instance of ipaddress.IPv4Address, ipaddress.IPv6Address, ipaddress.IPv4Network, or ipaddress.IPv6Network)r' ipaddress IPv4Address IPv6Address IPv4Network IPv6Networkr,r-rLrrrrs  zIPAddress.__init__r-r6cCs d|jS)Nzr8rrrrr:szIPAddress.__repr__r;cCst|tstS|j|jkSr)r'rPr=rr>rrrr?s zIPAddress.__eq__cCs ||k Srrr>rrrr@szIPAddress.__ne__cCs t|jSrrArrrrrCszIPAddress.__hash__N)rrrtypingUnionrQrRrSrTrUrrrErr(r:rGrHr?r@rIrCrrrrrPs  rPc@sleZdZeedddZedZedZ e dddZ e e d d d Ze e d d d ZedddZdS) OtherName)type_idrcCs4t|tstdt|ts$td||_||_dS)Nz#type_id must be an ObjectIdentifierzvalue must be a binary string)r'rr,bytes_type_idr-)rrYrrrrr s   zOtherName.__init__r[r-r6cCsd|j|jS)Nz#)r9rYrrrrrr:szOtherName.__repr__r;cCs&t|tstS|j|jko$|j|jkSr)r'rXr=rYrr>rrrr?s zOtherName.__eq__cCs ||k Srrr>rrrr@ szOtherName.__ne__cCst|j|jfSr)rBrYrrrrrrC#szOtherName.__hash__N)rrrrrZrrrErYrr(r:rGrHr?r@rIrCrrrrrXs  rX)r rQrV email.utilsrZ cryptographyrZcryptography.x509.namerZcryptography.x509.oidrZ_GENERAL_NAMES ExceptionrABCMetarr#rJrMrNrOrPrXrrrrs2     .((-