ó 9(Zc@`s¼ddlmZmZmZddlmZddlmZdefd„ƒYZ defd„ƒYZ defd „ƒYZ d efd „ƒYZ d efd „ƒYZ iejƒe j6ejƒe j6ejƒe j6ejƒe j6ejƒe j6ejƒe j6ejƒe j6ejƒe j6ejƒe j6ejƒe j6ejƒe j6ejƒe j6ejƒe j 6ejƒe j!6ejƒe j"6Z#defd„ƒYZ$defd„ƒYZ%defd„ƒYZ&iHde j'6de j(6de j)6de j*6de j+6de j,6de j-6de j.6de j/6de j06de j16de j26d e j36d!e j46d"e j56d#e j66d$e j76d%e j86d&e j96d'e j:6d(e j;6d)e j<6d*e j=6d+e j>6d,e j6d-e j6d.e j6d/e j6d0e j6d1e j6d2e j6d3e j6d4e j6d5e j6d6e j6d7e j 6d8e j!6d9e j"6d:e$j?6d;e$j@6d<e$jA6d=e$jB6d>e$jC6d?e$jD6d@e jE6dAe jF6dBe jG6dCe jH6dDe jI6dEe jJ6dFe jK6dGe jL6dHe jM6dIe jN6dJe jO6dKe jP6dLe jQ6dMe jR6dNe jS6dOe jT6dPe jU6dQe jV6dRe jW6dSe jX6dTe jY6dUe jZ6dVe j[6dWe j\6dXe%j]6dYe%j^6dZe&j_6d[e&j`6Zad\S(]i(tabsolute_importtdivisiontprint_function(tutils(thashestObjectIdentifiercB`sSeZd„Zd„Zd„Zd„Zd„Zed„ƒZe j dƒZ RS(cC`sû||_|jjdƒ}g}xO|D]G}y|jt|dƒƒWq(tk rntd|jƒ‚q(Xq(Wt|ƒdkr›td|jƒ‚n|ddkrÁtd|jƒ‚n|ddkr÷|ddkr÷td |jƒ‚ndS( Nt.is%Malformed OID: %s (non-integer nodes)is0Malformed OID: %s (insufficient number of nodes)s2Malformed OID: %s (first node outside valid range)ii(s3Malformed OID: %s (second node outside valid range)(t_dotted_stringtsplittappendtintt ValueErrortlen(tselft dotted_stringtnodestintnodestnode((s;/tmp/pip-build-wDUJoH/cryptography/cryptography/x509/oid.pyt__init__ s,    cC`s#t|tƒstS|j|jkS(N(t isinstanceRtNotImplementedR(R tother((s;/tmp/pip-build-wDUJoH/cryptography/cryptography/x509/oid.pyt__eq__,scC`s ||k S(N((R R((s;/tmp/pip-build-wDUJoH/cryptography/cryptography/x509/oid.pyt__ne__2scC`sdj|j|jƒS(Ns%(tformatRt_name(R ((s;/tmp/pip-build-wDUJoH/cryptography/cryptography/x509/oid.pyt__repr__5scC`s t|jƒS(N(thashR(R ((s;/tmp/pip-build-wDUJoH/cryptography/cryptography/x509/oid.pyt__hash__;scC`stj|dƒS(Ns Unknown OID(t _OID_NAMEStget(R ((s;/tmp/pip-build-wDUJoH/cryptography/cryptography/x509/oid.pyR>sR( t__name__t __module__RRRRRtpropertyRRtread_only_propertyR(((s;/tmp/pip-build-wDUJoH/cryptography/cryptography/x509/oid.pyR s    t ExtensionOIDcB`seZedƒZedƒZedƒZedƒZedƒZedƒZedƒZ edƒZ edƒZ ed ƒZ ed ƒZ ed ƒZed ƒZed ƒZedƒZedƒZedƒZedƒZedƒZedƒZedƒZedƒZRS(s2.5.29.9s 2.5.29.14s 2.5.29.15s 2.5.29.17s 2.5.29.18s 2.5.29.19s 2.5.29.30s 2.5.29.31s 2.5.29.32s 2.5.29.33s 2.5.29.35s 2.5.29.36s 2.5.29.37s 2.5.29.46s 2.5.29.54s1.3.6.1.5.5.7.1.1s1.3.6.1.5.5.7.1.11s1.3.6.1.5.5.7.48.1.5s1.3.6.1.5.5.7.1.24s 2.5.29.20s 2.5.29.27s1.3.6.1.4.1.11129.2.4.2(RR RtSUBJECT_DIRECTORY_ATTRIBUTEStSUBJECT_KEY_IDENTIFIERt KEY_USAGEtSUBJECT_ALTERNATIVE_NAMEtISSUER_ALTERNATIVE_NAMEtBASIC_CONSTRAINTStNAME_CONSTRAINTStCRL_DISTRIBUTION_POINTStCERTIFICATE_POLICIEStPOLICY_MAPPINGStAUTHORITY_KEY_IDENTIFIERtPOLICY_CONSTRAINTStEXTENDED_KEY_USAGEt FRESHEST_CRLtINHIBIT_ANY_POLICYtAUTHORITY_INFORMATION_ACCESStSUBJECT_INFORMATION_ACCESSt OCSP_NO_CHECKt TLS_FEATUREt CRL_NUMBERtDELTA_CRL_INDICATORt%PRECERT_SIGNED_CERTIFICATE_TIMESTAMPS(((s;/tmp/pip-build-wDUJoH/cryptography/cryptography/x509/oid.pyR#Es,                     tCRLEntryExtensionOIDcB`s,eZedƒZedƒZedƒZRS(s 2.5.29.29s 2.5.29.21s 2.5.29.24(RR RtCERTIFICATE_ISSUERt CRL_REASONtINVALIDITY_DATE(((s;/tmp/pip-build-wDUJoH/cryptography/cryptography/x509/oid.pyR:`s  tNameOIDcB`s(eZedƒZedƒZedƒZedƒZedƒZedƒZedƒZ edƒZ edƒZ ed ƒZ ed ƒZ ed ƒZed ƒZed ƒZedƒZedƒZedƒZedƒZedƒZedƒZedƒZedƒZedƒZedƒZRS(s2.5.4.3s2.5.4.6s2.5.4.7s2.5.4.8s2.5.4.9s2.5.4.10s2.5.4.11s2.5.4.5s2.5.4.4s2.5.4.42s2.5.4.12s2.5.4.44s2.5.4.45s2.5.4.46s2.5.4.65s0.9.2342.19200300.100.1.1s0.9.2342.19200300.100.1.25s1.2.840.113549.1.9.1s1.3.6.1.4.1.311.60.2.1.3s1.3.6.1.4.1.311.60.2.1.1s1.3.6.1.4.1.311.60.2.1.2s2.5.4.15s2.5.4.16s2.5.4.17(RR Rt COMMON_NAMEt COUNTRY_NAMEt LOCALITY_NAMEtSTATE_OR_PROVINCE_NAMEtSTREET_ADDRESStORGANIZATION_NAMEtORGANIZATIONAL_UNIT_NAMEt SERIAL_NUMBERtSURNAMEt GIVEN_NAMEtTITLEtGENERATION_QUALIFIERtX500_UNIQUE_IDENTIFIERt DN_QUALIFIERt PSEUDONYMtUSER_IDtDOMAIN_COMPONENTt EMAIL_ADDRESStJURISDICTION_COUNTRY_NAMEtJURISDICTION_LOCALITY_NAMEt#JURISDICTION_STATE_OR_PROVINCE_NAMEtBUSINESS_CATEGORYtPOSTAL_ADDRESSt POSTAL_CODE(((s;/tmp/pip-build-wDUJoH/cryptography/cryptography/x509/oid.pyR>fs2                       tSignatureAlgorithmOIDcB`s¼eZedƒZedƒZedƒZedƒZedƒZedƒZedƒZ edƒZ edƒZ ed ƒZ ed ƒZ ed ƒZed ƒZed ƒZedƒZRS(s1.2.840.113549.1.1.4s1.2.840.113549.1.1.5s 1.3.14.3.2.29s1.2.840.113549.1.1.14s1.2.840.113549.1.1.11s1.2.840.113549.1.1.12s1.2.840.113549.1.1.13s1.2.840.10045.4.1s1.2.840.10045.4.3.1s1.2.840.10045.4.3.2s1.2.840.10045.4.3.3s1.2.840.10045.4.3.4s1.2.840.10040.4.3s2.16.840.1.101.3.4.3.1s2.16.840.1.101.3.4.3.2(RR Rt RSA_WITH_MD5t RSA_WITH_SHA1t_RSA_WITH_SHA1tRSA_WITH_SHA224tRSA_WITH_SHA256tRSA_WITH_SHA384tRSA_WITH_SHA512tECDSA_WITH_SHA1tECDSA_WITH_SHA224tECDSA_WITH_SHA256tECDSA_WITH_SHA384tECDSA_WITH_SHA512t DSA_WITH_SHA1tDSA_WITH_SHA224tDSA_WITH_SHA256(((s;/tmp/pip-build-wDUJoH/cryptography/cryptography/x509/oid.pyRWƒs              tExtendedKeyUsageOIDcB`s\eZedƒZedƒZedƒZedƒZedƒZedƒZedƒZ RS(s1.3.6.1.5.5.7.3.1s1.3.6.1.5.5.7.3.2s1.3.6.1.5.5.7.3.3s1.3.6.1.5.5.7.3.4s1.3.6.1.5.5.7.3.8s1.3.6.1.5.5.7.3.9s 2.5.29.37.0( RR Rt SERVER_AUTHt CLIENT_AUTHt CODE_SIGNINGtEMAIL_PROTECTIONt TIME_STAMPINGt OCSP_SIGNINGtANY_EXTENDED_KEY_USAGE(((s;/tmp/pip-build-wDUJoH/cryptography/cryptography/x509/oid.pyRg©s      tAuthorityInformationAccessOIDcB`s eZedƒZedƒZRS(s1.3.6.1.5.5.7.48.2s1.3.6.1.5.5.7.48.1(RR Rt CA_ISSUERStOCSP(((s;/tmp/pip-build-wDUJoH/cryptography/cryptography/x509/oid.pyRo³s tCertificatePoliciesOIDcB`s,eZedƒZedƒZedƒZRS(s1.3.6.1.5.5.7.2.1s1.3.6.1.5.5.7.2.2s 2.5.29.32.0(RR Rt CPS_QUALIFIERtCPS_USER_NOTICEt ANY_POLICY(((s;/tmp/pip-build-wDUJoH/cryptography/cryptography/x509/oid.pyRr¸s  t commonNamet countryNamet localityNametstateOrProvinceNamet streetAddresstorganizationNametorganizationalUnitNamet serialNumbertsurnamet givenNamettitletgenerationQualifiertx500UniqueIdentifiert dnQualifiert pseudonymtuserIDtdomainComponentt emailAddresstjurisdictionCountryNametjurisdictionLocalityNametjurisdictionStateOrProvinceNametbusinessCategoryt postalAddresst postalCodetmd5WithRSAEncryptiontsha1WithRSAEncryptiontsha224WithRSAEncryptiontsha256WithRSAEncryptiontsha384WithRSAEncryptiontsha512WithRSAEncryptionsecdsa-with-SHA1secdsa-with-SHA224secdsa-with-SHA256secdsa-with-SHA384secdsa-with-SHA512s dsa-with-sha1sdsa-with-sha224sdsa-with-sha256t serverAutht clientAutht codeSigningtemailProtectiont timeStampingt OCSPSigningtsubjectDirectoryAttributestsubjectKeyIdentifiertkeyUsagetsubjectAltNamet issuerAltNametbasicConstraintst cRLReasontinvalidityDatetcertificateIssuertnameConstraintstcRLDistributionPointstcertificatePoliciestpolicyMappingstauthorityKeyIdentifiertpolicyConstraintstextendedKeyUsaget freshestCRLtinhibitAnyPolicytauthorityInfoAccesstsubjectInfoAccesst OCSPNoCheckt cRLNumbertdeltaCRLIndicatort TLSFeatureRqt caIssuerss id-qt-cpss id-qt-unoticeN(bt __future__RRRt cryptographyRtcryptography.hazmat.primitivesRtobjectRR#R:R>RWtMD5RXtSHA1RYRZtSHA224R[tSHA256R\tSHA384R]tSHA512R^R_R`RaRbRcRdReRft_SIG_OIDS_TO_HASHRgRoRrR?R@RARBRCRDRERFRGRHRIRJRKRLRMRNRORPRQRRRSRTRURVRhRiRjRkRlRmR$R%R&R'R(R)R<R=R;R*R+R,R-R.R/R0R1R2R3R4R5R7R8R6RqRpRsRtR(((s;/tmp/pip-build-wDUJoH/cryptography/cryptography/x509/oid.pytsÆ: