hyb
2026-01-30 44480e71b27aa9d4cb8441f50c873f1b110e9691
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
Ë
ž¬`i+2ãó²—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_Curve448.pyÚ    load_filer'sè€Ø€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&Úcompactr03s8€Ø
(‰(5‹/€CÜ ”U˜3“Z×'Ñ'¨¨RÓ0×8Ñ8¸¸bÓAÓ BÐBr)có¢—td«j«}t|dd«}tjd|¬«}||j «fS)Nz ecc_x448.txtéé
ÚCurve448)ÚcurveÚseed)r'Ú
splitlinesr0r Ú    constructÚ
public_key)Ú    key_linesr6Úkeys   r&Úcreate_ref_keys_x448r<8sG€Ü˜.Ó)×4Ñ4Ó6€IÜ 9˜Q˜r?Ó #€DÜ
-‰-˜j¨tÔ
4€CØ —‘Ó!Ð "Ð"r)có\—tj«jd«jS)NsSEED)r
ÚnewÚupdater©r)r&Úget_fixed_prngrA?s€Ü <‰<‹>×  Ñ   Ó )× .Ñ .Ð.r)cóŒ—t«}|j|«t«}|j|d«|jS)Né)rÚdecoder    Úvalue)ÚdataÚseqÚbss   r&Úextract_bitstring_from_spkirICs5€Ü
‹-€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_emptyMs€Ø ×Ñœ*¤c§n¡n°cÕ:r)cóh—d}t|«}|jttj|«y)NÚ`302e020100300506032b656f042204207009906b64ec727d5cb5c23007bf0425b3fd79014c6cd62ca3dddfcf0f278f79)rrMrNr rO)rQÚ mismatch_hexÚmismatchs   r&Ú test_mismatchzTestImport.test_mismatchPs'€àyˆ ܘ\Ó*ˆØ ×Ñœ*¤c§n¡n°hÕ?r)N)Ú__name__Ú
__module__Ú __qualname__rRrWr@r)r&rKrKKs „ò;ó@r)rKcóZ‡—eZdZˆfd„Zd„Zd„Zd„Zd„Zd„Zd„Z    d„Z
d    „Z d
„Z d „Z ˆxZS) ÚTestImport_Curve448cóZ•—tt|
|i|¤Žt«\|_|_y©N)Úsuperr\Ú__init__r<Ú ref_privateÚ
ref_public©rQÚargsÚkwargsÚ    __class__s   €r&r`zTestImport_Curve448.__init__Yó*ø€Ü Ô! 4Ñ1°4ÐB¸6ÒBÜ,@Ó,BÑ)ˆÔ˜$/r)cóB—td«}tj|«}|j|j|«tj
|d«}|j|j|«tj |«}|j|j|«y)Núecc_x448_public.der)r'r Ú_import_subjectPublicKeyInfoÚ assertEqualrbÚ _import_derrO©rQÚkey_filer;s   r&Útest_import_public_derz*TestImport_Curve448.test_import_public_der]sw€ÜÐ2Ó3ˆä×.Ñ.¨xÓ8ˆØ ×јŸ™¨#Ô.äo‰o˜h¨Ó-ˆØ ×јŸ™¨#Ô.än‰n˜XÓ&ˆØ ×јŸ™¨#Õ.r)cóà—td«}tj|d«}|j|j|«tj
|«}|j|j|«y)Núecc_x448_private.der©r'r rlrkrarOrms   r&Útest_import_pkcs8_derz)TestImport_Curve448.test_import_pkcs8_derisW€ÜÐ3Ó4ˆäo‰o˜h¨Ó-ˆØ ×ј×)Ñ)¨3Ô/än‰n˜XÓ&ˆØ ×ј×)Ñ)¨3Õ/r)cóâ—td«}tj|d«}|j|j|«tj
|d«}|j|j|«y)Nzecc_x448_private_p8.derÚsecretrrrms   r&Ú%test_import_private_pkcs8_encrypted_1z9TestImport_Curve448.test_import_private_pkcs8_encrypted_1rsY€ÜÐ6Ó7ˆäo‰o˜h¨Ó1ˆØ ×ј×)Ñ)¨3Ô/än‰n˜X xÓ0ˆØ ×ј×)Ñ)¨3Õ/r)có~—td«}tj|d«}|j|j|«y)Nzecc_x448_private_p8.pemru©r'r rOrkrarms   r&Ú%test_import_private_pkcs8_encrypted_2z9TestImport_Curve448.test_import_private_pkcs8_encrypted_2{s3€ÜÐ6Ó7ˆän‰n˜X xÓ0ˆØ ×ј×)Ñ)¨3Õ/r)cóâ—td«}tj|d«}|j|j|«tj
|d«}|j|j|«y)Nzecc_x448_private_p8_2.derrurrrms   r&Ú%test_import_private_pkcs8_encrypted_3z9TestImport_Curve448.test_import_private_pkcs8_encrypted_3sY€ÜÐ8Ó9ˆäo‰o˜h¨Ó1ˆØ ×ј×)Ñ)¨3Ô/än‰n˜X xÓ0ˆØ ×ј×)Ñ)¨3Õ/r)cóà—td«}tj|d«}|j|j|«tj
|«}|j|j|«y)Nzecc_x448_x509.der)r'r rlrkrbrOrms   r&Útest_import_x509_derz(TestImport_Curve448.test_import_x509_derŠsS€ÜÐ0Ó1ˆäo‰o˜h¨Ó-ˆØ ×јŸ™¨#Ô.än‰n˜XÓ&ˆØ ×јŸ™¨#Õ.r)có|—td«}tj|«}|j|j|«y)Núecc_x448_public.pem©r'r rOrkrbrms   r&Útest_import_public_pemz*TestImport_Curve448.test_import_public_pem“s/€ÜÐ2Ó3ˆän‰n˜XÓ&ˆØ ×јŸ™¨#Õ.r)có|—td«}tj|«}|j|j|«y)Núecc_x448_private.pemrxrms   r&Útest_import_private_pemz+TestImport_Curve448.test_import_private_pem™s1€ÜÐ3Ó4ˆän‰n˜XÓ&ˆØ ×ј×)Ñ)¨3Õ/r)có—dD]}}td|z«}tj|d«}|j|j|«tjt |«d«}|j|j|«Œy)N)Údes3Úaes128Úaes192Úaes256zecc_x448_private_enc_%s.pemruósecret)r'r rOrkrar)rQÚalgornr;s    r&Ú!test_import_private_pem_encryptedz5TestImport_Curve448.test_import_private_pem_encryptedŸsq€Ø8ò    4ˆDÜ Ð!>ÀÑ!EÓFˆHä—.‘. ¨8Ó4ˆCØ × Ñ ˜T×-Ñ-¨sÔ 3ä—.‘.¤ x£°)Ó<ˆCØ × Ñ ˜T×-Ñ-¨sÕ 3ñ    4r)có|—td«}tj|«}|j|j|«y)Nzecc_x448_x509.pemr€rms   r&Útest_import_x509_pemz(TestImport_Curve448.test_import_x509_pem©s/€ÜÐ0Ó1ˆän‰n˜XÓ&ˆØ ×јŸ™¨#Õ.r))rXrYrZr`rorsrvryr{r}rr„rŒrŽÚ __classcell__©rfs@r&r\r\Ws;ø„ôCò
/ò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_Curve448cóZ•—tt|
|i|¤Žt«\|_|_yr^)r_r’r`r<rarbrcs   €r&r`zTestExport_Curve448.__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_Curve448.test_export_public_der¶s€ÜÐ2Ó3ˆà—/‘/×>Ñ>¸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_clearz3TestExport_Curve448.test_export_private_pkcs8_clearÂs„€ÜÐ3Ó4ˆà×"Ñ"×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_encryptedz7TestExport_Curve448.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_Curve448.test_export_public_pemësH€Ü Ð!6¸Ó=×CÑCÓEˆ Ø—?‘?×-Ñ-°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_clearz1TestExport_Curve448.test_export_private_pem_clearðsJ€ÜÐ3°TÓ:×@Ñ@ÓBˆØ×"Ñ"×-Ñ-°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_encryptedz5TestExport_Curve448.test_export_private_pem_encryptedõsr€Ø×"Ñ"×-Ñ-°UØ9BØ9[ð.ó]ˆð
     ×Ñœ*¤c§n¡n°gÔ>à&¨'Ñ1Ð1Ð1ä—.‘. ¨(Ó3ˆØ ×ј×)Ñ)¨7Õ3r)có¨—|jjd¬«}|jt|«d«|j|t    d««y)NÚrawr–é8spe2abae24ab8f65b01969e61f84fee615b525f413a90e3d727f71d0ffe60fb1d0a1a0285f2a7fd88789206e0aa4f3e9fcb9e4ba5d644e691e)rbršrkÚlenr)rQrœs  r&Útest_export_rawz#TestExport_Curve448.test_export_rawsL€Ø—/‘/×,Ñ,°EÐ,Ó:ˆØ ×Ñœ˜W› rÔ*Ø ×ј¤)ð-`ó#aõ    br)cóė|jjdddt«¬«}|jjdddt«¬«}|j||«y)Nr°rur£©r—r¤r¥Úrandfunc©raršrArk©rQÚencoded1Úencoded2s   r&Ú    test_prngzTestExport_Curve448.test_prngsj€à×#Ñ#×.Ñ.°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_passphrasez2TestExport_Curve448.test_byte_or_string_passphrasesj€Ø×#Ñ#×.Ñ.°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_Curve448.test_error_params1sڀà ×Ñœ* 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<ø„ôCò
,ò 9ò4ò61ò
,ò
4òbò
 
-ò    -ö/r)r’có—eZdZd„Zy)ÚTestImport_Curve448_Weakcó—ddzddzz
dz
}dd|dz
||dzf}|D]f}tj|d«}tj|d¬«}|jd¬    «}|j    t
tj |«Œhy)
NriÀéàrCrÚcurve448)Úpointr5r°r–)r Ú    EccXPointÚEccKeyršrMrNrO)rQÚpÚweak_xÚxÚlow_order_pointÚweak_keyrœs       r&Ú test_weak_pemz&TestImport_Curve448_Weak.test_weak_pem=s”€à ˆs‰FQ˜‘V‰O˜aÑ ˆØØØa‘%ØØa‘%ð    ˆð ò    'ˆAÜ!Ÿm™m¨A¨zÓ:ˆOÜ—z‘z¨¸zÔJˆHØ×)Ñ)°Ð)Ó7ˆGà × Ñ œjÜ!Ÿn™nØ%õ 'ñ     'r)N)rXrYrZrØr@r)r&rÌrÌ;s„ó'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ÜPsk€Ø €Eð Ø ”¤Ó,Ñ,ˆØ ”Ô!4Ó5Ñ5ˆØ ”Ô!4Ó5Ñ5ˆØ ”Ô!9Ó:Ñ:ˆð €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/˜(×+Ñ+ôV/ôrH/˜(×+Ñ+ôH/ôV'˜x×0Ñ0ô'ð*ó    ð ˆzÒò/à€H‡MM˜gÖ&ðøðO
ò#Ø"Òð#úsÁC Ã CÃC