pgddlZddlZddlZddlmZddlmZddlmZej ej ej ej ej fZGddeZGddej ZGd d eZGd d eZGddeZGddeZGddeZGddeZGddeZdS)N) parseaddr)Name)ObjectIdentifierceZdZdS)UnsupportedGeneralNameTypeN)__name__ __module__ __qualname__@/usr/lib/python3/dist-packages/cryptography/x509/general_name.pyrrsDr rc>eZdZejdejfdZdS) GeneralNamereturncdS)z0 Return the value of the object Nr selfs r valuezGeneralName.valuesr N)rr r abcabstractpropertytypingAnyrr r r rrs? vz      r r) metaclassceZdZdeddfdZedefdZededdfdZdefdZ de de fd Z de fd ZdS) RFC822NamerrNct|tr4 |dn,#t$rt dwxYwt dt |\}}|s|st d||_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)rrnameaddresss r __init__zRFC822Name.__init__$s eS ! ! 4  W%%%%%    + 233 3!%(( g  9w 9788 8 -Ac|jSNr%rs r rzRFC822Name.value9 {r c>||}||_|Sr+__new__r%clsrinstances r _init_without_validationz#RFC822Name._init_without_validation=;;s##r c6d|jS)Nzformatrrs r __repr__zRFC822Name.__repr__C*11$*===r othercZt|tstS|j|jkSr+)rrNotImplementedrrr;s r __eq__zRFC822Name.__eq__Fs)%,, "! !zU[((r c*t|jSr+hashrrs r __hash__zRFC822Name.__hash__LDJr rr r r r(propertyr classmethodr4r9objectboolr?intrCr r r rr#scd*sXS\[ >#>>>>)F)t))))  #      r rceZdZdeddfdZedefdZededdfdZdefdZ de de fd Z de fd ZdS) DNSNamerrNct|tr4 |dn,#t$rt dwxYwt d||_dS)Nrz~DNSName values should be passed as an A-label string. This means unicode characters should be encoded via a library like idna.rrr r!r"r#r$r%rrs r r(zDNSName.__init__Q| eS ! ! 4  W%%%%%    + 233 3 r)c|jSr+r,rs r rz DNSName.value`r-r c>||}||_|Sr+r/r1s r r4z DNSName._init_without_validationdr5r c6d|jS)Nzr7rs r r9zDNSName.__repr__js'..tz:::r r;cZt|tstS|j|jkSr+)rrLr=rr>s r r?zDNSName.__eq__ms)%)) "! !zU[((r c*t|jSr+rArs r rCzDNSName.__hash__srDr rEr r r rLrLPs c d    sXSY[ ;#;;;;)F)t))))  #      r rLceZdZdeddfdZedefdZededdfdZdefdZ de de fd Z de fd ZdS) UniformResourceIdentifierrrNct|tr4 |dn,#t$rt dwxYwt d||_dS)NrzzURI values should be passed as an A-label string. This means unicode characters should be encoded via a library like idna.rrNrOs r r(z"UniformResourceIdentifier.__init__xrPr)c|jSr+r,rs r rzUniformResourceIdentifier.valuer-r c>||}||_|Sr+r/r1s r r4z2UniformResourceIdentifier._init_without_validations!;;s##r c6d|jS)Nz(r7rs r r9z"UniformResourceIdentifier.__repr__s9@@LLLr r;cZt|tstS|j|jkSr+)rrWr=rr>s r r?z UniformResourceIdentifier.__eq__s*%!:;; "! !zU[((r c*t|jSr+rArs r rCz"UniformResourceIdentifier.__hash__rDr rEr r r rWrWws c d    sX $[M#MMMM)F)t))))  #      r rWcbeZdZdeddfdZedefdZdefdZde de fdZ de fd Z dS) DirectoryNamerrNc\t|tstd||_dS)Nzvalue must be a Name)rrr$r%rOs r r(zDirectoryName.__init__s.%&& 4233 3 r c|jSr+r,rs r rzDirectoryName.valuer-r c6d|jS)Nzr7rs r r9zDirectoryName.__repr__r:r r;cZt|tstS|j|jkSr+)rr_r=rr>s r r?zDirectoryName.__eq__s)%// "! !zU[((r c*t|jSr+rArs r rCzDirectoryName.__hash__rDr )rr r rr(rFrr r9rHrIr?rJrCr r r r_r_sdt tX>#>>>>)F)t))))  #      r r_cbeZdZdeddfdZedefdZdefdZde de fdZ de fd Z dS) RegisteredIDrrNc\t|tstd||_dS)Nz!value must be an ObjectIdentifier)rrr$r%rOs r r(zRegisteredID.__init__s0%!122 A?@@ @ r c|jSr+r,rs r rzRegisteredID.valuer-r c6d|jS)Nzr7rs r r9zRegisteredID.__repr__s)00<<s r r?zRegisteredID.__eq__s)%.. "! !zU[((r c*t|jSr+rArs r rCzRegisteredID.__hash__rDr )rr r rr(rFrr r9rHrIr?rJrCr r r rfrfs.4 'X=#====)F)t))))  #      r rfcneZdZdeddfdZedefdZdefdZde fdZ de de fd Z defd ZdS) IPAddressrrNct|tjtjtjtjfst d||_dS)Nzzvalue must be an instance of ipaddress.IPv4Address, ipaddress.IPv6Address, ipaddress.IPv4Network, or ipaddress.IPv6Network)r ipaddress IPv4Address IPv6Address IPv4Network IPv6Networkr$r%rOs r r(zIPAddress.__init__sZ %%%%    (   r c|jSr+r,rs r rzIPAddress.valuer-r ct|jtjtjfr |jjS|jjj|jjjzSr+)rrrorprqpackednetwork_addressnetmaskrs r _packedzIPAddress._packedsR  J. 0EF   :$ $ *1DJ4F4MM r c6d|jS)Nzr7rs r r9zIPAddress.__repr__s&--dj999r r;cZt|tstS|j|jkSr+)rrmr=rr>s r r?zIPAddress.__eq__s)%++ "! !zU[((r c*t|jSr+rArs r rCzIPAddress.__hash__rDr )rr r _IPADDRESS_TYPESr(rFrbytesryr r9rHrIr?rJrCr r r rmrms.4$'X:#::::)F)t))))  #      r rmceZdZdededdfdZedefdZedefdZde fdZ d e de fd Z defd ZdS) OtherNametype_idrrNct|tstdt|tstd||_||_dS)Nz#type_id must be an ObjectIdentifierzvalue must be a binary string)rrr$r~_type_idr%)rrrs r r(zOtherName.__init__sX'#344 CABB B%'' =;<< <  r c|jSr+)rrs r rzOtherName.type_ids }r c|jSr+r,rs r rzOtherName.value r-r cBd|j|jS)Nz#)r8rrrs r r9zOtherName.__repr__s#4;; L$*   r r;czt|tstS|j|jko|j|jkSr+)rrr=rrr>s r r?zOtherName.__eq__s7%++ "! !|u},Ju{1JJr c8t|j|jfSr+)rBrrrs r rCzOtherName.__hash__sT\4:.///r )rr r rr~r(rFrrr r9rHrIr?rJrCr r r rrs 04)XuX #    KFKtKKKK 0#000000r r)rror email.utilsrcryptography.x509.namercryptography.x509.oidrUnionrprqrrrsr} ExceptionrABCMetarrrLrWr_rfrmrr r r rs   !!!!!!''''''222222<                 CK    * * * * * * * * Z$ $ $ $ $ k$ $ $ N& & & & & & & & R     K   0     ;   0+ + + + + + + + \00000 00000r