Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325
Ë øŠjç“ãóœ—dZddlmZmZmZmZddlZddlZddlm Z m Z ddl m Z m Z ddlmZmZmZmZmZddlmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#dd l$m%Z%m&Z&Gd „d e!«Z'Gd „d e"«Z(Gd„de«Z)Gd„de!«Z*Gd„de!«Z+Gd„de!«Z,Gd„d«Z-Gd„dee-«Z.Gd„dee-«Z/Gd„de«Z0Gd„de«Z1Gd „d!e«Z2Gd"„d#e!«Z3Gd$„d%e!«Z4Gd&„d'e!«Z5Gd(„d)e!«Z6Gd*„d+e!«Z7Gd,„d-e«Z8Gd.„d/e«Z9Gd0„d1e«Z:Gd2„d3e!«Z;Gd4„d5e!«Z<Gd6„d7e!«Z=Gd8„d9e#«Z>Gd:„d;e«Z?Gd<„d=ee!«Z@Gd>„d?e!«ZAGd@„dAe!«ZBGdB„dCe!«ZCGdD„dEe!«ZDGdF„dGe«ZEGdH„dIee!«ZFGdJ„dKe!«ZGy)La' ASN.1 type classes for public and private keys. Exports the following items: - DSAPrivateKey() - ECPrivateKey() - EncryptedPrivateKeyInfo() - PrivateKeyInfo() - PublicKeyInfo() - RSAPrivateKey() - RSAPublicKey() Other type classes are defined that help compose the types listed above. é)Úunicode_literalsÚdivisionÚabsolute_importÚprint_functionNé)ÚunwrapÚ APIException)Ú type_nameÚbyte_cls)Ú_ForceNullParametersÚDigestAlgorithmÚEncryptionAlgorithmÚRSAESOAEPParamsÚRSASSAPSSParams)ÚAnyÚ Asn1ValueÚ BitStringÚChoiceÚIntegerÚIntegerOctetStringÚNullÚObjectIdentifierÚOctetBitStringÚ OctetStringÚParsableOctetStringÚParsableOctetBitStringÚSequenceÚ SequenceOfÚSetOf)Úint_from_bytesÚ int_to_bytescó&—eZdZdZdefdefdefgZy)ÚOtherPrimeInfoú= Source: https://tools.ietf.org/html/rfc3447#page-46 ÚprimeÚexponentÚ coefficientN©Ú__name__Ú __module__Ú __qualname__Ú__doc__rÚ_fields©óú@/opt/nydus/tmp/pip-target-96rp6e1e/lib/python/asn1crypto/keys.pyr#r#-s(„ñð �'ÐØ �WÐØ ˜Ð ð�Gr/r#có—eZdZdZeZy)ÚOtherPrimeInfosr$N)r)r*r+r,r#Ú _child_specr.r/r0r2r29s„ñð!�Kr/r2có—eZdZdZdddœZy)ÚRSAPrivateKeyVersionzX Original Name: Version Source: https://tools.ietf.org/html/rfc3447#page-45 z two-primeÚmulti)rrN©r)r*r+r,Ú_mapr.r/r0r5r5As„ñð Ø ñ �Dr/r5c óV—eZdZdZdefdefdefdefdefdefdefd efd efd ed d ifg Zy)Ú RSAPrivateKeyz= Source: https://tools.ietf.org/html/rfc3447#page-45 ÚversionÚmodulusÚpublic_exponentÚprivate_exponentÚprime1Úprime2Ú exponent1Ú exponent2r'Úother_prime_infosÚoptionalTN)r)r*r+r,r5rr2r-r.r/r0r:r:Msh„ñð Ð(Ð)Ø �GÐØ ˜GÐ$Ø ˜WÐ%Ø �7ÐØ �7ÐØ �gÐØ �gÐØ ˜Ð Ø ˜o° ¸DÐ/AÐBð �Gr/r:có —eZdZdZdefdefgZy)Ú RSAPublicKeyz= Source: https://tools.ietf.org/html/rfc3447#page-44 r<r=Nr(r.r/r0rFrF`s „ñð �GÐØ ˜GÐ$ð�Gr/rFcó8—eZdZdZdefdefdefdefdefdefgZy) Ú DSAPrivateKeya& The ASN.1 structure that OpenSSL uses to store a DSA private key that is not part of a PKCS#8 structure. Reversed engineered from english-language description on linked OpenSSL documentation page. Original Name: None Source: https://www.openssl.org/docs/apps/dsa.html r;ÚpÚqÚgÚ public_keyÚ private_keyNr(r.r/r0rHrHks=„ñð �GÐØ ˆgˆØ ˆgˆØ ˆgˆØ �wÐØ ˜Ð ð �Gr/rHcó&—eZdZdZed„«Zd„Zy)Ú_ECPointa  In both PublicKeyInfo and PrivateKeyInfo, the EC public key is a byte string that is encoded as a bit string. This class adds convenience methods for converting to and from the byte string to a pair of integers that are the X and Y coordinates. cóB—ttjtj|d«dz ««}ttjtj|d«dz ««}t ||«}d}|t ||¬«z }|t ||¬«z }||«S)a Creates an ECPoint object from the X and Y integer coordinates of the point :param x: The X coordinate, as an integer :param y: The Y coordinate, as an integer :return: An ECPoint object éç @ó)Úwidth)ÚintÚmathÚceilÚlogÚmaxr!)ÚclsÚxÚyÚx_bytesÚy_bytesÚ num_bytesÚ byte_strings r0Ú from_coordsz_ECPoint.from_coords‡s†€ô ”d—i‘i¤§¡¨¨A£°Ñ 4Ó5Ó6ˆÜ”d—i‘i¤§¡¨¨A£°Ñ 4Ó5Ó6ˆä˜ Ó)ˆ àˆ Ø”| A¨YÔ7Ñ7ˆ Ø”| A¨YÔ7Ñ7ˆ á�;ÓÐr/có—|j}|dd}|dk(r3|dd}t|«dz}t|d|«}t||d«}||fS|tddg«vrt t d««‚t t d ««‚) z± Returns the X and Y coordinates for this EC point, as native Python integers :return: A 2-element tuple containing integers (X, Y) rrrSNrQóózQ Invalid EC public key - first byte is incorrect z| Compressed representations of EC public keys are not supported due to patent US6252960 )ÚnativeÚlenr ÚsetÚ ValueErrorr)ÚselfÚdataÚ first_byteÚ remainingÚ field_lenr[r\s r0Ú to_coordsz_ECPoint.to_coords¢s¬€ð�{‰{ˆØ˜!˜A�Yˆ ð ˜Ò ؘQ˜R˜ˆIܘI›¨!Ñ+ˆIܘy¨¨9Ð5Ó6ˆAܘy¨¨Ð4Ó5ˆAØ�q�6ˆMà œS '¨7Ð!3Ó4Ñ 4ÜœVðóóð ô œð ó ó ð r/N)r)r*r+r,Ú classmethodrarnr.r/r0rOrOs „ñðñ óð ó4  r/rOcó —eZdZy)ÚECPointN©r)r*r+r.r/r0rqrqÅó„àr/rqcó —eZdZy)ÚECPointBitStringNrrr.r/r0ruruÊrsr/rucó—eZdZdZddddœZy)ÚSpecifiedECDomainVersionú: Source: http://www.secg.org/sec1-v2.pdf page 104 ÚecdpVer1ÚecdpVer2ÚecdpVer3)rrQéNr7r.r/r0rwrwÏs„ñð Ø Ø ñ �Dr/rwcó—eZdZdZdddœZy)Ú FieldTypezR Original Name: None Source: http://www.secg.org/sec1-v2.pdf page 101 Ú prime_fieldÚcharacteristic_two_field)z1.2.840.10045.1.1z1.2.840.10045.1.2Nr7r.r/r0r~r~Ús„ñð +Ø7ñ �Dr/r~có—eZdZdZddddœZy)ÚCharacteristicTwoBasiszR Original Name: None Source: http://www.secg.org/sec1-v2.pdf page 102 Úgn_basisÚtp_basisÚpp_basis)z1.2.840.10045.1.2.1.1z1.2.840.10045.1.2.1.2z1.2.840.10045.1.2.1.3Nr7r.r/r0r‚r‚æs„ñð ",Ø!+Ø!+ñ �Dr/r‚có&—eZdZdZdefdefdefgZy)Ú Pentanomialú: Source: http://www.secg.org/sec1-v2.pdf page 102 Úk1Úk2Úk3Nr(r.r/r0r‡r‡ós%„ñð ˆwˆØ ˆwˆØ ˆwˆð�Gr/r‡có6—eZdZdZdefdefdefgZdZe ee dœZ y)ÚCharacteristicTwoz` Original Name: Characteristic-two Source: http://www.secg.org/sec1-v2.pdf page 101 ÚmÚbasisÚ parameters)r�r�)rƒr„r…N) r)r*r+r,rr‚rr-Ú _oid_pairrr‡Ú _oid_specsr.r/r0r�r�ÿs?„ñð ˆgˆØ Ð(Ð)Ø �sÐð€Gð (€IàØØñ�Jr/r�có.—eZdZdZdefdefgZdZee dœZ y)ÚFieldIDz: Source: http://www.secg.org/sec1-v2.pdf page 100 Ú field_typer�)r•r�)rr€N) r)r*r+r,r~rr-r‘rr�r’r.r/r0r”r”s4„ñð �yÐ!Ø �sÐð€Gð -€IàØ$5ñ�Jr/r”có,—eZdZdZdefdefdeddifgZy)ÚCurverxÚaÚbÚseedrDTN)r)r*r+r,rrr-r.r/r0r—r—$s/„ñð ˆkÐØ ˆkÐØ � *¨dÐ!3Ð4ð�Gr/r—c óJ—eZdZdZdefdefdefdefdefdedd ifd e dd ifgZ y ) ÚSpecifiedECDomainz: Source: http://www.secg.org/sec1-v2.pdf page 103 r;Úfield_idÚcurveÚbaseÚorderÚcofactorrDTÚhashN) r)r*r+r,rwr”r—rqrr r-r.r/r0rœrœ0sW„ñð Ð,Ð-Ø �WÐØ �%ÐØ �ÐØ �'ÐØ �W˜z¨4Ð0Ð1Ø � :¨tÐ"4Ð5ð�Gr/rœcóŒ—eZdZdZidd“dd“dd“dd “d d “d d “dd“dd“dd“dd“dd“dd“dd“dd“dd“d d!“d"d#“id$d%“d&d'“d(d)“d*d+“d,d-“d.d/“d0d1“d2d3“d4d5“d6d7“d8d9“d:d;“dd?“d@dA“dBdC“dDdE“¥idFdG“dHdI“dJdK“dLdM“dNdO“dPdQ“dRdS“dTdU“dVdW“dXdY“dZd[“d\d]“d^d_“d`da“dbdc“ddde“dfdg“¥idhdi“djdk“dldm“dndo“dpdq“drds“dtdu“dvdw“dxdy“dzd{“d|d}“d~d“d€d�“d‚dƒ“d„d…“d†d‡“dˆd‰“¥dŠd‹dŒd�dŽœ¥Zidd�“dd�“dd�“dd�“d d�“d d�“dd�“dd�“dd�“dd‘“dd’“dd’“dd’“dd’“dd’“d d““d"d”“id$d•“d&d•“d(d–“d*d�“d,d�“d.d’“d0d’“d2d’“d4d�“d6d—“d8d�“d:d�“dd˜“d@d˜“dBd™“dDd™“¥idFd�“dHd�“dJd—“dLd�“dNdš“dPdš“dRd›“dTd›“dVd‘“dXd‘“dZdœ“d\d’“d^d�“d`d�“dbd�“ddd�“dfdœ“¥idhdž“djdŸ“dld “dnd¡“dpd¢“drd£“dtd£“dvd¤“dxd¤“dzd�“d|d�“d~dž“d€dž“d‚d—“d„d—“d†d¥“dˆd¥“¥dŸdŸd¦d¦dŽœ¥Zed§„«Zy¨)©Ú NamedCurvez§ Various named curves Original Name: None Source: https://tools.ietf.org/html/rfc3279#page-23, https://tools.ietf.org/html/rfc5480#page-5 z1.2.840.10045.3.0.1Ú c2pnb163v1z1.2.840.10045.3.0.2Ú c2pnb163v2z1.2.840.10045.3.0.3Ú c2pnb163v3z1.2.840.10045.3.0.4Ú c2pnb176w1z1.2.840.10045.3.0.5Ú c2tnb191v1z1.2.840.10045.3.0.6Ú c2tnb191v2z1.2.840.10045.3.0.7Ú c2tnb191v3z1.2.840.10045.3.0.8Ú c2onb191v4z1.2.840.10045.3.0.9Ú c2onb191v5z1.2.840.10045.3.0.10Ú c2pnb208w1z1.2.840.10045.3.0.11Ú c2tnb239v1z1.2.840.10045.3.0.12Ú c2tnb239v2z1.2.840.10045.3.0.13Ú c2tnb239v3z1.2.840.10045.3.0.14Ú c2onb239v4z1.2.840.10045.3.0.15Ú c2onb239v5z1.2.840.10045.3.0.16Ú c2pnb272w1z1.2.840.10045.3.0.17Ú c2pnb304w1z1.2.840.10045.3.0.18Ú c2tnb359v1z1.2.840.10045.3.0.19Ú c2pnb368w1z1.2.840.10045.3.0.20Ú c2tnb431r1z1.2.840.10045.3.1.2Ú prime192v2z1.2.840.10045.3.1.3Ú prime192v3z1.2.840.10045.3.1.4Ú prime239v1z1.2.840.10045.3.1.5Ú prime239v2z1.2.840.10045.3.1.6Ú prime239v3z1.2.840.10045.3.1.1Ú secp192r1z1.2.840.10045.3.1.7Ú secp256r1z 1.3.132.0.1Ú sect163k1z 1.3.132.0.2Ú sect163r1z 1.3.132.0.3Ú sect239k1z 1.3.132.0.4Ú sect113r1z 1.3.132.0.5Ú sect113r2z 1.3.132.0.6Ú secp112r1z 1.3.132.0.7Ú secp112r2z 1.3.132.0.8Ú secp160r1z 1.3.132.0.9Ú secp160k1z 1.3.132.0.10Ú secp256k1z 1.3.132.0.15Ú sect163r2z 1.3.132.0.16Ú sect283k1z 1.3.132.0.17Ú sect283r1z 1.3.132.0.22Ú sect131r1z 1.3.132.0.23Ú sect131r2z 1.3.132.0.24Ú sect193r1z 1.3.132.0.25Ú sect193r2z 1.3.132.0.26Ú sect233k1z 1.3.132.0.27Ú sect233r1z 1.3.132.0.28Ú secp128r1z 1.3.132.0.29Ú secp128r2z 1.3.132.0.30Ú secp160r2z 1.3.132.0.31Ú secp192k1z 1.3.132.0.32Ú secp224k1z 1.3.132.0.33Ú secp224r1z 1.3.132.0.34Ú secp384r1z 1.3.132.0.35Ú secp521r1z 1.3.132.0.36Ú sect409k1z 1.3.132.0.37Ú sect409r1z 1.3.132.0.38Ú sect571k1z 1.3.132.0.39Ú sect571r1z1.3.36.3.3.2.8.1.1.1Úbrainpoolp160r1z1.3.36.3.3.2.8.1.1.2Úbrainpoolp160t1z1.3.36.3.3.2.8.1.1.3Úbrainpoolp192r1z1.3.36.3.3.2.8.1.1.4Úbrainpoolp192t1z1.3.36.3.3.2.8.1.1.5Úbrainpoolp224r1z1.3.36.3.3.2.8.1.1.6Úbrainpoolp224t1z1.3.36.3.3.2.8.1.1.7Úbrainpoolp256r1z1.3.36.3.3.2.8.1.1.8Úbrainpoolp256t1z1.3.36.3.3.2.8.1.1.9Úbrainpoolp320r1z1.3.36.3.3.2.8.1.1.10Úbrainpoolp320t1Úbrainpoolp384r1Úbrainpoolp384t1Úbrainpoolp512r1Úbrainpoolp512t1)z1.3.36.3.3.2.8.1.1.11z1.3.36.3.3.2.8.1.1.12z1.3.36.3.3.2.8.1.1.13z1.3.36.3.3.2.8.1.1.14ééééé!é%é-é5é ééé$ééééé0éBé3é4éHéé(é@cóv—||j|<|j�||j|<||j|<y)a€ Registers a new named elliptic curve that is not included in the default list of named curves :param name: A unicode string of the curve name :param oid: A unicode string of the dotted format OID :param key_size: An integer of the number of bytes the private key should be encoded to N)r8Ú _reverse_mapÚ _key_sizes)rZÚnameÚoidÚkey_sizes r0ÚregisterzNamedCurve.registerës;€ð"ˆ�‰�‰ Ø × Ñ Ð 'Ø%(ˆC× Ñ ˜TÑ "Ø&ˆ�‰�sÒr/N)r)r*r+r,r8rror r.r/r0r¤r¤@sí„ñðM à˜|ðM ð ˜|ðM ð ˜|ð M ð ˜|ð M ð ˜|ð M ð ˜|ðM ð ˜|ðM ð ˜|ðM ð ˜|ðM ð   ðM ð   ðM ð   ðM ð   ðM ð   ðM ð   ð!M ð"   ð#M ð$   ñ%M ð&   ð'M ð(   ð)M ð*   ð+M ð, ˜|ð-M ð. ˜|ð/M ð0 ˜|ð1M ð2 ˜|ð3M ð4 ˜|ð5M ð: ˜{ð;M ð< ˜{ð=M ð> �{ð?M ð@ �{ðAM ðB �{ðCM ðD �{ðEM ðF �{ðGM ðH �{ðIM ðJ �{òKM ðL �{ðMM ðN �{ðOM ðP ˜ ðQM ðR ˜ ðSM ðT ˜ ðUM ðV ˜ ðWM ðX ˜ ðYM ðZ ˜ ð[M ð\ ˜ ð]M ð^ ˜ ð_M ð` ˜ ðaM ðb ˜ ðcM ðd ˜ ðeM ðf ˜ ðgM ðh ˜ ðiM ðj ˜ ðkM ðl ˜ òmM ðn ˜ ðoM ðp ˜ ðqM ðr ˜ ðsM ðt ˜ ðuM ðv ˜ ðwM ðx ˜ ðyM ðz ˜ ð{M ð~ Ð 1ðM ð@ Ð 1ðAM ðB Ð 1ðCM ðD Ð 1ðEM ðF Ð 1ðGM ðH Ð 1ðIM ðJ Ð 1ðKM ðL Ð 1ðMM ðN Ð 1ðOM ðP Ð!2ñQM ðR"3Ø!2Ø!2Ø!2òYM €Dð^Qð ˜rðQð ˜rð Qð ˜rð Qð ˜rð Qð ˜rðQð ˜rðQð ˜rðQð ˜rðQð ˜rðQð  ðQð  ðQð  ðQð  ðQð  ð!Qð"  ð#Qð$  ð%Qð&  ñ'Qð(  ð)Qð*  ð+Qð,  ð-Qð. ˜rð/Qð0 ˜rð1Qð2 ˜rð3Qð4 ˜rð5Qð6 ˜rð7Qð> ˜rð?Qð@ ˜rðAQðB �rðCQðD �rðEQðF �rðGQðH �rðIQðJ �rðKQðL �rðMQðN �ròOQðP �rðQQðR �rðSQðT ˜ðUQðV ˜ðWQðX ˜ðYQðZ ˜ð[Qð\ ˜ð]Qð^ ˜ð_Qð` ˜ðaQðb ˜ðcQðd ˜ðeQðf ˜ðgQðh ˜ðiQðj ˜ðkQðl ˜ðmQðn ˜ðoQðp ˜òqQðr ˜ðsQðt ˜ðuQðv ˜ðwQðx ˜ðyQðz ˜ð{Qð| ˜ð}Qð~ ˜ðQðF  ðGQðH  ðIQðJ  ðKQðL  ðMQðN  ðOQðP  ðQQðR  ðSQðT  ðUQðV  ðWQðX  ñYQðZ"$Ø!#Ø!#Ø!#òaQ€Jðfñ'óñ'r/r¤có6—eZdZdZdefdefdefgZed„«Z y)ÚECDomainParametersrˆÚ specifiedÚnamedÚ implicit_cacó¢—|jdk(rttd««‚|jdk(rE|jdj}t j t j|d«dz «S|jj}|tjvrttdt|«««‚tj|S)Nrz� Unable to calculate key_size from ECDomainParameters that are implicitly defined by the CA key rr g@rRz¬ The asn1crypto.keys.NamedCurve %s does not have a registered key length, please call asn1crypto.keys.NamedCurve.register() ) rrhrÚchosenrerVrWrXÚdottedr¤rÚrepr)rir r s r0r zECDomainParameters.key_size sº€à �9‰9˜ Ò %ÜœVðóóð ð �9‰9˜ Ò #Ø—K‘K Ñ(×/Ñ/ˆEÜ—9‘9œTŸX™X e¨SÓ1°CÑ7Ó8Ð 8à�k‰k× Ñ ˆØ ”j×+Ñ+Ñ +ÜœVðô�S“ ó óð ô×$Ñ$ SÑ)Ð)r/N) r)r*r+r,rœr¤rÚ _alternativesÚpropertyr r.r/r0r r s=„ñð Ð'Ð(Ø �*ÐØ ˜Ðð€Mð ñ*óñ*r/r có—eZdZdZddiZy)ÚECPrivateKeyVersionzR Original Name: None Source: http://www.secg.org/sec1-v2.pdf page 108 rÚ ecPrivkeyVer1Nr7r.r/r0rr's„ñð ˆ?ð �Dr/rcó^‡—eZdZdZdefdefdedddœfded ddœfgZd Z ˆfd „Z d „Z d „Z ˆxZ S)Ú ECPrivateKeyz: Source: http://www.secg.org/sec1-v2.pdf page 108 r;rMr�rT)ÚexplicitrDrLrNcóÊ•—tt|� ||«}|dk(r€|j€V|dj}t |t «rSt|«dkDrE|jt|dj««|S|j�|j«|S|dk(rCt |dt«r0|djdk7r|j|dj«|S)NrMrr�r) ÚsuperrÚ __setitem__Ú _key_sizeÚcontentsÚ isinstancer rfÚ set_key_sizeÚ_update_key_sizer rr )riÚkeyÚvalueÚresÚ pkey_contentsÚ __class__s €r0rzECPrivateKey.__setitem__BsÝø€Ü”L $Ñ3°C¸Ó?ˆà �-Ò Ø�~‰~Ð%à $ ]Ñ 3× <Ñ <� ܘm¬XÔ6¼3¸}Ó;MÐPQÒ;QØ×%Ñ%¤c¨$¨}Ñ*=×*FÑ*FÓ&GÔHðˆ ð—‘Ð+Ø×%Ñ%Ô'ð ˆ ð �LÒ ¤Z°°\Ñ0BÔDVÔ%WØ�\Ñ"×'Ñ'¨=Ò8Ø × Ñ ˜d <Ñ0×9Ñ9Ô :àˆ r/có2—||_|j«y)z· Sets the key_size to ensure the private key is encoded to the proper length :param key_size: An integer byte length to encode the private_key to N)r r$)rir s r0r#zECPrivateKey.set_key_sizeUs€ð"ˆŒØ ×ÑÕr/có‚—|j�3t|dt«r|dj|j«yyy)zG Ensure the private_key explicit encoding width is set NrM)r r"rÚset_encoded_width©ris r0r$zECPrivateKey._update_key_size`s=€ð �>‰>Ð %¬*°T¸-Ñ5HÔJ\Ô*]Ø �Ñ × 1Ñ 1°$·.±.Õ Að+^Ð %r/)r)r*r+r,rrr rur-r rr#r$Ú __classcell__©r)s@r0rr2sZø„ñð Ð'Ð(Ø Ð*Ð+Ø Ð)¸ÀtÑ+LÐMØ Ð'°aÀTÑ)JÐKð €Gð€Iôò&  öBr/rcó&—eZdZdZdefdefdefgZy)Ú DSAParamsz‰ Parameters for a DSA public or private key Original Name: Dss-Parms Source: https://tools.ietf.org/html/rfc3279#page-9 rIrJrKNr(r.r/r0r1r1is%„ñð ˆgˆØ ˆgˆØ ˆgˆð�Gr/r1có&—eZdZdZdefdedeifgZy)Ú Attributezq Source: https://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-X.501-198811-S!!PDF-E&type=items page 8 ÚtypeÚvaluesÚspecN)r)r*r+r,rrrr-r.r/r0r3r3xs'„ñð Ð!Ð"Ø �5˜6 3˜-Ð(ð�Gr/r3có—eZdZdZeZy)Ú Attributesú< Source: https://tools.ietf.org/html/rfc5208#page-3 N)r)r*r+r,r3r3r.r/r0r8r8ƒs„ñð�Kr/r8c ó&—eZdZdZdddddddd d œZy ) ÚPrivateKeyAlgorithmIdz» These OIDs for various public keys are reused when storing private keys inside of a PKCS#8 structure Original Name: None Source: https://tools.ietf.org/html/rfc3279 ÚrsaÚ rsassa_pssÚdsaÚecÚx25519Úx448Úed25519Úed448)ú1.2.840.113549.1.1.1ú1.2.840.113549.1.1.10ú1.2.840.10040.4.1ú1.2.840.10045.2.1ú 1.3.101.110ú 1.3.101.111ú 1.3.101.112ú 1.3.101.113Nr7r.r/r0r;r;‹s(„ñð!&à!-à"à!àØØ Øñ �Dr/r;có6—eZdZdZdefdeddifgZdZee e dœZ y) ÚPrivateKeyAlgorithmzm Original Name: PrivateKeyAlgorithmIdentifier Source: https://tools.ietf.org/html/rfc5208#page-3 Ú algorithmr�rDT©rNr�)r>r?r=N) r)r*r+r,r;rr-r‘r1r rr’r.r/r0rMrM¥s?„ñð Ð+Ð,Ø �s˜Z¨Ð.Ð/ð€Gð ,€IàØ Ø%ñ�Jr/rMcóú‡—eZdZdZdefdefdefdedddœfgZd „Z de iZ d Z d Z d Z d Zed „«Zˆfd „Zd „Zed„«Zed„«Zed„«Zed„«Zed„«Zed„«Zed„«Zed„«ZˆxZS)ÚPrivateKeyInfor9r;Úprivate_key_algorithmrMÚ attributesrT)ÚimplicitrDc ó‚—|ddj}ttttttttdœ|S)NrRrN)r<r=r>r?r@rArBrC)rer:rrr©rirNs r0Ú_private_key_specz PrivateKeyInfo._private_key_specÄsF€ØÐ0Ñ1°+Ñ>×EÑEˆ ä Ü'ÜÜô"ÜÜ"Ü ñ  ð ñ ð r/Ncó—t|t«s.t|t«stt dt |«««‚|dk(s|dk(r0t|t «st j|«}t«}n¹|dk(rRt|t«stj|«}t«}|d|d<|d|d<|d|d<|d}|d }nb|d k(r?t|t«stj|«}n|j«}|d }|d =ntt d t|«««‚t«}t!|«|d <||d <|«}||_t%d«|d<||d<||d <|dk(r|_|S)a' Wraps a private key in a PrivateKeyInfo structure :param private_key: A byte string or Asn1Value object of the private key :param algorithm: A unicode string of "rsa", "dsa" or "ec" :return: A PrivateKeyInfo object zX private_key must be a byte string or Asn1Value, not %s r<r=r>rIrJrKrLrMr?r�zU algorithm must be one of "rsa", "dsa", "ec", not %s rNrr;rR)r"r rÚ TypeErrorrr r:ÚloadrrHr1rÚcopyrhrrMr;Ú _algorithmrÚ _public_key)rZrMrNÚparamsrLÚprivate_key_algoÚ containers r0ÚwrapzPrivateKeyInfo.wrapÜs¨€ô˜+¤xÔ0¼ÀKÔQZÔ9[ÜœFðô˜+Ó&ó óð ð ˜Ò  ¨lÒ!:ܘk¬=Ô9Ü+×0Ñ0°Ó=� Ü“V‰FØ ˜%Ò Ü˜k¬=Ô9Ü+×0Ñ0°Ó=� Ü“[ˆFØ% cÑ*ˆF�3‰KØ% cÑ*ˆF�3‰KØ% cÑ*ˆF�3‰KØ$ \Ñ2ˆJØ% mÑ4‰KØ ˜$Ò Ü˜k¬<Ô8Ü*×/Ñ/° Ó<‘ à)×.Ñ.Ó0� Ø  Ñ.ˆFؘLÑ)äœVðô�Y“ó óð ô/Ó0ÐÜ(=¸iÓ(HИÑ%Ø)/ИÑ&á“Eˆ Ø(ˆ ÔÜ& q›zˆ �)ÑØ-=ˆ Ð)Ñ*Ø#.ˆ �-Ñ ð ˜Ò Ø$.ˆIÔ !àÐr/cór•—tt|� ||«}|d}|dk(s|dk(r’|djdk(r€t |dt «rm|dj dk7r[t |dt«rHt |djt«r+|djj|dj«|S)NrRrMrNr?r�r) rrQrrer"r rrÚparsedrr#r )rir%r&r'rNr)s €r0rzPrivateKeyInfo.__setitem__"s·ø€Ü”N DÑ5°c¸5ÓAˆàÐ0Ñ1ˆ ð Ð*Ò *¨c°]Ò.Bؘ+Ñ&×-Ñ-°Ò5ܘ9 \Ñ2Ô4FÔGؘ,Ñ'×,Ñ,° Ò=ܘ4  Ñ.Ô0CÔDܘ4  Ñ.×5Ñ5´|ÔDØ �Ñ × &Ñ &× 3Ñ 3°I¸lÑ4K×4TÑ4TÔ Uàˆ r/có—td«‚)z Unwraps the private key into an RSAPrivateKey, DSAPrivateKey or ECPrivateKey object :return: An RSAPrivateKey, DSAPrivateKey or ECPrivateKey object zxasn1crypto.keys.PrivateKeyInfo().unwrap() has been removed, please use oscrypto.asymmetric.PrivateKey().unwrap() instead©r r-s r0rzPrivateKeyInfo.unwrap3s€ôð KóLð Lr/cóú—|jdk7r-ttd|jj«««‚|dd}|j}|j dk(rd}n |j }|j |fS)á# Returns information about the curve used for an EC key :raises: ValueError - when the key is not an EC key :return: A two-element tuple, with the first element being a unicode string of "implicit_ca", "specified" or "named". If the first element is "implicit_ca", the second is None. If "specified", the second is an OrderedDict that is the native version of SpecifiedECDomain. If "named", the second is a unicode string of the curve name. r?úK Only EC keys have a curve, this key is %s rRr�rN©rNrhrÚupperrrre©rir^rr&s r0ržzPrivateKeyInfo.curve@s€ð �>‰>˜TÒ !ÜœVðð—‘×$Ñ$Ó&ó óð ðÐ-Ñ.¨|Ñ<ˆØ—‘ˆà �;‰;˜-Ò '؉Eà—M‘MˆEà— ‘ ˜UÐ#Ð#r/cóä—|jdk7r-ttd|jj«««‚t j |dddj d«dz }|dkrd Sd S) zò Returns the name of the family of hash algorithms used to generate a DSA key :raises: ValueError - when the key is not a DSA key :return: A unicode string of "sha1" or "sha2" r>út Only DSA keys are generated using a hash algorithm, this key is %s rRr�rJrQérÚsha1Úsha2)rNrhrrjrVrXre)riÚbyte_lens r0Ú hash_algozPrivateKeyInfo.hash_algobs{€ð �>‰>˜UÒ "ÜœVðð—‘×$Ñ$Ó&ó óð ô—8‘8˜DÐ!8Ñ9¸,ÑGÈÑL×SÑSÐUVÓWÐZ[Ñ[ˆà! RšˆvÐ3¨VÐ3r/có`—|j€|ddj|_|jS)ú] :return: A unicode string of "rsa", "rsassa_pss", "dsa" or "ec" rRrN©r\rer-s r0rNzPrivateKeyInfo.algorithm|s0€ð �?‰?Ð "Ø"Ð#:Ñ;¸KÑH×OÑOˆDŒOØ�‰Ðr/có—|j€î|jdk(s|jdk(r|djdj}nP|jdk(r|dddj}n+|jd k(r|djdj}t t j t jd «««|_|jd z}|d k7r|xjd |z z c_|jS) zU :return: The bit size of the private key, as an integer r<r=rMr<r>rRr�rIr?rQrnr)Ú _bit_sizerNrcrerUrVrWrX©rir%r<s r0Úbit_sizezPrivateKeyInfo.bit_size‡s߀ð �>‰>Ð !Ø�~‰~ Ò&¨$¯.©.¸LÒ*Hؘ]Ñ+×2Ñ2°9Ñ=×DÑD‘Ø—‘ 5Ò(ØÐ4Ñ5°lÑCÀCÑH×OÑO‘Ø—‘ 4Ò'ؘ]Ñ+×2Ñ2°=ÑA×HÑH�Ü ¤§¡¬4¯8©8°E¸1Ó+=Ó!>Ó?ˆDŒNØ—n‘n qÑ(ˆGؘ!Š|Ø—’ ! g¡+Ñ-•Ø�~‰~Ðr/cóX—ttj|jdz ««S)zV :return: The byte size of the private key, as an integer rn©rUrVrWryr-s r0Ú byte_sizezPrivateKeyInfo.byte_size›ó!€ô”4—9‘9˜TŸ]™]¨QÑ.Ó/Ó0Ð0r/có—td«‚)z¤ :return: If an RSA key, an RSAPublicKey object. If a DSA key, an Integer object. If an EC key, an ECPointBitString object. z…asn1crypto.keys.PrivateKeyInfo().public_key has been removed, please use oscrypto.asymmetric.PrivateKey().public_key.unwrap() insteadrer-s r0rLzPrivateKeyInfo.public_key¤s€ôð VóWð Wr/có—td«‚)z\ :return: A PublicKeyInfo object derived from this private key. z†asn1crypto.keys.PrivateKeyInfo().public_key_info has been removed, please use oscrypto.asymmetric.PrivateKey().public_key.asn1 insteadrer-s r0Úpublic_key_infozPrivateKeyInfo.public_key_info°s€ôð RóSð Sr/có—td«‚)aY Creates a fingerprint that can be compared with a public key to see if the two form a pair. This fingerprint is not compatible with fingerprints generated by any other software. :return: A byte string that is a sha256 hash of selected components (based on the key type) z~asn1crypto.keys.PrivateKeyInfo().fingerprint has been removed, please use oscrypto.asymmetric.PrivateKey().fingerprint insteadrer-s r0Ú fingerprintzPrivateKeyInfo.fingerprint»s€ôð NóOð Or/)r)r*r+r,rrMrr8r-rWÚ_spec_callbacksr\rwr]Ú _fingerprintrorarrrržrrrNryr|rLr€r‚r.r/s@r0rQrQ¸s+ø„ñð �GÐØ Ð"5Ð6Ø Ð+Ð,Ø �z°¸tÑ#DÐEð €Gò ð Ð(ð€Oð€JØ€IØ€KØ€LàñAóðAôJò" Lðñ$óð$ðBñ4óð4ð2ñóððñóðð&ñ1óð1ðñ Wóð WðñSóðSðñOóôOr/rQcó —eZdZdZdefdefgZy)ÚEncryptedPrivateKeyInfoz< Source: https://tools.ietf.org/html/rfc5208#page-4 Úencryption_algorithmÚencrypted_dataN)r)r*r+r,rrr-r.r/r0r†r†Îs!„ñð Ð!4Ð5Ø ˜;Ð'ð�Gr/r†có —eZdZdZdefdefgZy)ÚValidationParmsú= Source: https://tools.ietf.org/html/rfc3279#page-10 ršÚ pgen_counterN)r)r*r+r,rrr-r.r/r0rŠrŠÛs „ñð �ÐØ ˜Ð!ð�Gr/rŠcó>—eZdZdZdefdefdefdeddifdeddifgZy ) ÚDomainParametersr‹rIrKrJÚjrDTÚvalidation_paramsN)r)r*r+r,rrŠr-r.r/r0rŽrŽæsC„ñð ˆgˆØ ˆgˆØ ˆgˆØ ˆg˜  DÐ)Ð*Ø ˜o° ¸DÐ/AÐBð �Gr/rŽc ó*—eZdZdZdddddddd d d d œ Zy )ÚPublicKeyAlgorithmIdzM Original Name: None Source: https://tools.ietf.org/html/rfc3279 r<Ú rsaes_oaepr=r>r?Údhr@rArBrC) rDz1.2.840.113549.1.1.7rErFrGz1.2.840.10046.2.1rHrIrJrKNr7r.r/r0r’r’ôs.„ñð!&à ,à!-à"à!à!àØØ Øñ# �Dr/r’có:—eZdZdZdefdeddifgZdZee e e e dœZ y) ÚPublicKeyAlgorithmzd Original Name: AlgorithmIdentifier Source: https://tools.ietf.org/html/rfc5280#page-18 rNr�rDTrO)r>r?r”r“r=N)r)r*r+r,r’rr-r‘r1r rŽrrr’r.r/r0r–r–sE„ñð Ð*Ð+Ø �s˜Z¨Ð.Ð/ð€Gð ,€IàØ ØØ%Ø%ñ �Jr/r–cóØ—eZdZdZdefdefgZd„ZdeiZdZ dZ dZ dZ dZ ed„«Zd„Zed„«Zed „«Zed „«Zed „«Zed „«Zed „«Zed„«Zed„«Zy)Ú PublicKeyInfoze Original Name: SubjectPublicKeyInfo Source: https://tools.ietf.org/html/rfc5280#page-17 rNrLc óª—|ddj}tttttdfttdftdftdftdfdœ |S)NrN) r<r“r=r>r?r”r@rArBrC)rerFrrurrVs r0Ú_public_key_speczPublicKeyInfo._public_key_spec/sf€Ø˜Ñ% kÑ2×9Ñ9ˆ äÜ&Ü&Üô$ TÐ*Üô& tÐ,Ü# TÐ*Ü&¨Ð-Ü$ dÐ+ñ ð ñð r/Ncó¬—t|t«s.t|t«stt dt |«««‚|dk7r#|dk7rt t dt|«««‚t«}t|«|d<t«|d<|«}||d<t|t«r|j«j«}t|«|d<|S)a Wraps a public key in a PublicKeyInfo structure :param public_key: A byte string or Asn1Value object of the public key :param algorithm: A unicode string of "rsa" :return: A PublicKeyInfo object zW public_key must be a byte string or Asn1Value, not %s r<r=z> algorithm must "rsa", not %s rNr�rL)r"r rrYrr rhrr–r’rÚuntagÚdumpr)rZrLrNÚalgor`s r0razPublicKeyInfo.wrapLsÙ€ô˜*¤hÔ/¼ À:ÌyÔ8YÜœFðô˜*Ó%ó óð ð ˜Ò  )¨|Ò";ÜœVðô�Y“ó óð ô"Ó#ˆÜ0°Ó;ˆˆ[ÑÜ!›Vˆˆ\Ñá“Eˆ Ø!%ˆ �+ÑÜ �j¤)Ô ,Ø#×)Ñ)Ó+×0Ñ0Ó2ˆJÜ"8¸Ó"Dˆ �,ÑàÐr/có—td«‚)zÖ Unwraps an RSA public key into an RSAPublicKey object. Does not support DSA or EC public keys since they do not have an unwrapped form. :return: An RSAPublicKey object zvasn1crypto.keys.PublicKeyInfo().unwrap() has been removed, please use oscrypto.asymmetric.PublicKey().unwrap() insteadrer-s r0rzPublicKeyInfo.unwrapws€ôð JóKð Kr/cóú—|jdk7r-ttd|jj«««‚|dd}|j}|j dk(rd}n |j }|j |fS)rgr?rhrNr�rNrirks r0ržzPublicKeyInfo.curve„s~€ð �>‰>˜TÒ !ÜœVðð—‘×$Ñ$Ó&ó óð ð�kÑ" <Ñ0ˆØ—‘ˆà �;‰;˜-Ò '؉Eà—M‘MˆEà— ‘ ˜UÐ#Ð#r/có—|jdk7r-ttd|jj«««‚|dd}|j€yt j |djd«dz }|d krd Sd S) a# Returns the name of the family of hash algorithms used to generate a DSA key :raises: ValueError - when the key is not a DSA key :return: A unicode string of "sha1" or "sha2" or None if no parameters are present r>rmrNr�NrJrQrnrrorp)rNrhrrjrerVrX)rir�rqs r0rrzPublicKeyInfo.hash_algo¦s‹€ð �>‰>˜UÒ "ÜœVðð—‘×$Ñ$Ó&ó óð ð˜+Ñ& |Ñ4ˆ Ø × Ñ Ð $Øä—8‘8˜J s™O×2Ñ2°AÓ6¸Ñ:ˆà! RšˆvÐ3¨VÐ3r/có`—|j€|ddj|_|jS)rtrNrur-s r0rNzPublicKeyInfo.algorithmÅs/€ð �?‰?Ð "Ø" ;Ñ/° Ñ<×CÑCˆDŒOØ�‰Ðr/cóL—|j�€ |jdk(r;tt|dj«dz dz dz«|_|jS|jdk(s|jdk(r|dj dj}n$|jd k(r|d d d j}tt jt jd«««|_|jdz}|d k7r|xjd|z z c_|jS)zT :return: The bit size of the public key, as an integer r?rLrrQrnr<r=r<r>rNr�rIr) rwrNrUrfrercrVrWrXrxs r0ryzPublicKeyInfo.bit_sizeÐsý€ð �>‰>Ñ !Ø�~‰~ Ò%Ü!$¤s¨4° Ñ+=×+DÑ+DÓ'EÈÑ'IÈQÑ&NÐRSÑ%SÓ!T�”ð�~‰~Ðð—>‘> UÒ*¨d¯n©nÀ Ò.LØ  Ñ.×5Ñ5°iÑ@×GÑG‘EØ—^‘^ uÒ,Ø  Ñ-¨lÑ;¸CÑ@×GÑG�EÜ!$¤T§Y¡Y¬t¯x©x¸¸qÓ/AÓ%BÓ!C�”ØŸ.™.¨1Ñ,�ؘa’<Ø—N’N a¨'¡kÑ1•Nà�~‰~Ðr/cóX—ttj|jdz ««S)zU :return: The byte size of the public key, as an integer rnr{r-s r0r|zPublicKeyInfo.byte_sizeær}r/cóš—|j€4tjt|d««j «|_|jS)ze :return: The SHA1 hash of the DER-encoded bytes of this public key info rL)Ú_sha1Úhashlibror Údigestr-s r0rozPublicKeyInfo.sha1ïs;€ð �:‰:Ð Ü Ÿ™¤h¨t°LÑ/AÓ&BÓC×JÑJÓLˆDŒJØ�z‰zÐr/cóš—|j€4tjt|d««j «|_|jS)zh :return: The SHA-256 hash of the DER-encoded bytes of this public key info rL)Ú_sha256r§Úsha256r r¨r-s r0r«zPublicKeyInfo.sha256ús;€ð �<‰<Ð Ü"Ÿ>™>¬(°4¸ Ñ3EÓ*FÓG×NÑNÓPˆDŒLØ�|‰|Ðr/có—td«‚)aZ Creates a fingerprint that can be compared with a private key to see if the two form a pair. This fingerprint is not compatible with fingerprints generated by any other software. :return: A byte string that is a sha256 hash of selected components (based on the key type) z|asn1crypto.keys.PublicKeyInfo().fingerprint has been removed, please use oscrypto.asymmetric.PublicKey().fingerprint insteadrer-s r0r‚zPublicKeyInfo.fingerprints€ôð MóNð Nr/)r)r*r+r,r–rr-ršrƒr\rwr„r¦rªrorarrržrrrNryr|ror«r‚r.r/r0r˜r˜$s „ñð Ð(Ð)Ø Ð-Ð.ð€Gò ð( Ð&ð€Oð€JØ€IØ€LØ €EØ€Gàñ(óð(òT Kðñ$óð$ðBñ4óð4ð<ñóððñóðð*ñ1óð1ðñóððñóððñNóñNr/r˜)Hr,Ú __future__rrrrr§rVÚ_errorsrr Ú_typesr r Úalgosr r rrrÚcorerrrrrrrrrrrrrrrÚutilr r!r#r2r5r:rFrHrOrqrurwr~r‚r‡r�r”r—rœr¤r rrr1r3r8r;rMrQr†rŠrŽr’r–r˜r.r/r0úr³sïðñ ÷SÓRãÛ ç)ß'ßoÕo÷÷÷÷ñ÷"/ô �Xô ô!�jô!ô ˜7ô ô�Hôô&�8ôô�Hô÷(C ñC ôL ˆk˜8ô ô  �~ xô ô ˜wôô Ð ô ô Ð-ô ô �(ô ô˜ôô(ˆhôô" ˆHô ô ˜ô ô 'Ð!ô'ôD"*˜ô"*ôJ˜'ôô4B�8ô4Bôn �ô ô�ôô�ôôÐ,ôô4Ð.°ôô&SO�XôSOôl˜hôô�hôô �xô ôÐ+ôô6Ð-¨xôô*qN�HõqNr/