hyb
2026-01-30 15bc7727b58bf9ca0c8f21702fa893daac232b8d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
Ë
ž¬`i9ãó²—ddlZddlZddlZddlZddlmZddlmZddlmZddl    m
Z
m Z ddl m Z mZddlmZddlmZ    ddlZd    Zdd „Zd „Zd „Zd„Zd„ZGd„dej6«ZGd„dej6«ZGd„dej6«ZGd„dej6«Zifd„Z e!dk(rd„Z"ejFd¬«yy#e$rd
ZYŒwxYw)éN)Ú    unhexlify)ÚSkipTest)Úlist_test_cases)ÚtostrÚFileNotFoundError)Ú DerSequenceÚ DerBitString)ÚSHAKE128)ÚECCTFcóB—d}    ts<ttjt    j
tj«|«‚d}tj jtj«}tj jt    j j|g|¢­Ž|«}t||«5}|j«}ddd«|€t!d|z«‚|S#1swYŒxYw#t$rtjdtd¬«YŒEwxYw)N)Ú    PublicKeyr z(Warning: skipping extended tests for ECCé)Ú
stacklevelz
Missing %s)Útest_vectors_availablerÚerrnoÚENOENTÚosÚstrerrorÚpathÚdirnameÚpycryptodome_test_vectorsÚ__file__ÚjoinÚopenÚreadÚwarningsÚwarnÚ UserWarningr)Ú    file_nameÚmodeÚresultsÚ    dir_compsÚinit_dirÚfull_file_nameÚfile_ins       õƒH:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\Crypto/SelfTest/PublicKey/test_import_Curve25519.pyÚ    load_filer'4sè€Ø€Gð$Ý%Ü#¤E§L¡LÜ$&§K¡K´· ± Ó$=Ø$-ó/ð /ð)ˆ    Ü—7‘7—?‘?Ô#<×#EÑ#EÓFˆÜŸ™Ÿ™¤b§g¡g§l¡l°8Ð&H¸iÒ&HÈ)ÓTˆÜ . $Ó 'ð    %¨7Ø—l‘l“nˆG÷    %ð€Ü| iÑ/Ó0Ð0à €N÷    %ð    %ûô ò$܏ ‰ Ð@Ü!Ø!"÷    $ð$ús*„B;C6Â?C*ÃC6Ã*C3Ã/C6Ã6%DÄDcóŒ—dj|«}tt|«jdd«jdd««S)Nóú Úú:)rrrÚreplace)ÚlinesÚexts  r&Úcompactr0Ns8€Ø
(‰(5‹/€CÜ ”U˜3“Z×'Ñ'¨¨RÓ0×8Ñ8¸¸bÓAÓ BÐBr)có¢—td«j«}t|dd«}tjd|¬«}||j «fS)Nzecc_x25519.txtééÚ
Curve25519)ÚcurveÚseed)r'Ú
splitlinesr0r Ú    constructÚ
public_key)Ú    key_linesr6Úkeys   r&Úcreate_ref_keys_x25519r<SsH€ÜÐ*Ó+×6Ñ6Ó8€IÜ 9˜Q˜q>Ó "€DÜ
-‰-˜l°Ô
6€CØ —‘Ó!Ð "Ð"r)có\—tj«jd«jS)NsSEED)r
ÚnewÚupdater©r)r&Úget_fixed_prngrAZs€Ü <‰<‹>×  Ñ   Ó )× .Ñ .Ð.r)cóŒ—t«}|j|«t«}|j|d«|jS)Né)rÚdecoder    Úvalue)ÚdataÚseqÚbss   r&Úextract_bitstring_from_spkirI^s5€Ü
‹-€C؇JJˆtÔÜ    ‹€B؇IIˆc!‰fÔØ 8‰8€Or)có—eZdZd„Zd„Zy)Ú
TestImportcóN—|jttjd«y)Nr))Ú assertRaisesÚ
ValueErrorr Ú
import_key©Úselfs r&Ú
test_emptyzTestImport.test_emptyhs€Ø ×Ñœ*¤c§n¡n°cÕ:r)cóh—d}t|«}|jttj|«y)NÚ`302e020100300506032b656f042204207009906b64ec727d5cb5c23007bf0425b3fd79014c6cd62ca3dddfcf0f278f79)rrMrNr rO)rQÚ mismatch_hexÚmismatchs   r&Ú test_mismatchzTestImport.test_mismatchks'€àyˆ ܘ\Ó*ˆØ ×Ñœ*¤c§n¡n°hÕ?r)N)Ú__name__Ú
__module__Ú __qualname__rRrWr@r)r&rKrKfs „ò;ó@r)rKcóZ‡—eZdZˆfd„Zd„Zd„Zd„Zd„Zd„Zd„Z    d„Z
d    „Z d
„Z d „Z ˆxZS) ÚTestImport_Curve25519cóZ•—tt|
|i|¤Žt«\|_|_y©N)Úsuperr\Ú__init__r<Ú ref_privateÚ
ref_public©rQÚargsÚkwargsÚ    __class__s   €r&r`zTestImport_Curve25519.__init__tó*ø€Ü Ô# TÑ3°TÐD¸VÒDÜ,BÓ,DÑ)ˆÔ˜$/r)cóB—td«}tj|«}|j|j|«tj
|d«}|j|j|«tj |«}|j|j|«y)Núecc_x25519_public.der)r'r Ú_import_subjectPublicKeyInfoÚ assertEqualrbÚ _import_derrO©rQÚkey_filer;s   r&Útest_import_public_derz,TestImport_Curve25519.test_import_public_derxsw€ÜÐ4Ó5ˆä×.Ñ.¨xÓ8ˆØ ×јŸ™¨#Ô.äo‰o˜h¨Ó-ˆØ ×јŸ™¨#Ô.än‰n˜XÓ&ˆØ ×јŸ™¨#Õ.r)cóà—td«}tj|d«}|j|j|«tj
|«}|j|j|«y)Núecc_x25519_private.der©r'r rlrkrarOrms   r&Útest_import_pkcs8_derz+TestImport_Curve25519.test_import_pkcs8_der„sW€ÜÐ5Ó6ˆäo‰o˜h¨Ó-ˆØ ×ј×)Ñ)¨3Ô/än‰n˜XÓ&ˆØ ×ј×)Ñ)¨3Õ/r)cóâ—td«}tj|d«}|j|j|«tj
|d«}|j|j|«y)Nzecc_x25519_private_p8.derÚsecretrrrms   r&Ú%test_import_private_pkcs8_encrypted_1z;TestImport_Curve25519.test_import_private_pkcs8_encrypted_1sY€ÜÐ8Ó9ˆäo‰o˜h¨Ó1ˆØ ×ј×)Ñ)¨3Ô/än‰n˜X xÓ0ˆØ ×ј×)Ñ)¨3Õ/r)có~—td«}tj|d«}|j|j|«y)Nzecc_x25519_private_p8.pemru©r'r rOrkrarms   r&Ú%test_import_private_pkcs8_encrypted_2z;TestImport_Curve25519.test_import_private_pkcs8_encrypted_2–s3€ÜÐ8Ó9ˆän‰n˜X xÓ0ˆØ ×ј×)Ñ)¨3Õ/r)cóâ—td«}tj|d«}|j|j|«tj
|d«}|j|j|«y)Nzecc_x25519_private_p8_2.derrurrrms   r&Ú%test_import_private_pkcs8_encrypted_3z;TestImport_Curve25519.test_import_private_pkcs8_encrypted_3œsY€ÜÐ:Ó;ˆäo‰o˜h¨Ó1ˆØ ×ј×)Ñ)¨3Ô/än‰n˜X xÓ0ˆØ ×ј×)Ñ)¨3Õ/r)cóà—td«}tj|d«}|j|j|«tj
|«}|j|j|«y)Nzecc_x25519_x509.der)r'r rlrkrbrOrms   r&Útest_import_x509_derz*TestImport_Curve25519.test_import_x509_der¥sS€ÜÐ2Ó3ˆäo‰o˜h¨Ó-ˆØ ×јŸ™¨#Ô.än‰n˜XÓ&ˆØ ×јŸ™¨#Õ.r)có|—td«}tj|«}|j|j|«y)Núecc_x25519_public.pem©r'r rOrkrbrms   r&Útest_import_public_pemz,TestImport_Curve25519.test_import_public_pem®s/€ÜÐ4Ó5ˆän‰n˜XÓ&ˆØ ×јŸ™¨#Õ.r)có|—td«}tj|«}|j|j|«y)Núecc_x25519_private.pemrxrms   r&Útest_import_private_pemz-TestImport_Curve25519.test_import_private_pem´s1€ÜÐ5Ó6ˆän‰n˜XÓ&ˆØ ×ј×)Ñ)¨3Õ/r)có—dD]}}td|z«}tj|d«}|j|j|«tjt |«d«}|j|j|«Œy)N)Údes3Úaes128Úaes192Úaes256zecc_x25519_private_enc_%s.pemruósecret)r'r rOrkrar)rQÚalgornr;s    r&Ú!test_import_private_pem_encryptedz7TestImport_Curve25519.test_import_private_pem_encryptedºsq€Ø8ò    4ˆDÜ Ð!@À4Ñ!GÓHˆHä—.‘. ¨8Ó4ˆCØ × Ñ ˜T×-Ñ-¨sÔ 3ä—.‘.¤ x£°)Ó<ˆCØ × Ñ ˜T×-Ñ-¨sÕ 3ñ    4r)có|—td«}tj|«}|j|j|«y)Nzecc_x25519_x509.pemr€rms   r&Útest_import_x509_pemz*TestImport_Curve25519.test_import_x509_pemÄs/€ÜÐ2Ó3ˆän‰n˜XÓ&ˆØ ×јŸ™¨#Õ.r))rXrYrZr`rorsrvryr{r}rr„rŒrŽÚ __classcell__©rfs@r&r\r\rs;ø„ôEò
/ò0ò0ò0ò 0ò/ò/ò 0ò 4ö/r)r\cóZ‡—eZdZˆfd„Zd„Zd„Zd„Zd„Zd„Zd„Z    d„Z
d    „Z d
„Z d „Z ˆxZS) ÚTestExport_Curve25519cóZ•—tt|
|i|¤Žt«\|_|_yr^)r_r’r`r<rarbrcs   €r&r`zTestExport_Curve25519.__init__Írgr)có.—td«}|jjd«}|j||«|jj    d¬«}|j||«|jj    dd¬«}|j||«y)NriTÚDER©ÚformatF)r—Úcompress)r'rbÚ_export_subjectPublicKeyInforkÚ
export_key©rQrnÚencodeds   r&Útest_export_public_derz,TestExport_Curve25519.test_export_public_derÑs€ÜÐ4Ó5ˆà—/‘/×>Ñ>¸tÓDˆØ ×ј 7Ô+à—/‘/×,Ñ,°EÐ,Ó:ˆØ ×ј 7Ô+à—/‘/×,Ñ,°EÀEÐ,ÓJˆØ ×ј 7Õ+r)có(—td«}|jj«}|j||«|jj    d¬«}|j||«|j t |jjdd¬«y)Nrqr•r–F)r—Ú    use_pkcs8)r'raÚ _export_pkcs8rkršrMrNr›s   r&Útest_export_private_pkcs8_clearz5TestExport_Curve25519.test_export_private_pkcs8_clearÝs„€ÜÐ5Ó6ˆà×"Ñ"×0Ñ0Ó2ˆØ ×ј 7Ô+ð×"Ñ"×-Ñ-°UÐ-Ó;ˆØ ×ј 7Ô+à ×Ñœ* d×&6Ñ&6×&AÑ&AØ!&°%ð    õ    9r)có4—|jjdd¬«}|jttj
|d«t    j
|d«}|j |j|«|jjddd¬«}t    j|d«}|j |j|«|jjdddddi¬    «}t    j|d«}|j |j|«y)
Nruú PBKDF2WithHMAC-SHA1AndAES128-CBC)Ú
passphraseÚ
protectionr•©r—r¤r¥z"PBKDF2WithHMAC-SHA256AndAES128-CBCÚiteration_counté{)r—r¤r¥Ú prot_params)    rar rMrNr Ú _import_pkcs8rkršrO©rQrœÚdecodeds   r&Ú#test_export_private_pkcs8_encryptedz9TestExport_Curve25519.test_export_private_pkcs8_encryptedës €Ø×"Ñ"×0Ñ0¸HØ<^ð1ó`ˆð     ×Ñœ*¤c×&7Ñ&7¸À$ÔGä×#Ñ# G¨XÓ6ˆØ ×ј×)Ñ)¨7Ô3ð×"Ñ"×-Ñ-°UØ9AØ9[ð.ó]ˆô—.‘. ¨(Ó3ˆØ ×ј×)Ñ)¨7Ô3ð×"Ñ"×-Ñ-°UØ9AØ9]Ø;LÈcÐ:Rð.óTˆô—.‘. ¨(Ó3ˆØ ×ј×)Ñ)¨7Õ3r)có°—tdd«j«}|jjd¬«j«}|j    ||«y)NrÚrtÚPEMr–)r'Ústriprbršrk)rQÚ key_file_refrns   r&Útest_export_public_pemz,TestExport_Curve25519.test_export_public_pemsH€Ü Ð!8¸$Ó?×EÑEÓGˆ Ø—?‘?×-Ñ-°UÐ-Ó;×AÑAÓCˆØ ×ј xÕ0r)có°—tdd«j«}|jjd¬«j«}|j    ||«y)Nrƒr¯r°r–)r'r±raršrkr›s   r&Útest_export_private_pem_clearz3TestExport_Curve25519.test_export_private_pem_clear sJ€ÜÐ5°tÓ<×BÑBÓDˆØ×"Ñ"×-Ñ-°UÐ-Ó;×AÑAÓCˆØ ×ј 7Õ+r)cóú—|jjddd¬«}|jttj
|«d|vsJ‚t    j
|d«}|j |j|«y)Nr°rŠr£r¦zENCRYPTED PRIVATE KEYru)raršrMrNr rOrkr«s   r&Ú!test_export_private_pem_encryptedz7TestExport_Curve25519.test_export_private_pem_encryptedsr€Ø×"Ñ"×-Ñ-°UØ9BØ9[ð.ó]ˆð
     ×Ñœ*¤c§n¡n°gÔ>à&¨'Ñ1Ð1Ð1ä—.‘. ¨(Ó3ˆØ ×ј×)Ñ)¨7Õ3r)có¨—|jjd¬«}|jt|«d«|j|t    d««y)NÚrawr–é s@ff7561ef60c9c8a757f6d6372ec14142c9be208d0e719136d8d3c715dfcf7e15)rbršrkÚlenr)rQrœs  r&Útest_export_rawz%TestExport_Curve25519.test_export_rawsC€Ø—/‘/×,Ñ,°EÐ,Ó:ˆØ ×Ñœ˜W› rÔ*Ø ×ј¤)Ð,oÓ"pÕqr)cóė|jjdddt«¬«}|jjdddt«¬«}|j||«y)Nr°rur£©r—r¤r¥Úrandfunc©raršrArk©rQÚencoded1Úencoded2s   r&Ú    test_prngzTestExport_Curve25519.test_prng"sj€à×#Ñ#×.Ñ.°eØ:BØ:\Ü8FÓ8Hð/óJˆð×#Ñ#×.Ñ.°eØ:BØ:\Ü8FÓ8Hð/óJˆð     ×ј 8Õ,r)cóė|jjdddt«¬«}|jjdddt«¬«}|j||«y)Nr°rur£r¾rŠrÀrÁs   r&Útest_byte_or_string_passphrasez4TestExport_Curve25519.test_byte_or_string_passphrase.sj€Ø×#Ñ#×.Ñ.°eØ:BØ:\Ü8FÓ8Hð/óJˆð×#Ñ#×.Ñ.°eØ:CØ:\Ü8FÓ8Hð/óJˆð     ×ј 8Õ,r)cóÈ—|jt|jjd¬«|jt|jjdd¬«|jt|jjddd¬«|jt|jjddd    ¬
«|jt|jjd d¬«y) NÚXXXr–r°ru)r—r¤r+F)r—r¤rŸr£r¦ÚOpenSSH)rMrNraršrPs r&Útest_error_params1z(TestExport_Curve25519.test_error_params19sڀà ×Ñœ* d×&6Ñ&6×&AÑ&AÈ%ÐÔPð     ×Ñœ*Ø×*Ñ*×5Ñ5Ø!&Ø%-ð    ô    /ð      ×Ñœ*Ø×*Ñ*×5Ñ5Ø!&Ø%'Ø$)ð        ô    +ð
     ×Ñœ*Ø×*Ñ*×5Ñ5Ø!&Ø%'Ø%Gð        ô    Ið     ×Ñœ*Ø×*Ñ*×5Ñ5Ø!*Ø%-ð    õ    /r))rXrYrZr`rr¡r­r³rµr·r¼rÄrÆrÊrrs@r&r’r’Ës<ø„ôEò
,ò 9ò4ò61ò
,ò
4òrò
 
-ò    -ö/r)r’có—eZdZd„Zy)ÚTestImport_Curve25519_Weakc ó<—ddzdz
}dddd|dz
||dz|dz|dz|dzdz
|dz|dzdzf }|D]f}tj|d«}tj|d¬    «}|jd
¬ «}|j    t
tj |«Œhy) NréÿérrClàkõxíÂujaj\~|ObjZ®s”    ÛoP,E¯$¸l_+yŽBb$ :6gÁw[ˆ8câph[DS7èOWÚ
curve25519)Úpointr5r°r–)r Ú    EccXPointÚEccKeyršrMrNrO)rQÚpÚweak_xÚxÚlow_order_pointÚweak_keyrœs       r&Ú test_weak_pemz(TestImport_Curve25519_Weak.test_weak_pemXsÀ€à ˆs‰FR‰KˆØØØ]Ø_ؐa‘%ØØa‘%ØÐaÑaØÐcÑcؐa‘%˜!‘)ؐa‘%ؐa‘%˜!‘)ð ˆðò    'ˆAÜ!Ÿm™m¨A¨|Ó<ˆOÜ—z‘z¨¸|ÔLˆHØ×)Ñ)°Ð)Ó7ˆGà × Ñ œjÜ!Ÿn™nØ%õ 'ñ     'r)N)rXrYrZrÙr@r)r&rÌrÌVs„ó'r)rÌcó¼—g}    |tt«z }|tt«z }|tt«z }|tt«z }|S#t
$rY|SwxYwr^)rrKr\r’rÌr)ÚconfigÚtestss  r&Ú    get_testsrÝrsk€Ø €Eð Ø ”¤Ó,Ñ,ˆØ ”Ô!6Ó7Ñ7ˆØ ”Ô!6Ó7Ñ7ˆØ ”Ô!;Ó<Ñ<ˆð €Løô ò Ø Ø €Lð ús„AAÁ    AÁAÚ__main__có<—tjt««Sr^)ÚunittestÚ    TestSuiterÝr@r)r&Úsuitrâs€Ü×!Ñ!¤)£+Ó.Ð.r)Úsuite)Ú defaultTest)Úrb)$rrrràÚbinasciirrÚCrypto.SelfTest.st_commonrÚCrypto.Util.py3compatrrÚCrypto.Util.asn1rr    Ú Crypto.Hashr
ÚCrypto.PublicKeyr rrÚ ImportErrorr'r0r<rArIÚTestCaserKr\r’rÌrÝrXrâÚmainr@r)r&ú<module>rïsäðó>
Û ÛÛÝÝå5ß:ß6Ý å ð#Û$Ø!Ðó
ò4Cò
#ò/òô    @×"Ñ"ô    @ôV/˜H×-Ñ-ôV/ôrH/˜H×-Ñ-ôH/ôV' ×!2Ñ!2ô'ð8ó    ð ˆzÒò/à€H‡MM˜gÖ&ðøð]
ò#Ø"Òð#úsÁC Ã CÃC