]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
sm2: add some signing tests.
authorPauli <ppzgs1@gmail.com>
Wed, 9 Jul 2025 02:54:21 +0000 (12:54 +1000)
committerPauli <ppzgs1@gmail.com>
Wed, 23 Jul 2025 08:22:53 +0000 (18:22 +1000)
Because SM2 uses entropy as part of it's signing process, there were no
signing tests under evp_test.  This corrects the shortcoming.

Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
(Merged from https://github.com/openssl/openssl/pull/27997)

test/recipes/30-test_evp_data/evppkey_sm2.txt

index b09135ec0d36c3c1a8d53051a0e5c857b9b63c34..1ddd4cb472e576bb731239b8f66f668a5b13b1f5 100644 (file)
@@ -86,3 +86,118 @@ Decrypt = SM2_key1
 Ctrl = digest:SHAKE128
 Input = 3081DD022100CD49634BBCB21CAFFFA6D33669A5A867231CB2A942A14352EF4CAF6DC3344D54022100C35B41D4DEBB3A2735EFEE821B9EBA566BD86900176A0C06672E30EE5CC04E930420C4190A3D80D86C4BD20E99F7E4B59BF6427C6808793533EEA9591D1188EC56B50473747295470E81D951BED279AC1B86A1AFE388CD2833FA9632799EC199C7D364E5663D5A94888BB2358CFCBF6283184DE0CBC41CCEA91D24746E99D231A1DA77AFD83CDF908190ED628B7369724494568A27C782A1D1D7294BCAD80C34569ED22859896301128A8118F48924D8CCD43E998D9533
 Result = KEYOP_ERROR
+
+Title = SM2 Additional signing tests manually generated
+
+PrivateKey = SM2_key2
+-----BEGIN PRIVATE KEY-----
+MIGHAgEAMBMGByqGSM49AgEGCCqBHM9VAYItBG0wawIBAQQgSKhk+4xGyDI+IS2H
+WVfFPDxh1qv5+wtrddaIsGNXGZihRANCAAQwqeNkWp7fiu1KZnuDkAucpM8piEzE
+TL1ymrcrOBvv8mhNNkeb20asbWgFQI2zOrSM99/sXGn9rM2/usM/Mlca
+-----END PRIVATE KEY-----
+
+Sign = SM2_key1
+Ctrl = digest:SM3
+Input = 0000000000000000000000000000000000000000000000000000000000000000
+Output = 3045022100852611F744AF045689DCFBF4C0437730D2D2DE332AB7F0FC02769C5FAB8A8943022005CB8D655B6200D0F35F9DA556EFFF9559A4AF8767ED8B5033B058B0BB1B8CB6
+Test-Entropy = 1111111111111111111111111111111111111111111111111111111111111111
+
+Sign = SM2_key1
+Ctrl = digest:SM3
+Input = FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+Output = 3046022100852611F844AF045689DCFBF4C043773160CEFEC808F1EBD0AEBAA85671B5481F022100EF493EFB759B7528DC2DE18D78BF1918F9B449E1603035D410C7B04633CCC76A
+Test-Entropy = 1111111111111111111111111111111111111111111111111111111111111111
+
+Sign = SM2_key1
+Ctrl = digest:SM3
+Input = 0000000000000000000000000000000000000000000000000000000000000000
+Output = 3045022100852611F744AF045689DCFBF4C0437730D2D2DE332AB7F0FC02769C5FAB8A8943022005CB8D655B6200D0F35F9DA556EFFF9559A4AF8767ED8B5033B058B0BB1B8CB6
+Test-Entropy = 11
+
+Sign = SM2_key1
+Ctrl = digest:SM3
+Input = FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+Output = 3046022100852611F844AF045689DCFBF4C043773160CEFEC808F1EBD0AEBAA85671B5481F022100EF493EFB759B7528DC2DE18D78BF1918F9B449E1603035D410C7B04633CCC76A
+Test-Entropy = 11
+
+Sign = SM2_key2
+Ctrl = digest:SM3
+Input = 0000000000000000000000000000000000000000000000000000000000000000
+Output = 3045022100852611F744AF045689DCFBF4C0437730D2D2DE332AB7F0FC02769C5FAB8A894302200A3AB0C0890754ACDB40DD63533FAD42B8E1AD4EFB30E7CA3CB77CD8CF775E28
+Test-Entropy = 11
+
+Sign = SM2_key2
+Ctrl = digest:SM3
+Input = FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+Output = 3044022100852611f844af045689dcfbf4c043773160cefec808f1ebd0aebaa85671b5481f021f5a372873c554f7d8cb23d85aa585e4ee91eb75b1f155a487cbcff09dfe39de
+Test-Entropy = 11
+
+Sign = SM2_key1
+Ctrl = digest:SM3
+Input = 0000000000000000000000000000000000000000000000000000000000000000
+Output = 3045022100BE06C6806B2AFD7E4AAD7ACCE392394F58F419C71EE67C42E94ED2F8AC2A4A7E0220329A728AF9EE20B52BD7963C058557599E8B6F34894679B9908E5B1B07BFE347
+Test-Entropy = 88
+
+Sign = SM2_key1
+Ctrl = digest:SM3
+Input = FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+Output = 3045022100BE06C6816B2AFD7E4AAD7ACCE392394FE6F03A5BFD2077179592DEEF7255095A02201C1824221427950D14A5DA24275470DDCC972A235FC31F1219E9BEA7469BDCD8
+Test-Entropy = 88
+
+Sign = SM2_key2
+Ctrl = digest:SM3
+Input = 0000000000000000000000000000000000000000000000000000000000000000
+Output = 3045022100BE06C6806B2AFD7E4AAD7ACCE392394F58F419C71EE67C42E94ED2F8AC2A4A7E022044167A18C95A299005663D21C75FBD0A30CF73924607ECD1F1BD6DD3CF150A59
+Test-Entropy = 88
+
+Sign = SM2_key2
+Ctrl = digest:SM3
+Input = FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+Output = 3045022100BE06C6816B2AFD7E4AAD7ACCE392394FE6F03A5BFD2077179592DEEF7255095A02203A360080B41829DB02F08396CEC595AC667FB1B8FCC85AAC3CD1C0EB9D9BE60F
+Test-Entropy = 88
+
+Sign = SM2_key1
+Ctrl = digest:SM3
+Input = B1139602C6ECC9E15E2F3F9C635A1AFE737058BC15387479C1EA0D0B3D90E9E5
+Output = 3045022100E9E6E591655C99D47608E654AB6612CFD5825697776408C4A4CADCA36B1CEE200220766BFC7593A0210BE81F3FF6E7794690E4879066787C7E2A97A7A87F44A4098A
+Test-Entropy = 31139602C6ECC9E15E2F3F9C635A1AFE737058BC15387479C1EA0D0B3D90E9E5
+
+Sign = SM2_key2
+Ctrl = digest:SM3
+Input = B1139602C6ECC9E15E2F3F9C635A1AFE737058BC15387479C1EA0D0B3D90E9E5
+Output = 3045022100E9E6E591655C99D47608E654AB6612CFD5825697776408C4A4CADCA36B1CEE2002204D48F49A2FA766B871DD3D5B0B7061C0900B0584FAD313F8714B21B1955D0724
+Test-Entropy = 31139602C6ECC9E15E2F3F9C635A1AFE737058BC15387479C1EA0D0B3D90E9E5
+
+Sign = SM2_key1
+Input = 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF
+Output = 304502203563C71F91B121F939FA62D9A57C40C796A1F37D386420D621A9F0B3E30E868A0221008E72854887DA2F0D88605F6EF6EC7A9451085C9D1B04A1D0B2DB6BCF4E5BE1EF
+Test-Entropy = 0123456789ABCDEF
+
+Sign = SM2_key2
+Input = 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF
+Output = 304502203563C71F91B121F939FA62D9A57C40C796A1F37D386420D621A9F0B3E30E868A022100EE1695770B088963F1AC2098ECFEFE216FF85537CF58E833A4DFE76F2DAB787A
+Test-Entropy = 0123456789ABCDEF
+
+Sign = SM2_key1
+Ctrl = digest:SM3
+Input = FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210
+Output = 30450220331D3C517E59861B37B3D80A9224A4EA2257894303467FCCCBA771DB95E1A988022100F35FB5B5F5C4BACAFFA611AE03E03868B81816AE830A44FC8E3427C262776D40
+Test-Entropy = 0123456789ABCDEF
+
+Sign = SM2_key2
+Ctrl = digest:SM3
+Input = FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210FEDCBA9876543210
+Output = 30450220331D3C517E59861B37B3D80A9224A4EA2257894303467FCCCBA771DB95E1A988022100873AF4633532792D4EB3318A33B8D0569DF80A6347059948445B68E90F49CFB2
+Test-Entropy = 0123456789ABCDEF
+
+Sign = SM2_key1
+Ctrl = digest:SM3
+Input = 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF
+Output = 3045022100CA3E6670FDB3D06737F9C643E261782BFF307C3F40F1CAFDAD37EB25406C462E02202DBE79EF1356CB600603E5141BD16BF22C2A8C346F3623D6FAC98C6F6992B416
+Test-Entropy = FEDCBA9876543210
+
+Sign = SM2_key2
+Ctrl = digest:SM3
+Input = 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF
+Output = 3045022100CA3E6670FDB3D06737F9C643E261782BFF307C3F40F1CAFDAD37EB25406C462E02207397C9DE5CAE748ED145AC994D32E4BDDDED26766A178A643C1F581672656F73
+Test-Entropy = FEDCBA9876543210