/opt/imunify360/venv/lib/python3.11/site-packages/Crypto/PublicKey/__pycache__
NameSizeModeActions
DSA.cpython-311.pyc305080644editdlrm
ECC.cpython-311.pyc770760644editdlrm
ElGamal.cpython-311.pyc113410644editdlrm
RSA.cpython-311.pyc355940644editdlrm
_openssh.cpython-311.pyc59240644editdlrm
__init__.cpython-311.pyc31800644editdlrm
Edit: /opt/imunify360/venv/lib/python3.11/site-packages/Crypto/PublicKey/__pycache__/DSA.cpython-311.pyc (30508B)
§ Я2][Èãó—gd¢ZddlZddlZddlZddlmZmZmZmZm Z ddl m Z ddl m Z mZddlmZddlmZmZmZmZmZddlmZdd lmZmZmZdd lmZmZm Z Gd „d e!¦«Z"d „Z#dd„Z$dd„Z%d„Z&d„Z'd„Z(d„Z)d„Z*dd„Z+e+Z,dZ-dS))ÚgenerateÚ constructÚDsaKeyÚ import_keyéN)ÚbchrÚbordÚtobytesÚtostrÚ iter_range)ÚRandom)ÚPKCS8ÚPEM)ÚSHA256)Ú DerObjectÚ DerSequenceÚ DerIntegerÚ DerObjectIdÚ DerBitString)ÚInteger)Útest_probable_primeÚ COMPOSITEÚPROBABLY_PRIME)Ú_expand_subject_public_key_infoÚ_create_subject_public_key_infoÚ _extract_subject_public_key_infocó¦—eZdZdZgd¢Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zd „Zd„Zd„Z dd„ZeZe Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZdS)ra¼Class defining an actual DSA key. Do not instantiate directly. Use :func:`generate`, :func:`construct` or :func:`import_key` instead. :ivar p: DSA modulus :vartype p: integer :ivar q: Order of the subgroup :vartype q: integer :ivar g: Generator :vartype g: integer :ivar y: Public key :vartype y: integer :ivar x: Private key :vartype x: integer :undocumented: exportKey, publickey ©ÚyÚgÚpÚqÚxc óŽ—t| ¦«¦«}td¦«}| |¦«s"tdt ||z ¦«z¦«‚||z }|rB|td¦«kr/tdt |td¦«z ¦«z¦«‚t |¦«|_dS)N©rrr r!z$Some DSA components are missing = %s©r"zUnknown DSA components = %s)ÚsetÚkeysÚissubsetÚ ValueErrorÚstrÚdictÚ_key)ÚselfÚkey_dictÚ input_setÚ public_setÚ extra_sets úv/builddir/build/BUILD/imunify360-venv-2.6.3/opt/imunify360/venv/lib64/python3.11/site-packages/Crypto/PublicKey/DSA.pyÚ__init__zDsaKey.__init__gsȀݘŸ š ™œÑ(Ô(ˆ ÝÐ.Ñ/Ô/ˆ Ø×"Ò" 9Ñ-Ô-ð :ÝÐCÝ  ¨iÑ!7Ñ8Ô8ñ9ñ:ô:ð :à  Ñ*ˆ Ø ð ;˜¥c¨&¡k¤kÒ1Ð1ÝÐ:Ý  ­S°©[¬[Ñ!8Ñ9Ô9ñ:ñ;ô;ð ;嘑N”NˆŒ ˆ ˆ óc󔇗‰ ¦«std¦«‚d|cxkr ‰jksntd¦«‚ˆfd„dD¦«\}}}}t jd|¬¦«}||z |¦«}||z} t|||¦«|z} |||z| | zzz|z} tt| | f¦«S)Nz)DSA public key cannot be used for signingézk is not between 2 and q-1có*•—g|]}‰j|‘ŒS©©r,©Ú.0Úcompr-s €r2ú z DsaKey._sign..yóø€ÐGÐGÐG¨$�d”i ”oÐGÐGÐGr4)r"r!r r)Ú min_inclusiveÚ max_exclusive) Ú has_privateÚ TypeErrorr!r)rÚ random_rangeÚinverseÚpowÚmapÚint) r-ÚmÚkr"r!r rÚ blind_factorÚ inv_blind_kÚblind_xÚrÚss ` r2Ú_signz DsaKey._signssôø€Ø×ÒÑ!Ô!ð IÝÐGÑHÔHÐ HØ�A��’�˜œ’���ÝÐ9Ñ:Ô:Ð :àGÐGÐGÐGÐ2FÐGÑGÔG‰ ˆˆ1ˆa�åÔ+¸!Ø9:ð<ñ<ô<ˆ à# aÑ'×0Ò0°Ñ3Ô3ˆ Ø�lÑ"ˆå ��1�a‰LŒL˜1Ñ ˆØ ˜L¨1Ñ,¨w¸©{Ñ:Ñ ;¸qÑ @ˆÝ•3˜˜A˜ÑÔÐr4có8‡—|\}}ˆfd„dD¦«\}}}}d|cxkr|krnnd|cxkr|ksndSt|¦« |¦«} | |z|z} | |z|z} t|| |¦«t|| |¦«z|z|z} | |kS)Ncó*•—g|]}‰j|‘ŒSr8r9r:s €r2r=z"DsaKey._verify..†r>r4)rr!r rrF)rrDrE) r-rHÚsigrMrNrr!r rÚwÚu1Úu2Úvs ` r2Ú_verifyzDsaKey._verify„sÆø€Ø‰ˆˆ1ØGÐGÐGÐGÐ2FÐGÑGÔG‰ ˆˆ1ˆa�Ø�A� � ’ � ˜’ � � � �  1 q 9 9¢9 9¨1¢9 9 9 9Ø�5Ý �A‰JŒJ× Ò ˜qÑ !Ô !ˆØ�!‰e�q‰[ˆØ�!‰e�q‰[ˆÝ ��B˜‰]Œ]�S  B¨™]œ]Ñ *¨QÑ .°!Ñ 3ˆØ�AŠvˆ r4có—d|jvS)z!Whether this is a DSA private keyr"r9©r-s r2rAzDsaKey.has_private�s€ð�d”iÐÐr4có—dS)NFr8rYs r2Ú can_encryptzDsaKey.can_encrypt”s€Øˆur4có—dS)NTr8rYs r2Úcan_signzDsaKey.can_sign—s€Øˆtr4cóX‡—tˆfd„dD¦«¦«}t|¦«S)z^A matching DSA public key. Returns: a new :class:`DsaKey` object c3ó6•K—|]}|‰j|fV—ŒdS©Nr9)r;rIr-s €r2ú z$DsaKey.public_key..¡s.øèè€Ð QÐ Q°q ! T¤Y¨q¤\Ð!2Ð QÐ QÐ QÐ QÐ QÐ Qr4r$)r+r)r-Úpublic_componentss` r2Ú public_keyzDsaKey.public_keyšs8ø€õ!Ð QÐ QÐ QÐ QÐ.½s'ø€ÐAÐAÐA¨•�D”I˜d”OÑ$Ô$ÐAÐAÐAr4)r r!rr8rYs`r2Údomainz DsaKey.domain¶s ø€ðBÐAÐAÐA°ÐAÑAÔAÐAr4có¦—g}|jD]m}|dkr@t|j¦« ¦«}| d|fz¦«ŒHt ||¦«r| |¦«Œn| ¦«r| d¦«d|jjt|¦«d  |¦«fzS)Nr zp(%d)Úprivatez <%s @0x%x %s>ú,) rfrr Ú size_in_bitsÚappendÚhasattrrAÚ __class__Ú__name__ÚidÚjoin)r-ÚattrsrIÚbitss r2Ú__repr__zDsaKey.__repr__¿sŀ؈ؔð ð ˆAØ�CŠxˆxݘtœv‘”×3Ò3Ñ5Ô5�Ø— ’ ˜W¨ wÑ.Ñ/Ô/Ð/Ð/ݘ˜qÑ!Ô!ð Ø— ’ ˜Q‘”�øØ × Ò Ñ Ô ð $Ø �LŠL˜Ñ #Ô #Ð #à $¤.Ô"9½2¸d¹8¼8ÀSÇXÂXÈeÁ_Ä_Ð!UÑUÐUr4cór— t|j|¦«S#t$rt|¦«‚wxYwr`)rGr,ÚKeyErrorÚAttributeError)r-Úitems r2Ú __getattr__zDsaKey.__getattr__ÌsD€ð 'Ý�t”y ”Ñ'Ô'Ð 'øÝð 'ð 'ð 'Ý  Ñ&Ô&Ð &ð 'øøøs‚œ6rNcóò‡‡—|�t|¦«}|€ tj}|dkrcˆfd„dD¦«}d„Šˆfd„|D¦«}dg|z}d d „|D¦«¦«} d t j| ¦«dd …zSt ‰j‰j‰j g¦«} ‰  ¦«rµ|€d }|rS|sd }t‰j ¦«  ¦«} tj| t ||| |¬¦«} |rd} nd} d}n—|dkr|rt#d¦«‚d‰j‰j‰j ‰j‰j g}t |¦«  ¦«} d} n;|rt#d¦«‚t't t‰j¦«| ¦«} d} |dkr| S|dkr)t)j | | dz||¦«}t|¦«St#d|z¦«‚)a¯Export this DSA key. Args: format (string): The encoding for the output: - *'PEM'* (default). ASCII as per `RFC1421`_/ `RFC1423`_. - *'DER'*. Binary ASN.1 encoding. - *'OpenSSH'*. ASCII one-liner as per `RFC4253`_. Only suitable for public keys, not for private keys. passphrase (string): *Private keys only*. The pass phrase to protect the output. pkcs8 (boolean): *Private keys only*. If ``True`` (default), the key is encoded with `PKCS#8`_. If ``False``, it is encoded in the custom OpenSSL/OpenSSH container. protection (string): *Only in combination with a pass phrase*. The encryption scheme to use to protect the output. If :data:`pkcs8` takes value ``True``, this is the PKCS#8 algorithm to use for deriving the secret and encrypting the private DSA key. For a complete list of algorithms, see :mod:`Crypto.IO.PKCS8`. The default is *PBKDF2WithHMAC-SHA1AndDES-EDE3-CBC*. If :data:`pkcs8` is ``False``, the obsolete PEM encryption scheme is used. It is based on MD5 for key derivation, and Triple DES for encryption. Parameter :data:`protection` is then ignored. The combination ``format='DER'`` and ``pkcs8=False`` is not allowed if a passphrase is present. randfunc (callable): A function that returns random bytes. By default it is :func:`Crypto.Random.get_random_bytes`. Returns: byte string : the encoded key Raises: ValueError : when the format is unknown or when you try to encrypt a private key with *DER* format and OpenSSL/OpenSSH. .. warning:: If you don't provide a pass phrase, the private key will be exported in the clear! .. _RFC1421: http://www.ietf.org/rfc/rfc1421.txt .. _RFC1423: http://www.ietf.org/rfc/rfc1423.txt .. _RFC4253: http://www.ietf.org/rfc/rfc4253.txt .. _`PKCS#8`: http://www.ietf.org/rfc/rfc5208.txt NÚOpenSSHcóN•—g|]!}‰j| ¦«‘Œ"Sr8)r,Úto_bytes)r;r"r-s €r2r=z%DsaKey.export_key..s+ø€ÐJÐJÐJ°�D”I˜a”L×)Ò)Ñ+Ô+ÐJÐJÐJr4)r r!rrcóZ—t|d¦«dzrtd¦«|zS|S)Nré€)rrr%s r2ÚfunczDsaKey.export_key..funcs.€Ý˜˜1œ‘J”J Ñ%ðÝ ™7œ7 Q™;Ð&à�Hr4có&•—g|] }‰|¦«‘ŒSr8r8)r;r"rŒs €r2r=z%DsaKey.export_key..s!ø€Ð*Ð*Ð* �D�D˜‘G”GÐ*Ð*Ð*r4óssh-dssr4cóX—g|]'}tjdt|¦«¦«|z‘Œ(S)ú>I)ÚstructÚpackÚlen)r;Úkps r2r=z%DsaKey.export_key..s/€ÐPÐPÐPÀ�Vœ[¨­s°2©w¬wÑ7Ô7¸"Ñ<ÐPÐPÐPr4óssh-dss éÿÿÿÿTz"PBKDF2WithHMAC-SHA1AndDES-EDE3-CBC)Ú key_paramsÚrandfunczENCRYPTED PRIVATEÚPRIVATErz#DSA private key cannot be encryptedrz DSA PRIVATEz*PKCS#8 is only meaningful for private keysÚPUBLICÚDERz KEYz3Unknown key format '%s'. Cannot export the DSA key.)r r Úget_random_bytesr}ÚbinasciiÚ b2a_base64rr r!rrArr"Úencoder ÚwrapÚoidr)rrr)r-ÚformatÚpkcs8Ú passphraseÚ protectionr˜Útup1Útup2ÚkeypartsÚ keystringÚparamsÚ private_keyÚ binary_keyÚkey_typeÚintsÚpem_strrŒs` @r2Ú export_keyzDsaKey.export_keyÒsgøø€ðv Ð !Ý  Ñ,Ô,ˆJà Ð ÝÔ.ˆHà �YÒ Ð ØJÐJÐJÐJÐ5IÐJÑJÔJˆDð ð ð ð +Ð*Ð*Ð* TÐ*Ñ*Ô*ˆDØ"�| dÑ*ˆHØŸšØPÐPÀxÐPÑPÔPñôˆIð¥Ô!4°YÑ!?Ô!?ÀÀÀÔ!DÑDÐ Dõ˜dœf d¤f¨d¬fÐ5Ñ6Ô6ˆØ × Ò Ñ Ô ð Øˆ}Ø�Øð )Ø!ðFØ!E�JÝ(¨¬Ñ0Ô0×7Ò7Ñ9Ô9� Ý"œZØ +­S°*Ø *°vØ)1ð"ñ"ô"� ð ð)Ø2�H�Hà(�HØ!� � à˜U’?�? z�?Ý$Ð%JÑKÔKÐKؘ4œ6 4¤6¨4¬6°4´6¸4¼6ÐB�Ý(¨Ñ.Ô.×5Ò5Ñ7Ô7� Ø(��àð OÝ Ð!MÑNÔNÐNå8½Ý *¨4¬6Ñ 2Ô 2°Fñ<ô<ˆJàˆHà �UŠ?ˆ?ØÐ Ø �UŠ?ˆ?Ý”jØ *¨H°vÑ,=Ø *¨HñôˆGõ˜7Ñ#Ô#Ð #ÝÐNÐQWÑWÑXÔXÐXr4có —td¦«‚©Nz'Use module Crypto.Signature.DSS instead©ÚNotImplementedError)r-ÚMÚKs r2Úsignz DsaKey.signUó€Ý!Ð"KÑLÔLÐLr4có —td¦«‚r²r³)r-rµÚ signatures r2Úverifyz DsaKey.verifyXr¸r4có—t‚r`r³)r-Ú plaintextr¶s r2ÚencryptzDsaKey.encrypt[ó€Ý!Ð!r4có—t‚r`r³)r-Ú ciphertexts r2ÚdecryptzDsaKey.decrypt^r¿r4có—t‚r`r³©r-rµÚBs r2Úblindz DsaKey.blindar¿r4có—t‚r`r³rÄs r2ÚunblindzDsaKey.unblinddr¿r4có—t‚r`r³rYs r2Úsizez DsaKey.sizegr¿r4)rNNNN)r{Ú __module__Ú __qualname__Ú__doc__rfr3rOrWrAr[r]rcrjrlrprsr€r…r°Ú exportKeyÚ publickeyr·r»r¾rÂrÆrÈrÊr8r4r2rrNs•€€€€€ððð,)Ð(Ð(€Hð #ð #ð #ð ð ð ð" ð ð ð ð ð ð ðððððð)ð)ð)ðððð&ð&ð&ðððð BðBðBð Vð Vð Vð'ð'ð'ð ?CØ,0ð{Yð{Yð{Yð{Yð|€IØ€IðMðMðMðMðMðMð"ð"ð"ð"ð"ð"ð"ð"ð"ð"ð"ð"ð"ð"ð"ð"ð"r4rcóT‡‡‡‡—ddddœ |¦«}|€td|z¦«‚tjdzŠ|‰zdz ‰zdz }|dz |‰zz }t d ¦«}d|dz z}t ||¦«t krj|d ¦«Št jtj‰¦«  ¦«¦«|dz z}||zdz}t ||¦«t k°j|  ¦«|ksJ‚dŠd|dz z} ˆˆfd „t|dz¦«D¦«Šd „‰D¦«Štˆˆfd„t|¦«D¦«‰|d|zdz zd|‰zzz¦«}t ||z¦«} |   ¦«|ksJ‚| |dzz} | | dz z } |   ¦«|krt | |¦«t krn ‰|dzz ŠŒä| dz |z} tjd¦«D]Š} ‰dztd¦«zt | ¦« ¦«z}t jtj|¦«  ¦«¦«}t#|| | ¦«}|dkrnŒ‹| ||‰fS)z+Generate a new set of DSA domain parametersé éàé)ééé NzInvalid modulus length (%d)ér6éé@Tc 󦕗g|]M}tj‰t‰|z¦« ¦«z¦« ¦«‘ŒNSr8)rÚnewrr‰Údigest)r;ÚjÚoffsetÚseeds €€r2r=z$_generate_domain..„s\ø€ð +ð +ð +ØõŒj˜¥¨°© Ñ 3Ô 3× <Ò <Ñ >Ô >Ñ>Ñ?Ô?×FÒFÑHÔHð +ð +ð +r4có6—g|]}tj|¦«‘ŒSr8©rÚ from_bytes)r;rVs r2r=z$_generate_domain..†s#€Ð 0Ð 0Ð 0¨�gÔ  Ñ#Ô#Ð 0Ð 0Ð 0r4có2•—g|]}‰|d|‰zzz‘ŒS)r6r8)r;ÚiÚVÚoutlens €€r2r=z$_generate_domain..‡s+ø€ÐCÐCÐC°��1”˜˜q 6™zÑ*Ñ+ÐCÐCÐCr4ésggen)Úgetr)rÚ digest_sizerrrrârÛrÜrwr ÚsumÚ itertoolsÚcountrr‰rE)ÚLr˜ÚNÚnÚb_r!Ú upper_bitÚUÚWÚXÚcr ÚerìrrårÞrærßs @@@@r2Ú_generate_domainr÷ks øøøø€ð˜ 3Ð(Ð(×,Ò,¨QÑ/Ô/€AØ€yÝÐ6¸Ñ:Ñ;Ô;Ð;å Ô  !Ñ #€FØ ˆV‰�a‰˜FÑ" QÑ&€AØ ˆQ‰�!�f‘*Ñ €Bõ �‰ Œ €AØ�a˜!‘e‘ €IÝ ˜a Ñ *Ô *­nÒ <Ð <؈x˜‰|Œ|ˆÝ Ô �vœz¨$Ñ/Ô/×6Ò6Ñ8Ô8Ñ 9Ô 9¸Yȹ]Ñ KˆØ � ‰M˜AÑ ˆõ ˜a Ñ *Ô *­nÒ <Ð <ð �>Š>Ñ Ô ˜qÒ Ð Ð Ð ð€FØ�a˜!‘e‘ €Iðð +ð +ð +ð +ð +Ý! ! a¡%Ñ(Ô(ð +ñ +ô +ˆà 0Ð 0¨QÐ 0Ñ 0Ô 0ˆÝ ÐCÐCÐCÐCÐCµZÀ±]´]ÐCÑCÔCØ�1”˜!˜r™' Q™Ñ'¨A°!°f±*Ñ,=Ñ>ñ @ô @ˆõ �A˜ ‘MÑ "Ô "ˆØ�~Š~ÑÔ 1Ò$Ð$Ð$Ð$à ��Q‘‰KˆØ ��Q‘‰KˆØ �>Š>Ñ Ô ˜qÒ Ð Ý ˜q (Ñ +Ô +­~Ò =Ð =ØØ�!�a‘%‰ˆðð$ ˆQ‰�1‰ €AÝ” Ñ#Ô#ððˆØ �7‰N�T !™WœWÑ $¥w¨u¡~¤~×'>Ò'>Ñ'@Ô'@Ñ @ˆÝ Ô �vœz¨!™}œ}×3Ò3Ñ5Ô5Ñ 6Ô 6ˆÝ ��1�a‰LŒLˆØ �Š6ˆ6Ø ˆEð ð ˆq�!�Tˆ?Ðr4có—|€ tj}|r”tt|¦«\}}}t |¦«t k}|t |¦«t kz}||dz |zdkz}||dkp||kz}|t |||¦«dkz}|rtd¦«‚nt||¦«\}}}}|  ¦«}|  ¦«} ||krtd||fz¦«‚|| fdvrtd|| fz¦«‚d|cxkr|ksntd¦«‚tj | d z|¬ ¦«} | |dz zdz} t || |¦«} | |||| d œ} t| ¦«S) aÖGenerate a new DSA key pair. The algorithm follows Appendix A.1/A.2 and B.1 of `FIPS 186-4`_, respectively for domain generation and key pair generation. Args: bits (integer): Key length, or size (in bits) of the DSA modulus *p*. It must be 1024, 2048 or 3072. randfunc (callable): Random number generation function; it accepts a single integer N and return a string of random data N bytes long. If not specified, :func:`Crypto.Random.get_random_bytes` is used. domain (tuple): The DSA domain parameters *p*, *q* and *g* as a list of 3 integers. Size of *p* and *q* must comply to `FIPS 186-4`_. If not specified, the parameters are created anew. Returns: :class:`DsaKey` : a new DSA key object Raises: ValueError : when **bits** is too little, too big, or not a multiple of 64. .. _FIPS 186-4: http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf Nr6rzInvalid DSA domain parametersz?Mismatch between size of modulus (%d) and 'bits' parameter (%d)))rÔrÑ)rÕrÒ)rÕrÓ)rÖrÓz;Lengths of p and q (%d, %d) are not compatibleto FIPS 186-3zIncorrent DSA generatorrÙ)Ú exact_bitsr˜r) r rœrFrrrrEr)r÷rwÚrandomr)rr˜rsr r!rÚ fmt_errorÚ_rírîrõr"rr.s r2rr sã€ð<ÐÝÔ*ˆà ð6Ý•g˜vÑ&Ô&‰ˆˆ1ˆaõ(¨Ñ*Ô*­iÒ7ˆ ØÕ(¨Ñ+Ô+­yÒ8Ñ8ˆ à�q˜1‘u ‘k aÒ'Ñ'ˆ Ø�Q˜!’VÐ%˜q AšvÑ%ˆ Ø•S˜˜A˜q‘\”\ QÒ&Ñ&ˆ Ø ð >ÝÐ<Ñ=Ô=Ð =ð >õ& d¨HÑ5Ô5‰ ˆˆ1ˆa�à �ŠÑÔ€AØ �ŠÑÔ€AàˆD‚y€yÝð6Ø9:¸D¸ ñBñCôCð Cð ˆ1€vð0ð0ð0åð)Ø,-¨q¨6ñ2ñ3ô3ð 3ð ˆqˆ9ˆ9Š9ˆ9�1Š9ˆ9ˆ9ˆ9ÝÐ2Ñ3Ô3Ð3õ Œ ! b¡&°8Ð<Ñ<Ô<€AØ ˆQ�‰U‰ �a‰€AÝ ˆAˆq�!‰ Œ €Aà˜A 1¨!°Ð4Ð4€HÝ �(Ñ Ô Ðr4Tc óÖ—ttdtt|¦«¦«¦«}t |¦«}d}|�rt |j¦«tk}|t |j¦«tkz}||jdz |jzdkz}||j dkp|j |jkz}|t|j |j|j¦«dkz}||j dkp|j |jkz}t|d¦«rJ||j dkp|j |jkz}|t|j |j |j¦«|j kz}|rtd¦«‚|S)a²Construct a DSA key from a tuple of valid DSA components. Args: tup (tuple): A tuple of long integers, with 4 or 5 items in the following order: 1. Public key (*y*). 2. Sub-group generator (*g*). 3. Modulus, finite field order (*p*). 4. Sub-group order (*q*). 5. Private key (*x*). Optional. consistency_check (boolean): If ``True``, the library will verify that the provided components fulfil the main DSA properties. Raises: ValueError: when the key being imported fails the most basic DSA validity checks. Returns: :class:`DsaKey` : a DSA key object rFr6rr"zInvalid DSA key components)r+ÚziprFrrrr rr!rrErryr"r))ÚtupÚconsistency_checkr.Úkeyrûs r2rrésS€õ2•CÐ1µ3µwÀÑ3DÔ3DÑEÔEÑFÔF€HÝ �Ñ Ô €Cà€IØñ ;å'¨¬Ñ.Ô.µ)Ò;ˆ ØÕ(¨¬Ñ/Ô/µ9Ò<Ñ<ˆ à�s”u˜q‘y C¤EÑ)¨aÒ/Ñ/ˆ Ø�S”U˜a’ZÐ1 3¤5¨C¬E¢>Ñ1ˆ Ø•S˜œ ¤ s¤uÑ-Ô-°Ò2Ñ2ˆ à�S”U˜a’ZÐ1 3¤5¨C¬E¢>Ñ1ˆ Ý �3˜Ñ Ô ð ;Ø ˜œ !šÐ5 s¤u°´¢~Ñ 5ˆIØ �˜SœU C¤E¨3¬5Ñ1Ô1°S´UÒ:Ñ :ˆIàð7ÝÐ5Ñ6Ô6Ð6à €Jr4cóÞ‡—|rtd¦«‚t¦« |dd¬¦«Š‰ddkrtd¦«‚ˆfd„dD¦«}t|¦«S) Nz-DSA private key already comes with parameterséT)Ú nr_elementsÚonly_ints_expectedrzNo version foundcó •—g|] }‰|‘Œ Sr8r8)r;r<Úders €r2r=z+_import_openssl_private..'sø€Ð 1Ð 1Ð 1˜ˆ3ˆtŒ9Ð 1Ð 1Ð 1r4)rØér6rçé)r)rÚdecoder)Úencodedr¤rªrÿrs @r2Ú_import_openssl_privater !szø€Ø ðJÝÐHÑIÔIÐIÝ ‰-Œ-× Ò ˜w°AÈ$Ð Ñ OÔ O€CØ ˆ1„v�‚{€{ÝÐ+Ñ,Ô,Ð,Ø 1Ð 1Ð 1Ð 1 Ð 1Ñ 1Ô 1€CÝ �S‰>Œ>Ðr4có`—t|¦«\}}}|tkrtd¦«‚|r|rtd¦«‚t¦« |¦«j}t t¦« |p|¦«¦«\}}} || ||f} t| ¦«S)NzNo DSA subjectPublicKeyInfozToo many DSA parameters) rr¡r)rr ÚvalueÚlistrr) r r¤rªÚalgoidÚ encoded_keyÚ emb_paramsrr r!rrÿs r2Ú_import_subjectPublicKeyInfor+s©€å'FÀwÑ'OÔ'OÑ#€FˆK˜Ø •‚}€}ÝÐ6Ñ7Ô7Ð7Ø ð4�*ð4ÝÐ2Ñ3Ô3Ð3å‰ Œ ×Ò˜KÑ(Ô(Ô.€AÝ•;‘=”=×'Ò'¨Ð(<°*Ñ=Ô=Ñ>Ô>�G€A€qˆ!Ø ˆa��Aˆ,€CÝ �S‰>Œ>Ðr4cóB—t|¦«}t|d|¦«Sr`)rr)r r¤rªÚsp_infos r2Ú_import_x509_certr9s!€å.¨wÑ7Ô7€GÝ '¨°°vÑ >Ô >Ð>r4có —|rtd¦«‚tj||¦«}|dtkrtd¦«‚t ¦« |d¦«j}tt¦« |d¦«¦«\}}}t|||¦«||||f}t|¦«S)Nz"PKCS#8 already includes parametersrzNo PKCS#8 encoded DSA keyr6rç) r)r Úunwrapr¡rr rrrrEr) r r¤rªrIr"r r!rrÿs r2Ú _import_pkcs8r?s³€Ø ð?ÝÐ=Ñ>Ô>Ð>Ý Œ �W˜jÑ)Ô)€A؈„t�s‚{€{ÝÐ4Ñ5Ô5Ð5݉ Œ ×Ò˜A˜aœDÑ!Ô!Ô'€AÝ•;‘=”=×'Ò'¨¨!¬Ñ-Ô-Ñ.Ô.�G€A€qˆ!Ý ˆq�!�Q‰<Œ<˜˜A˜q !Ð $€CÝ �S‰>Œ>Ðr4cóœ—ttttf}|D]!} ||||¦«cS#t$rYŒwxYwt d¦«‚)z?Import a DSA key (public or private half), encoded in DER form.úDSA key format is not supported)r rrrr))Úkey_datar¤rªÚ decodingsÚdecodings r2Ú_import_key_derrKsx€õ)Ý-Ý"Ýð €Ið ððˆð Ø�8˜H j°&Ñ9Ô9Ð 9Ð 9Ð 9øÝð ð ð Ø ˆDð øøøõ Ð6Ñ 7Ô 7Ð7s   /¯ <»<cóB‡—t|¦«}|�t|¦«}| d¦«r;tjt |¦«|¦«\}}}|rd}t ||d¦«S| d¦«rÎt j| d¦«d¦«}gŠt|¦«dkrctj d|dd…¦«d}‰  |dd|z…¦«|d|zd…}t|¦«dk°c‰dd krˆfd „d D¦«}t|¦«St|¦«dkr*t|d¦«d krt ||d¦«Std ¦«‚)aðImport a DSA key. Args: extern_key (string or byte string): The DSA key to import. The following formats are supported for a DSA **public** key: - X.509 certificate (binary DER or PEM) - X.509 ``subjectPublicKeyInfo`` (binary DER or PEM) - OpenSSH (ASCII one-liner, see `RFC4253`_) The following formats are supported for a DSA **private** key: - `PKCS#8`_ ``PrivateKeyInfo`` or ``EncryptedPrivateKeyInfo`` DER SEQUENCE (binary or PEM) - OpenSSL/OpenSSH custom format (binary or PEM) For details about the PEM encoding, see `RFC1421`_/`RFC1423`_. passphrase (string): In case of an encrypted private key, this is the pass phrase from which the decryption key is derived. Encryption may be applied either at the `PKCS#8`_ or at the PEM level. Returns: :class:`DsaKey` : a DSA key object Raises: ValueError : when the given key cannot be parsed (possibly because the pass phrase is wrong). .. _RFC1421: http://www.ietf.org/rfc/rfc1421.txt .. _RFC1423: http://www.ietf.org/rfc/rfc1423.txt .. _RFC4253: http://www.ietf.org/rfc/rfc4253.txt .. _PKCS#8: http://www.ietf.org/rfc/rfc5208.txt Ns-----r•ó r6rØr�rrŽcóD•—g|]}tj‰|¦«‘ŒSr8rá)r;r"r¨s €r2r=zimport_key..˜s(ø€ÐIÐIÐI°q•7Ô% h¨q¤kÑ2Ô2ÐIÐIÐIr4)rØrr6rçé0r)r Ú startswithrr r rr�Ú a2b_base64Úsplitr“r‘Úunpackrxrrr)) Ú extern_keyr¤rÚmarkerÚenc_flagr©Úlengthrÿr¨s @r2rr\sªø€õP˜Ñ$Ô$€JØÐݘZÑ(Ô(ˆ à×Ò˜XÑ&Ô&ð6å"%¤*­U°:Ñ->Ô->À Ñ"KÔ"Kшˆf�hØ ð ØˆJݘs J°Ñ5Ô5Ð5à×Ò˜[Ñ)Ô)ð "åÔ'¨ ×(8Ò(8¸Ñ(>Ô(>¸qÔ(AÑBÔBˆ ؈Ý�)‰nŒn˜qÒ Ð Ý”] 4¨°2°A°2¬Ñ7Ô7¸Ô:ˆFØ �OŠO˜I a¨¨F©  lÔ3Ñ 4Ô 4Ð 4Ø! ! f¡* + +Ô.ˆIõ�)‰nŒn˜qÒ Ð ð �AŒ;˜*Ò $Ð $ØIÐIÐIÐI¸LÐIÑIÔIˆCݘS‘>”>Ð !å ˆ:�„˜ÒÐ�t J¨q¤MÑ2Ô2°dÒ:Ð:å˜z¨:°tÑ<Ô<Ð<å Ð6Ñ 7Ô 7Ð7r4z1.2.840.10040.4.1)NN)Tr`).Ú__all__r�r‘rëÚCrypto.Util.py3compatrrr r r ÚCryptor Ú Crypto.IOr rÚ Crypto.HashrÚCrypto.Util.asn1rrrrrÚCrypto.Math.NumbersrÚCrypto.Math.PrimalityrrrÚCrypto.PublicKeyrrrÚobjectrr÷rrr rrrrrÚ importKeyr¡r8r4r2úr7sFðð2 =Ð <Ð <€à€€€Ø € € € ØÐÐÐàHÐHÐHÐHÐHÐHÐHÐHÐHÐHÐHÐHÐHÐHàÐÐÐÐÐØ Ð Ð Ð Ð Ð Ð Ð ØÐÐÐÐÐððððððððððððððð (Ð'Ð'Ð'Ð'Ð'ð3ð3ð3ð3ð3ð3ð3ð3ð3ð3ð@ð@ð@ð@ð@ð@ð@ð@ð@ð@ð@Z"ðZ"ðZ"ðZ"ðZ"ˆVñZ"ôZ"ðZ"ðz2ð2ð2ðjFðFðFðFðR.ð.ð.ð.ðpððð ð ð ð?ð?ð?ð ð ð ð8ð8ð8ð"C8ðC8ðC8ðC8ðN € ð€€€r4