test_suite_pk: add python script to generate predefined keys
This commit adds "generate_test_keys.py" script to generate
predefined keys used in test_suite_pk. Keys are generated with
"programs/pkey/gen_key" tool and converted to C array using
the python script.
tests/src/test_keys.h is automatically generated using the
above mentioned script.
test_suite_pk is updated in order to use the new format.
Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
diff --git a/tests/scripts/generate_test_keys.py b/tests/scripts/generate_test_keys.py
new file mode 100755
index 0000000..c2d23c9
--- /dev/null
+++ b/tests/scripts/generate_test_keys.py
@@ -0,0 +1,103 @@
+#!/usr/bin/env python3
+
+# Copyright The Mbed TLS Contributors
+# SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
+
+"""Module generating EC and RSA keys to be used in test_suite_pk instead of
+generating the required key at run time. This helps speeding up testing."""
+
+import os
+import sys
+import subprocess
+
+KEY_GEN = "./programs/pkey/gen_key"
+TMP_DER_FILE = "tmp_key.der"
+OUTPUT_HEADER_FILE = "./tests/src/test_keys.h"
+BYTES_PER_LINE = 12
+
+KEYS = {
+ # RSA keys
+ 'test_rsa_1024': ['rsa', '1024'],
+ 'test_rsa_1026': ['rsa', '1026'],
+ 'test_rsa_1028': ['rsa', '1028'],
+ 'test_rsa_1030': ['rsa', '1030'],
+ 'test_rsa_2048': ['rsa', '2048'],
+ 'test_rsa_4096': ['rsa', '4096'],
+ # EC keys
+ 'test_ec_secp192r1': ['ec', 'secp192r1'],
+ 'test_ec_secp224r1': ['ec', 'secp224r1'],
+ 'test_ec_secp256r1': ['ec', 'secp256r1'],
+ 'test_ec_secp384r1': ['ec', 'secp384r1'],
+ 'test_ec_secp521r1': ['ec', 'secp521r1'],
+ 'test_ec_bp256r1': ['ec', 'brainpoolP256r1'],
+ 'test_ec_bp384r1': ['ec', 'brainpoolP384r1'],
+ 'test_ec_bp512r1': ['ec', 'brainpoolP512r1'],
+ 'test_ec_curve25519': ['ec', 'x25519'],
+ 'test_ec_secp192k1': ['ec', 'secp192k1'],
+ 'test_ec_secp256k1': ['ec', 'secp256k1'],
+ 'test_ec_curve448': ['ec', 'x448'],
+}
+
+def generate_der_file(curve_type: str, curve_or_bits: str):
+ if not os.path.exists(KEY_GEN):
+ raise Exception("Key generation program does not exist.")
+ if curve_type == 'ec':
+ cob_param = 'ec_curve=' + curve_or_bits
+ else:
+ cob_param = 'rsa_keysize=' + curve_or_bits
+
+ subprocess.run([KEY_GEN, 'type=' + curve_type, cob_param,
+ 'format=der', 'filename=' + TMP_DER_FILE], check=True)
+
+def convert_der_to_c(array_name: str) -> str:
+ """Convert a DER file content to a C array. The name of such array is
+ provided as input parameter. The file to be converted is the temporary
+ TMP_DER_FILE."""
+ output_text = "const unsigned char {}[] = {{\n".format(array_name)
+
+ with open(TMP_DER_FILE, 'rb') as input_file:
+ data_block = input_file.read(BYTES_PER_LINE)
+ while data_block:
+ new_line = ' ' + ', '.join(['{:#04x}'.format(b) for b in data_block])
+ output_text = output_text + new_line + ",\n"
+ data_block = input_file.read(BYTES_PER_LINE)
+
+ output_text = output_text + "};\n"
+
+ return output_text
+
+def write_header(macro_name: str):
+ return ("/* This macro was generated from tests/scripts/generate_test_keys.py */\n" +
+ "/* BEGIN FILE string macro {} */\n".format(macro_name))
+
+def write_footer():
+ return "/* END FILE */\n"
+
+def main():
+ # Remove intermediate and output files if already existing.
+ if os.path.exists(OUTPUT_HEADER_FILE):
+ os.remove(OUTPUT_HEADER_FILE)
+ if os.path.exists(TMP_DER_FILE):
+ os.remove(TMP_DER_FILE)
+
+ output_file = open(OUTPUT_HEADER_FILE, 'at')
+
+ add_newline = False
+ for key in KEYS:
+ # Use gen_key tool to generate the desired key (in DER format) and save
+ # it into a temporary file.
+ generate_der_file(KEYS[key][0], KEYS[key][1])
+ # Convert the key from binary format to a C array and append the result
+ # to the output header file.
+ if add_newline:
+ output_file.write("\n")
+ output_file.write(write_header(key))
+ c_data = convert_der_to_c(key)
+ output_file.write(c_data)
+ output_file.write(write_footer())
+ # Remove the temporary key file.
+ os.remove(TMP_DER_FILE)
+ add_newline = True
+
+if __name__ == '__main__':
+ sys.exit(main())
diff --git a/tests/src/test_keys.h b/tests/src/test_keys.h
index 21737b2..0c9fc6e 100644
--- a/tests/src/test_keys.h
+++ b/tests/src/test_keys.h
@@ -1,311 +1,742 @@
-/**
- * Predefined keys to be used in test_suite_pk.
- *
- * They were automatically generated with the following bash script:
- *
- * ```
- * LIST="secp521r1 brainpoolP512r1 secp384r1 brainpoolP384r1 secp256r1 secp256k1
- * brainpoolP256r1 secp224r1 secp224k1 secp192r1 secp192k1 x25519 x448"
- *
- * for item in $LIST; do
- * ./programs/pkey/gen_key type=ec ec_curve=$item filename="tests/data_files/ec_$item.der" format=der
- * done
- *
- * LIST="1024 1026 1028 1030 2048 4096"
- *
- * for item in $LIST; do
- * ./programs/pkey/gen_key type=rsa rsa_keysize=$item filename="tests/data_files/rsa_$item.der" format=der
- * done
- * ```
- */
-
-struct rsa_key {
- int bits;
- const char *key;
+/* This macro was generated from tests/scripts/generate_test_keys.py */
+/* BEGIN FILE string macro test_rsa_1024 */
+const unsigned char test_rsa_1024[] = {
+ 0x30, 0x82, 0x02, 0x5d, 0x02, 0x01, 0x00, 0x02, 0x81, 0x81, 0x00, 0xa3,
+ 0x41, 0xeb, 0xfb, 0x42, 0x66, 0xcb, 0x43, 0x5d, 0xa1, 0x0a, 0x6f, 0xdc,
+ 0x66, 0x35, 0x71, 0x49, 0x6c, 0x03, 0x09, 0x0b, 0x3b, 0x02, 0x2e, 0xeb,
+ 0x8b, 0x9c, 0xed, 0x0a, 0x9b, 0xc4, 0x80, 0xa4, 0xf3, 0x80, 0x2d, 0xa0,
+ 0x22, 0x22, 0x4c, 0x84, 0x81, 0x13, 0x05, 0x0c, 0xdc, 0x62, 0xe0, 0xd3,
+ 0x19, 0x4a, 0x1e, 0x47, 0x16, 0x44, 0x4b, 0xc8, 0x61, 0x30, 0x13, 0x2c,
+ 0x8c, 0xa6, 0x31, 0x6e, 0x2b, 0xbe, 0x17, 0x64, 0x60, 0xbe, 0xb5, 0x7c,
+ 0xea, 0xbe, 0xe1, 0xb3, 0x20, 0x9f, 0x13, 0x71, 0x97, 0x12, 0x3c, 0x2c,
+ 0x09, 0xd8, 0x95, 0x88, 0x6b, 0x01, 0x10, 0x12, 0x6d, 0x18, 0xd3, 0xf7,
+ 0x2d, 0xab, 0x10, 0x2a, 0xd1, 0x32, 0x72, 0x52, 0x4b, 0xd9, 0x21, 0xea,
+ 0x14, 0x93, 0xac, 0x9a, 0x18, 0x80, 0x02, 0x54, 0x42, 0x6a, 0xfc, 0xed,
+ 0x0f, 0xec, 0xb3, 0xdf, 0x2b, 0x54, 0x31, 0x02, 0x03, 0x01, 0x00, 0x01,
+ 0x02, 0x81, 0x80, 0x01, 0x1f, 0xc4, 0xd3, 0x71, 0xd1, 0x59, 0xe0, 0x70,
+ 0x9e, 0x59, 0x7f, 0x4c, 0x2d, 0xf2, 0xfb, 0xc0, 0xf4, 0xea, 0xaf, 0x6f,
+ 0x01, 0x9c, 0xc1, 0xfc, 0x72, 0xb5, 0x65, 0xa7, 0x6f, 0x4b, 0xa2, 0xd4,
+ 0x1f, 0xee, 0x17, 0xc2, 0x54, 0xc1, 0xd6, 0x33, 0x8a, 0x5c, 0xfa, 0x69,
+ 0xac, 0x81, 0xcc, 0xc8, 0xff, 0x51, 0x54, 0x94, 0x8a, 0x39, 0x75, 0xa9,
+ 0x1f, 0x4c, 0x30, 0xb1, 0x9b, 0x95, 0x50, 0x5a, 0x7f, 0x9e, 0xc7, 0xd1,
+ 0x4c, 0x92, 0x20, 0x55, 0x4f, 0xe6, 0x8e, 0xb0, 0xfc, 0x77, 0xc3, 0x79,
+ 0x81, 0x9e, 0xda, 0xae, 0xed, 0xfd, 0x05, 0xd9, 0x37, 0xaa, 0x4b, 0xd4,
+ 0x9b, 0xa0, 0x3c, 0xd0, 0x86, 0xe1, 0xa5, 0x6f, 0x19, 0xe1, 0x59, 0x57,
+ 0xcb, 0xbf, 0x37, 0x0d, 0xbe, 0x17, 0xf5, 0xab, 0x13, 0x76, 0x9a, 0xef,
+ 0x8c, 0x7e, 0xca, 0xc4, 0x78, 0x20, 0x20, 0x10, 0x90, 0x4a, 0x81, 0x02,
+ 0x41, 0x00, 0xd6, 0x08, 0x58, 0x09, 0xc8, 0xba, 0x06, 0xa9, 0xf0, 0x0f,
+ 0x9e, 0x62, 0x0a, 0xde, 0xe3, 0x15, 0x87, 0xac, 0x19, 0x6f, 0x5b, 0x65,
+ 0x77, 0x77, 0x41, 0xf2, 0xf9, 0x2d, 0xb1, 0x10, 0x50, 0x9e, 0xa2, 0xe9,
+ 0xa2, 0xe1, 0x0d, 0xf4, 0xa9, 0x31, 0x43, 0x7f, 0xe8, 0xbd, 0xbd, 0xab,
+ 0x9c, 0x3d, 0xb6, 0x11, 0x20, 0xcb, 0x93, 0xbe, 0xc0, 0x0e, 0xa7, 0x91,
+ 0xf9, 0x77, 0xe9, 0x5a, 0xdf, 0x21, 0x02, 0x41, 0x00, 0xc3, 0x44, 0xda,
+ 0x87, 0x88, 0xfe, 0x44, 0xef, 0x5c, 0x80, 0x6e, 0x4f, 0x69, 0x31, 0xd9,
+ 0x86, 0x57, 0x5a, 0xf4, 0x16, 0xd4, 0x84, 0x11, 0xc9, 0x77, 0xac, 0xec,
+ 0xcc, 0x2a, 0xec, 0xd3, 0x4d, 0xff, 0xc4, 0x49, 0xd0, 0x3b, 0x2d, 0x1f,
+ 0x77, 0x27, 0x6c, 0x7b, 0x7f, 0x00, 0xc9, 0x02, 0xea, 0x1e, 0x87, 0x7b,
+ 0x5a, 0x67, 0xc4, 0xdb, 0x6d, 0xc4, 0xc5, 0xcd, 0xaf, 0x04, 0x81, 0x23,
+ 0x11, 0x02, 0x41, 0x00, 0xc1, 0x1d, 0x6e, 0x32, 0x05, 0xc6, 0xb3, 0x54,
+ 0x89, 0xa1, 0xce, 0x0a, 0x30, 0x3c, 0xc3, 0x30, 0x1d, 0xe6, 0x0e, 0x5d,
+ 0x07, 0x5e, 0x19, 0xd8, 0xa4, 0xcc, 0x92, 0x3f, 0xc3, 0xcf, 0x30, 0xae,
+ 0xb1, 0xd7, 0x94, 0x7a, 0xf3, 0x98, 0x99, 0x40, 0x35, 0xe3, 0x27, 0x20,
+ 0x6c, 0x0e, 0x77, 0x3e, 0xc7, 0x13, 0xd5, 0x3f, 0x59, 0xe3, 0x76, 0x6e,
+ 0xc2, 0x8b, 0x57, 0x47, 0xf6, 0x69, 0x63, 0x81, 0x02, 0x40, 0x78, 0x14,
+ 0xa9, 0x86, 0x5b, 0xba, 0x71, 0xcd, 0xf8, 0xc6, 0x8a, 0x0f, 0x8f, 0x93,
+ 0x36, 0x3f, 0xa5, 0x0c, 0xab, 0xba, 0x36, 0x6a, 0x19, 0x3e, 0x19, 0xb8,
+ 0x5f, 0xce, 0x96, 0x3f, 0x19, 0x1a, 0x88, 0x44, 0xbf, 0x57, 0xac, 0x6c,
+ 0x6d, 0x43, 0x2b, 0x1d, 0x4d, 0x3c, 0xa6, 0xd0, 0xf6, 0x57, 0xde, 0xfa,
+ 0x55, 0xe3, 0x1c, 0x99, 0x34, 0x8f, 0x66, 0x48, 0x75, 0xda, 0x41, 0x1c,
+ 0xe0, 0xe1, 0x02, 0x41, 0x00, 0xa1, 0x87, 0x23, 0x89, 0x69, 0x7e, 0x0b,
+ 0x69, 0x03, 0xac, 0x76, 0x05, 0xad, 0x42, 0xe9, 0x3f, 0xfc, 0xe7, 0x03,
+ 0x49, 0x8e, 0x0a, 0xcf, 0x74, 0x82, 0x7f, 0x00, 0x43, 0x14, 0x7e, 0x0c,
+ 0xce, 0xe7, 0x8b, 0xcb, 0x94, 0xf1, 0xae, 0x0b, 0xf2, 0x53, 0xfc, 0xa9,
+ 0xd1, 0x45, 0x95, 0x43, 0x0f, 0x16, 0x67, 0x52, 0x3f, 0xb9, 0x0b, 0x3d,
+ 0xc3, 0xce, 0x82, 0x69, 0x90, 0x35, 0xa6, 0x15, 0xef,
};
+/* END FILE */
-struct rsa_key rsa_key_data_lut[] = {
- { 1024,
- "3082025b020100028181009a1c55b1d24441a3a752f8e9d08b3392f2e95b"
- "741468627cce9eee9c089928b98f77a1f3b0e4abb35552838071e4f853a5"
- "b9dd04ca939240dd66632c48f15fdd6186249fc0043ef52a97d7bb6fecf4"
- "be5d0e6aba78731782b8f070efdf4853d7f44ce58e89855a92a0274c007e"
- "cd21de781ab4ae67a89774d160165b2000ee0f02030100010281802616a9"
- "b15cd404db13404507d8c486b723753c66a8a291f0e1ca5313da662c340c"
- "7ad75a98d6337f8baf6c93e2d261f39e8a9ccf11d83e35ece260d171a7c2"
- "76dcf28aefbda457fac13fc85d154325ad339d7afae2c4dff93ad58550db"
- "3e7cdd0bea9f1f4ef96a560f942924c0b19780a702b44990caad692346f5"
- "bf45295091024100c90be3f126e0a4b8ac560bca99f3bd980842de6f90fa"
- "f1e32bc9b029efd7ae8a5f6defa8195e3d3c70ebaa91d2cee080a93d4e7e"
- "7f89dea09623dc7ce7aa8351024100c43c242651b315de5f10c0923dd0e5"
- "e8308b2e57a9a6f71583ac20d65d12bf3f0b63a86ef9a4e093376c9d48ee"
- "ab2c79f4d6a144ff43304912f8806ae29c435f02404d426d8141c0786ca3"
- "8599986d1b36d3d2f0e78c1639e974b4621879b53abc4f5ea6dfbf48a867"
- "7defa310f462ffaf54a234f61234aee5c7ee8aaf73ac8f6151024019076e"
- "b8f07cbe1251dfca201d005302ad86630fcd54bd792205475ef01a1f0884"
- "845e8c610d1593d162ea20ce4848f0f93892f340f7a9e5f8247804aa08b2"
- "5302405f19b2ef1b2452e9a5edb032b673bd3e277ebc3f777a922b22c913"
- "7d4028626b0445db61f42a99b4e5f28c3faf9a774604db172092eee0fdef"
- "9526f7aec8a856" },
- { 1026,
- "3082025d0201000281810344ca3e3712ee43d1ea5d493baa485d94fee503"
- "323d37dc49b907b11b6b534669b2e572123ab6b5b8223b87e22d60c3be86"
- "19f6a39f1d76f581f4dda46701628a6dff5316c6efb81bdcbe2cc20173cd"
- "75c076b7ec84a61b6b80cffc16fa045cf68346013ed639e93708bf264072"
- "63bc6a39ace26cf0eb24e2c0e6597fbab1f9bb0203010001028181010d06"
- "b085e8522dffb90790d9dbdf342708e3fbe915017693452791eb2cd0331d"
- "1c64e40db44eb591a37fdc29fd48d4e5d61b56ce3803b3112f5cd83d58d8"
- "7b22b818641bba62adf3d5ca44f8523221b1068639ad865e7a7e6fc69aa2"
- "1091fdf1a325d1b2c6a0ddd1f27883f01aa15b0b193311d357776b6ce52c"
- "51ac1d8c0601024101ec7ae8715bbda8d4db6636396c1582e8e234275dc9"
- "d272b0c31848f96dd201f4cc01ac857e25ce2b316ae1798c83a9786c2f8c"
- "f71d3cbf2db13861814c9ea481024101b2fa7cd232925b355dda2d5f10a2"
- "f0a05aa91ba74be5c088444d681e1dc0b2c85acfec84c1470233aa4bb5c9"
- "db0b48853a410eb7d58b07afda91c54012da103b02410169dcc9ccf986fb"
- "76241c0f7dd3f05e777636b23254e88083676701bfdd34f1610941b59d85"
- "1a8c49ea8ec94c41b640a10e8546041184a04917ae00df3c08598102406d"
- "90e2f81f7cf6348f1b71ea4c4a7eca258c0b472cbb06b04c642321d2e4c3"
- "23ec9c0b3bb563a98e520b18136c757f22eff58b3b8b32a61109c1462a49"
- "955c1902401e737a46f09dbc770e7c6ee0b1cce304a8d5bb93d300020c86"
- "b0ce9fc2296307959a7f07ae859c94e9e57d511bd992080e8aa23f5e7b97"
- "47c42bbda86f3c6f06" },
- { 1028,
- "3082025f0201000281810aa49a11be540d741e513621f39d1ecd72a7b020"
- "d50272d5fbff59b638770f4abaeecc3240c8f8fadecf1a2d4a23d47ba702"
- "f5c92db1533b835c768e0d395c43931d7525c56aa71266a5dbd7b4c87c96"
- "52536cd520e61762573274897f3ad77b83f43584660caee3fe3a9fa27b3f"
- "50d71409feb01956faf9b966e1b08464f0210702030100010281810105c9"
- "cbf4a6acd840657b370dea45e065a8d9127e850ab5a6cde537cdfb1a9c0a"
- "941148aed2e0a172312209c1fae95aac346b9b55e998deba03735cb8c68f"
- "27ea64e6f99d86428a80176115b2d6f5e12d7b9dce5cb68570968f876c69"
- "762ab664be06d4590c2a168c1180e78ba8787110fd61f0043bd99206b0d4"
- "3ba39a14bee90241037e44c625d91b753c86804b18f22851b6ca2f50d8f8"
- "ee71bf53d18e88bbd5aa9fcbcbcad3b415f115a38d9a1858300783343ae0"
- "8ccdaa64baab34fca617aa303b0241030bf6fd42a34f02155a61667a6482"
- "33a3d683288b36c7530ed1bff81f2ae2e55ccd7c9d28c968568bbbd2b0ff"
- "5701335abf1f9785395b136b539a4ecefc8f71a50241031d89986e08c244"
- "3c46780481aaf5ea6a6ac6e803997e8e53641d7050e1b41d078669a9ea44"
- "a18cf10f7c2a01ac24a98e89f6386d5abeac370e99a2f93e01ba21024101"
- "ec7b1efd05aaec90d909a9305ce84d7d0504ba03f529b48b25ebc5dac034"
- "96489bc33464bd8fb11df811980b123fc2d268dda4c9cd2671c391fd5c07"
- "9c3762b5024103632899c6c15aee731835c5ca4a75f2236e86a1f701be19"
- "386d4218d346c371c2b9c08930abf423aca3dbf1e7caf79ecdea6aa66775"
- "7e7dce5852faef59fcfc2f" },
- { 1030,
- "3082025e0201000281812ebe4c4d2a6cd165ebbc6a4bb53dd1bc96dab169"
- "d6c34ebe5a68f3c3b2d385533045901db0dffc9aebf13c44a6aab2a81f63"
- "0ed26ee2d4b19bd49abceff7331cdf6f6aae6075631bf72236ff7e546270"
- "a8b85cab40589ec7c767114aaa3ddd1b35fe999183f21ca02bf3a840422e"
- "1b06a723fdd0c55c7dfaa0345e2f918884ddb90203010001028181016f27"
- "a7d8778ff1e3754657a8a9cb15266b1db56f22fd4d5c3875d3992ee1f0dc"
- "52ce14b322c9928bf9bcb7d330a54700f6339eb8f5ef1667547323a7ede5"
- "9cbfecda40b4976795aeb53729f09455bd86c4ff6c257dfe8ad0d63ed1a6"
- "5f7da87c3acdbfe27ccc423739859b860ea28bf004f30be5f1543253a572"
- "43a5b426d98102410703b35b5221d562f0732901c9b67d2ee7c33c89e03c"
- "750f0a5978877ba7c2149c10e74ef339500536adbe18e17084bcf557513b"
- "f02f933713fe5065b69028ef59024106a9f2bff289987d993b27a541eae6"
- "1a1dd3cf34cd174cb148f59f0e70bfa5b0ea18e64e552379a92d321e37cd"
- "1a9dd5174d2f84afd83778437b6d9ebe5f42f561024056db7c1552f1a161"
- "84107db7a60e1410bdced5d474d82cac117bd501d4317d11b77798c80703"
- "a9dce53686b990d9bad21b3120b713760979fc1923725b32bfb10241030e"
- "8c936e7f9ddae7a2922225a5ca5dea96d1f327ad6b79dbbd08748855f17c"
- "c13620d7880898f3790f077b937385394dd2135d2b88e4911f6b8c3288a3"
- "8c44a1024101e712867c169a6f391cd8f3ce6d7672ed7e90e6590647ebb8"
- "9bf55924c8cc487a91307b0cbd6f6a5e781dd5b160ac7efe0aba5b2757b3"
- "b7b00881c25070dda042" },
- { 2048,
- "308204a302010002820101009912d469d8864df984bd8ea0d1a4e9bef9b3"
- "d3ee7249801cd28195d1f3cd71b12aed430dba25012f69effca752337897"
- "ae3b29df272d1d5dc6495553d0398f86eddf4bd2084f379aaac0f05d33ab"
- "f6279d495394034c8e8ee5aeb6f0da9404eb8c773f8bec6a3199187ed681"
- "55dacdc9c1db2f73dfde416ee63f87786da3cc94631ea2adaa3185fce12c"
- "1c05659e5addaafcab1b7484a823cdfadab90f8555da052bb92c61a96bb6"
- "2c2b6acbb06e0b01e65605905e42a64def5cc29fc2c04275f4a0a07bcf7a"
- "49978c820a4710b605ef15c8aa0678636f73f99d79f235548856c8bbf104"
- "344b209e46bc14acca95050cb4aac1cfc0a28c9d9dc05ab3ee0cf40d0203"
- "01000102820100156455048cc2aa2b7c723c383bcc12f18236701ff2df54"
- "34d2f352a37271abd99150f28dbccd96969074be2788fc91f60a9e9089b3"
- "d121793d307ae8f960cdeed297e1e1f290d589bb22b704a367bd0108c15a"
- "59854381e9b4edff7975e679308ce30e61a8d2a767488dd33ee4676d5a6c"
- "89cbde22f34dcc2887c8d01aec68f6bd7551b8155dfc8cf10a3f43c8ecdc"
- "e55ade57f0041d58878bf7420e8d945bbe858829f55d86b6fe466ce135cd"
- "34db478a16125a989978266ed38b8f8c204f3873cee95191c41549296ee5"
- "6e8e7300f9b35700f8aed9c0a1a545ecb9f4d09bfa5c9044bc307ad30ac0"
- "c6e27b6ce9ffbeed6213110a9aa821d0c7e85cb5ad349902818100c7feea"
- "fc0076c99dd4b4259fc84c12f4290a6f468e538b6fd8d8aeea4ccc9fe3a3"
- "83add1964e13bf5b0e081fa401155938962b7a2420800f2e4926ca57f735"
- "31b5ac1beb22fa98b02640ee67c63ecd250e93a76791c1789f939b8bceb2"
- "26c2e43b8d1590d401829d83df5749744031d5839e7aa9833d1fbad5a504"
- "75af833a8902818100c3f033c251d3c857eebae23547fedf350103c91f7a"
- "a549c37ddec96003691a652c53b1ba46dd687117b3a6007fc340c46ad110"
- "8d6d5c096a7de8f3773ac866352888f17a7502cf45f3f3d021d8b5719bd2"
- "98c7f59e3f4f675052800c653be810ec4c4d7c9481e59205d2b0e628e436"
- "1a4ea4375a84a71c8de549ef546a68fc65028181009883e43b4d3749459d"
- "81cbf76fcde3de62b5dc6a17fbca27ff5c2ef7ea9d5989459713a4f35493"
- "66a84fa90e4809b37818d91c4ac6e62a0269afcb6f1f6a1c1cce8873b9fb"
- "30d3e3f1282f26e05de01fd45ff197dfe584d15cc58ff68e9154aaac6748"
- "fceb5043854f9db07909b832c8bad8ce7e1ae1302350edc8dade7fdad102"
- "818042dcc90cda97869a5b20f2e873b509be30a6760f83eebb89367ebc01"
- "43a8ae1530572f22fde3b82c3f8652738125c40842db2ce6d616be2fd4df"
- "95956e3dcc82ff5e1be949dcb7968b74fbe550ea39e68eab0c3148db19e1"
- "8b8b5b9edf3cde28483a91869db6e5fc3a78775d533eed2775069ccd0acf"
- "6bf30ff776f03b8faff1028180613011e3c3c1e97ed0d4c05f64d46b73e8"
- "c93ff671ab2bc497aadfae36d803c3e2d7e2ae6a99c36ceebeb86dd5ccd5"
- "d6f3304821b44e2ee2bb5540f9104d02e7cee6315024096120fb12a98bc1"
- "1f4f08acf31e6f0cf75ec44b046382344eb1a299a3996ca9b63f71b9fc96"
- "9f9c76846382c7b026c57cdfdeb53eff85b4f6b373" },
- { 4096,
- "3082092702010002820201009ffa9b03aab78e5980223bed1811991bf244"
- "20e7a277efc45fb01e9d756eba9e57b17b7f198d03e5731f7c8adbcecd6c"
- "c75c1185228aa3eb650e3df03d10b8c4ee4794be04d48f304a3884589789"
- "8baa4aae806ff9645318345bb532c7aa85be1de3e4d87873fb709a9af4ed"
- "984fc2d8f42a98a233204eb50ecce01fef9eaf0ff82324dea54ea7cc909b"
- "164a58c71f8b47edb097099cb27ee2ba1cd7c37dfbf28e0685a418b1cb5f"
- "e6cea64d0d3f8b713a628fa9afc385f067323781e72f91a8a1808721ee4d"
- "369d551f5cbdaadd9d1131ad5652ef71d91be6e701852ad7cf666eb7866a"
- "ea556a44087f76a2ca120ca53ff5abf6771884f60546d9373328c7150b41"
- "827207cac3fbe295e4361f4c713f301ae095d9cc521dc1a08828320bf6bd"
- "7f63d1f7b81702f4738c6aa7992a1a34550a41ca794326e28c9d3a5997fa"
- "af907bbd832a2e704ce6f867dada308cd28a06b37819a04f7c57fb10ad44"
- "4f7189ff64a58ae419b1623792704db86a8b75ea5deaae967837757863b1"
- "b43b55a27be101d714c6f7019a6339470349632b2ac5ba66258f8db5b80f"
- "fda6b2b078b9716d704f8d1abd90b0364474c41dbb67699fe753f6c37a89"
- "9887c0eb76f8db872329f2250c30917561242a64bbf341679a0d3e127bb7"
- "66cdba9a0ae4f15e6220571a083fb9c487c9deff3b029653783a3c205e3d"
- "5e9aaed05e4ee8b0e13a03a9fac502030100010282020010fdfc531261f6"
- "c3b8e169fe0fed6696da4fb4330645b8f8e1b5023b754ab295b8f8c80642"
- "ff806771a7e98192414ffe7ada639e01823a50f965dedc5290212001b326"
- "b05c30fb988479a64d06a37c6b350d7de4e6d76a200b07a6a26324d099d5"
- "f0ebd0b65293656d7682076e83224e0af92f4723290e531ae455f5ee6cab"
- "6985d0adccdc4013809de76b21b0764dfa6c4469da51120cbf7f738736bf"
- "b3f4fbd96c05ebdd179d636d4f8bc8695cd381ce52c3b1a152a23a5babb0"
- "cba273a204084b6f8f0211bf784c9f4d2974299fd240b58992bb8e1b2264"
- "8f2ad12b30cafdb54ad7032a2ab263d1874061a016f4b2e4ad427ba640bb"
- "76aa2ed14994ac8320a4d81ba570d35184956f049be8c6c7da7938cc5105"
- "c07bfba6b990687b94066def18ac3525c139707ae781c1e66931241137c1"
- "0854ee00a74c9c52dc67f1964721891b8302dc4719c60f10af993d69ddce"
- "b128da65a36f4d0829e84c74f3570d8db747a6db352c22061c2603f255f6"
- "72f11f11c6f7bcecbbdc16f3995c87e5b840fba8b65a24043fc6dd0f8e1c"
- "24b3cbb047f56813073b6bb81996f79452ec2aa9ed995bd5d0d6fe4a0315"
- "2eac8e4f2ceb7ee4aece6760820f0e787d9abab312a435daf8dc3e28125e"
- "f67107844dba0136a2d5d4b7ce6fc7d5159419d399eb42c5e7818b437c1d"
- "1a1d4551358ad5e5dc2a757e9f1f12de1a2eb463b748b6c3ad0282010100"
- "e18b2f5736dccd61f604efd0c1921186d188c54849c6f78aff4964d1fe27"
- "c0727f057d8bb2e5b86efcc1121e4a791d84acd643c38a75fdcf38167260"
- "948f23cb0f40c555c1edebf1582439e7b404d9df48de9e6100d9c0084eb3"
- "59716f2f6ebdebf17c1438ff5a2864b621e79b1b28e7f6e2e7893fbaa1c5"
- "19fda27e900f7b15f3fbfce98c7b5dac4e86701346a5bb84a5f2330661d2"
- "677c8ff47b65851e596334e4d057c3e1bec0df01313919f68a20ac3fc3b8"
- "df5f52ee6e21b9698dff82d1dbc37b2f9cb12036e2d76024ff7a586327d5"
- "1fad8b7c1d99163827caee7b61e908b0fcf51d3264b8a11abd121993676c"
- "10d715a345c197d0f4f42e85f74647b30282010100b594e9e77eed5cbb93"
- "8234af03d2415ed0f8cd99e86033799d68b6547986f27131550d0bb45831"
- "7ccf1841f0d398fd14c75bf57de7d6a096642b9864e2b07e5248b1f48306"
- "2fdaa683a87a90aa05e3bbacc4b8eed9929b73eaec5ece7424af6e751afb"
- "348a28e14a3218e700f0069d1330324b71ee9ba0cf516586c8f0a139f022"
- "b612173276b40646b2f3d1063ddebee38daa61248ee58594da0168c4382f"
- "2fff763cdfd69c5765d6f75f7d1d6a1db6cfd894118451fe58ded97f54db"
- "703e6ed770452e70c6988238ec0ed599bd5cc550874344873e1040374c6d"
- "373a485c2d2adeac3b89a7615542e0833433c119b1c0c784c76446f68e8b"
- "9a2fb7d20f77a7028201007f3f96bafef1fe52298a497f1ee6f94a760753"
- "3ee09907ea7cf37c95596e360ea30986f67d3d4c1c1a3017b7cd4e9dcfcf"
- "efa715b895af57ed0e0503e66d07c5b5da563b770973d79b61fce573d454"
- "d3bbfa15a326e6b3883c56c5bcd0fd12dec6325d4dcf8689e84641d7c922"
- "e264e6d28cdc12bc48e0a22272cdedd7fb53f763cb24bae38e6aa01f418c"
- "13e404f751f48a3c2d7a9d49d3a6284a4251a378cd16f78d7026ccc3616f"
- "afed8488d866bfde4eaf6f2b5f4d9bc5b8f331d17279ed4aaef45e3d6a55"
- "8181e3ff93802c179801ce256c3549162ddbb25d090a19c478c4758e9200"
- "22015f854d5fa4c997377f69d4df99596ecae7927bfd8f899e362f028201"
- "000a34532cca4a4692d80852339fb05a321ce64e8f9eaa815a0d498c2d95"
- "22cb4f272993711bf274dd81b9e842c3716e8f93608c9c45c21f06349cea"
- "9488d4c854917746b97248902e196a077147cccaee8a1808188c2b9c06d8"
- "a5edf2063ee588fc95c6963e496bd7c296f9ac68d0c65504b95eda0941bf"
- "b8c6e740badc2303618661db0468b699095d41c347f4e4d736bd0d020d31"
- "83c24c4e802de2185cdbf203963e7789d501685cbb4c2778d6b4d2c83d70"
- "9cc765e0385855babd2713d8be5be7184c32d4464fd32918f052127d3b2d"
- "7a5c8266634b80805b102c315f4da6d028f15eeb2e77ded5c24e3d49c749"
- "4d5efb177029277fc5a4fcc63fbb53593302820100689328a8b7c6de5b11"
- "1934790c4152320c1a63a090bbb5d243517fe1f0203729828806897f157d"
- "57d02333dc2c56a846eb286412473bab9ab68d144b991a3af9fee228c7ea"
- "904d6b3aef2e42245abf4d777385b877c86a9b16b5d7c9cab1221576d88d"
- "ee4993f130236744acbbf45c6bbd2dcaafc00f2cf36537e54e8a99ea8084"
- "801d4f403376c0339de7f3867f2360af6fc0047cc85359669b90156a31aa"
- "fe34570fbe1342f9e5743d45646aab7009b73c9e63b7a458c423f3b8de81"
- "c83de5b0fe60bb7a235d7d1a931cca548639ed4e629386c7de98d8840ba2"
- "bcb02d8adc59e179b27a4705426b313497c43aaacc953ae92c702af10a2d"
- "a5db9b0688c41f" },
+/* This macro was generated from tests/scripts/generate_test_keys.py */
+/* BEGIN FILE string macro test_rsa_1026 */
+const unsigned char test_rsa_1026[] = {
+ 0x30, 0x82, 0x02, 0x5e, 0x02, 0x01, 0x00, 0x02, 0x81, 0x81, 0x03, 0x17,
+ 0x5c, 0xd2, 0x6b, 0x55, 0xf6, 0x1a, 0x0b, 0x42, 0x33, 0xc8, 0x18, 0x08,
+ 0x26, 0x31, 0x35, 0x04, 0x0a, 0xdb, 0xab, 0x0b, 0xd9, 0x49, 0x70, 0x59,
+ 0xcb, 0x51, 0xce, 0xc7, 0x14, 0x7c, 0xd6, 0xdf, 0xaf, 0x26, 0x71, 0xac,
+ 0x1f, 0xf9, 0xae, 0xa8, 0xe4, 0xc5, 0xde, 0xfe, 0x84, 0xbb, 0x68, 0x07,
+ 0xa9, 0x48, 0x82, 0x83, 0x5b, 0xbc, 0x2b, 0x75, 0x32, 0x51, 0xb5, 0x98,
+ 0xe0, 0x9b, 0xa2, 0xbd, 0x0f, 0x29, 0x96, 0x58, 0x5d, 0xbc, 0x80, 0xeb,
+ 0x9b, 0xda, 0xae, 0x8c, 0xf4, 0xea, 0x3e, 0xa1, 0xf4, 0x7a, 0x97, 0x13,
+ 0x42, 0x74, 0x74, 0x47, 0x83, 0xff, 0x31, 0xf8, 0x82, 0x92, 0xe3, 0xb1,
+ 0x38, 0x30, 0xea, 0x17, 0x67, 0x4b, 0xb6, 0x69, 0xdc, 0x5f, 0x17, 0xf2,
+ 0x94, 0x3f, 0xc8, 0x07, 0x1b, 0x10, 0x81, 0x8b, 0xd0, 0x2f, 0xfc, 0x8f,
+ 0xfb, 0xab, 0xa0, 0xa9, 0x02, 0x3b, 0x79, 0x02, 0x03, 0x01, 0x00, 0x01,
+ 0x02, 0x81, 0x80, 0x04, 0x29, 0x3b, 0x62, 0xcf, 0xe5, 0xe6, 0x60, 0xc1,
+ 0xfa, 0x28, 0x20, 0x30, 0x39, 0x2e, 0x63, 0x0e, 0x60, 0x95, 0xd6, 0xb5,
+ 0x67, 0xd7, 0x48, 0x6a, 0x26, 0xdb, 0x55, 0xdd, 0x34, 0xea, 0x92, 0x54,
+ 0x44, 0xc5, 0x4c, 0xc7, 0x50, 0x51, 0x53, 0xfa, 0x61, 0x5e, 0x5e, 0x95,
+ 0x9a, 0x05, 0x77, 0xd8, 0x5d, 0xaa, 0xe7, 0xbc, 0xc7, 0x15, 0x4e, 0x69,
+ 0x31, 0x25, 0x8a, 0xd7, 0x81, 0x25, 0x3d, 0x22, 0xdf, 0xd1, 0x91, 0x78,
+ 0xd2, 0xd1, 0x24, 0xb9, 0xa6, 0x9a, 0x12, 0xc5, 0xe1, 0xfe, 0xe7, 0x94,
+ 0xad, 0xbd, 0x9e, 0x6b, 0xe0, 0x97, 0x32, 0x33, 0x6a, 0xae, 0x98, 0x66,
+ 0xd7, 0x96, 0x7a, 0x72, 0xc7, 0xb4, 0x69, 0xef, 0x3d, 0x20, 0x37, 0x48,
+ 0xad, 0xd4, 0x92, 0x8a, 0xc0, 0x3f, 0x08, 0xfc, 0x8f, 0x61, 0xcc, 0x60,
+ 0x60, 0x49, 0xa7, 0xe4, 0xa0, 0x62, 0xf5, 0x7e, 0x19, 0xb5, 0x81, 0x02,
+ 0x41, 0x01, 0xe7, 0x1d, 0x98, 0x00, 0xc1, 0x36, 0xa4, 0x3e, 0x84, 0x3f,
+ 0xd1, 0x43, 0x9c, 0x4e, 0xa2, 0x62, 0xb2, 0x6b, 0x5d, 0x93, 0x5d, 0x41,
+ 0x51, 0x46, 0x6a, 0x75, 0x76, 0x97, 0xcc, 0x38, 0xa9, 0xeb, 0xbf, 0xae,
+ 0xcb, 0xd8, 0xac, 0x6b, 0x7b, 0xfa, 0xc7, 0x37, 0x6d, 0xc0, 0x7f, 0xb2,
+ 0x84, 0xaa, 0x6a, 0x54, 0x6f, 0xd7, 0xd0, 0xf6, 0x0c, 0xe6, 0x11, 0xc9,
+ 0xcc, 0xce, 0xa6, 0xb8, 0x66, 0x69, 0x02, 0x41, 0x01, 0x9f, 0xe5, 0x0e,
+ 0x78, 0x9f, 0xb4, 0x44, 0xba, 0x29, 0x74, 0xe7, 0xdb, 0x98, 0x44, 0xd2,
+ 0xa6, 0x03, 0xa6, 0xe7, 0xb4, 0x00, 0x6e, 0xe1, 0xcf, 0xa7, 0xcd, 0xe4,
+ 0xa8, 0x8e, 0xa7, 0xb8, 0xcd, 0x68, 0x23, 0x07, 0x6f, 0x47, 0xb9, 0xcd,
+ 0x59, 0x34, 0xc2, 0x9e, 0xc0, 0xb2, 0xed, 0x7a, 0x9b, 0xc2, 0x3d, 0xab,
+ 0x64, 0x36, 0xdd, 0xf9, 0xf2, 0x2d, 0xc1, 0x42, 0x4f, 0x11, 0x4b, 0x2a,
+ 0x91, 0x02, 0x41, 0x01, 0x73, 0xdd, 0x4c, 0xc0, 0x2e, 0xc0, 0x37, 0x0c,
+ 0x9e, 0xcb, 0x55, 0x46, 0xe7, 0x19, 0xc4, 0xaf, 0xd2, 0x03, 0x52, 0xd1,
+ 0x80, 0x1c, 0xb0, 0x1e, 0x30, 0x81, 0x71, 0xc2, 0x9a, 0x9e, 0x1b, 0x62,
+ 0x24, 0xd8, 0x1d, 0x38, 0x51, 0x10, 0x50, 0xfa, 0x76, 0x81, 0x23, 0x21,
+ 0x14, 0x9b, 0x44, 0xda, 0x10, 0x08, 0x5b, 0xc5, 0x86, 0xf9, 0x7f, 0x89,
+ 0x57, 0xc5, 0x15, 0xbc, 0x20, 0xdc, 0x9f, 0x19, 0x02, 0x41, 0x00, 0xd1,
+ 0xcd, 0xb6, 0x98, 0x29, 0x50, 0xc2, 0x5e, 0xfb, 0x6c, 0xeb, 0x4e, 0x3f,
+ 0x29, 0x70, 0xee, 0xa8, 0xe6, 0xf8, 0xfa, 0x38, 0x41, 0xb7, 0x8e, 0x8f,
+ 0x03, 0x71, 0xf7, 0x8a, 0x47, 0x98, 0x15, 0x9f, 0x14, 0x14, 0xbb, 0x11,
+ 0x7e, 0xec, 0xd5, 0xb4, 0xa4, 0xfd, 0x7b, 0x0e, 0x88, 0x78, 0x92, 0xbc,
+ 0xd1, 0x69, 0x75, 0xdb, 0xab, 0xed, 0x5c, 0x3b, 0xb2, 0xc3, 0xa5, 0xa9,
+ 0x7e, 0xb6, 0xd1, 0x02, 0x41, 0x01, 0x5e, 0x54, 0x53, 0x64, 0x9d, 0x04,
+ 0xe9, 0xb8, 0x6c, 0x96, 0x61, 0x85, 0xfe, 0x7c, 0x5b, 0x81, 0x46, 0x7b,
+ 0x92, 0xb7, 0xb7, 0x0a, 0x84, 0x9a, 0x1b, 0xcf, 0x9e, 0x56, 0xcb, 0x25,
+ 0xd6, 0xe2, 0x7d, 0xb9, 0xf1, 0x7e, 0x25, 0x34, 0x2a, 0x9c, 0xc7, 0x78,
+ 0xe8, 0x0b, 0xea, 0x04, 0xf8, 0x2e, 0xb0, 0xd5, 0xed, 0xb9, 0xdc, 0x71,
+ 0xdb, 0x9f, 0xba, 0xe6, 0xe5, 0xbb, 0xbd, 0xc0, 0x7c, 0xd7,
};
+/* END FILE */
-const char *ec_key_data_lut[] = {
- [MBEDTLS_ECP_DP_SECP192R1] =
- "305f020101041856ceb8c9bc8e6562242362d5176916c8cad73cefde6242"
- "faa00a06082a8648ce3d030101a134033200047bdb35c272027741d687ae"
- "31007a4ed936231556747cf3e916884db6b08cece5a4923ce964b8bcd195"
- "b0f53e01d1b9c4",
- [MBEDTLS_ECP_DP_SECP224R1] =
- "3068020101041cab5caf66f71236bd1c4c4825588c531682b8019882a025"
- "ed3814e32fa00706052b81040021a13c033a0004260e79423142a44ce9e5"
- "b78144c39e3d2b5b2670af673868083416745e57be42319d8ee6d034ef9c"
- "535c7f6cc45ed5026fae66c0dd1298a5",
- [MBEDTLS_ECP_DP_SECP256R1] =
- "30770201010420b52b83eb4cf15f4fb2bdef164f521b92a4c7329ce83dd2"
- "b24fc4080980603b07a00a06082a8648ce3d030107a14403420004dd40ad"
- "3c112abb3e7beed40ca349c9a755f930968722865c27ca5d0ca884220b59"
- "9e6620019ef8fc9b3050cf90ce8cfb5125db447c21bc567806d39e49b181"
- "01",
- [MBEDTLS_ECP_DP_SECP384R1] =
- "3081a402010104301b3640d9ada2984b5c4406c339fa859c374aa1692990"
- "547b0897429689d4b226d20b1ca20fd32d89e853e3b7644dffaba0070605"
- "2b81040022a164036200043315c6d4276e8ab4b74b4069bb7a403f4a62e2"
- "89bfbfe39738dee4064d7ae22ff32520316f7230302db8fa7b0434ada5ac"
- "3f39acd252b5ec2eadbebf55ba7edb2265026a33bae2dbf59314ce081277"
- "3f08faef9fb4786d610a8c1c1f348e9627",
- [MBEDTLS_ECP_DP_SECP521R1] =
- "3081dc020101044201300db372ffd5307db8016608a097cb4ac8440e7419"
- "589566518a9b8b4506aa00ddd21d736284d31e02ae3064a0d2b1c3de08ec"
- "b6285534e13fefe456fde0337572a00706052b81040023a1818903818600"
- "040183a4329055ced8534460a22f00271dc55b9857aad6886355bcac683d"
- "461a2281190546929a8e64cdfc1242fb6e3a460b0821b4197b42a0b18253"
- "18c59dc74eabbd00c74c4bf20494c05183012229df3da41455673233cb32"
- "877f0646b66fc75e4d72ccdc60e5ceb670ed4dc2773916738e2530a3f5fd"
- "2c14ec512171e6de772dc21c27",
- [MBEDTLS_ECP_DP_BP256R1] =
- "307802010104202a248a6523ec929566b473d189d63358aeaa29385c56c4"
- "ed52fee5bfbef6705fa00b06092b2403030208010107a14403420004606f"
- "09a54c0f6d52ff0c7429ad085332d1e03e60370cd6a7b44c1a15668f28cf"
- "14e35f242ae5c7ab089663de47f840b947a7ff4b2b72a820a0136154d6c6"
- "c87a",
- [MBEDTLS_ECP_DP_BP384R1] =
- "3081a802010104301a4da2c6c462c6f115f3a91cfa6006bdb549e4935364"
- "b2199d7bc872f1eb9bfcfcc3c997a1ac0064d581f32b3899ba3ba00b0609"
- "2b240303020801010ba164036200042d4ed26c2aba8d7c49d52e1e6bfbe6"
- "36583f22e50cc94c64442811f504db9f1823c43427ef5fbe9846842a66a7"
- "20a1108ac13b1ff05a5d710a51a238ac89ce8f44c0139b9fef4d2c298f2e"
- "187bf3c3e51ec05b32b27195d884b166b6c803409c",
- [MBEDTLS_ECP_DP_BP512R1] =
- "3081da02010104406f2730c70a35827f5a8ff0028f7ce3b28cf9d2711ad2"
- "269130c5c72eace8d12efb0afd2f099548afa55bd94dd7361ab63ba1bea0"
- "c7d295a67498107cf89acfb3a00b06092b240303020801010da181850381"
- "82000464615aa207894e1059a28fc36c9f1d955b518dc668ee3a257b35b7"
- "6d1b48820a0c42bf91122a96c5887633d71796d6d541a098534ad09f1f1b"
- "0ebaece479e8e0284a7bb28efd1185a77a3ab8715e6e99f9591d44f92ca7"
- "b4896d36a9022fdffa0cd7744f4dc462172bc4c027456d8469f41e15bbff"
- "0546bac84f4edf3f4fc0c3",
- [MBEDTLS_ECP_DP_CURVE25519] =
- "302e020100300506032b656e04220420b0a8bd3ffeb3e2a7caa1148f5406"
- "20b2dd493faff1d1cda6458822077445cd78",
- [MBEDTLS_ECP_DP_SECP192K1] =
- "305c02010104186a01a55cc30d77ef9962778f78af3cbb5c7fc7dd1aa9a7"
- "b6a00706052b8104001fa1340332000435aa842c4bef314c579910674cf3"
- "cb426ce001bdd5ca0586398634776957b1e3afa9473e5b69648ffaa65a1f"
- "052be658",
- [MBEDTLS_ECP_DP_SECP256K1] =
- "30740201010420282608d1c6067366c22ef6ed5aa3b6e31107e6fa535f2b"
- "6def935626517883c7a00706052b8104000aa14403420004163f1a8038d1"
- "11cd2da34a98b8524180de6c56268cd8b2d315201778d1e7c09da090c2c8"
- "da4667bd3e831f444103606875069c222bd1cc9beb84cf2989ad37ec",
- [MBEDTLS_ECP_DP_CURVE448] =
- "3046020100300506032b656f043a043858ab68f1e135d8d38514774a63a3"
- "4c659b3ed783f8cf87531f49927c5e97f459cb324a32ab3dd2f1613ad931"
- "cb3df24d5244bc7e4691f1f4",
+/* This macro was generated from tests/scripts/generate_test_keys.py */
+/* BEGIN FILE string macro test_rsa_1028 */
+const unsigned char test_rsa_1028[] = {
+ 0x30, 0x82, 0x02, 0x5f, 0x02, 0x01, 0x00, 0x02, 0x81, 0x81, 0x0f, 0x16,
+ 0x99, 0x9c, 0x0c, 0xc7, 0xb5, 0x63, 0x2d, 0xec, 0xdc, 0x12, 0x15, 0x15,
+ 0x12, 0x47, 0x26, 0xcc, 0xa9, 0xba, 0x8d, 0x31, 0x82, 0x63, 0x3e, 0xa9,
+ 0xdc, 0xa0, 0xa8, 0x7f, 0x02, 0x22, 0x4e, 0x5e, 0xa3, 0x77, 0xee, 0x13,
+ 0x94, 0x04, 0x76, 0x04, 0x8e, 0x98, 0xab, 0x7c, 0x82, 0xdd, 0x68, 0x5a,
+ 0xf6, 0xa8, 0x14, 0x5e, 0xf7, 0x43, 0xef, 0x04, 0xb5, 0x3f, 0x6a, 0x31,
+ 0x93, 0xd6, 0x1a, 0xfa, 0xcd, 0x20, 0x7b, 0x0e, 0xc3, 0x18, 0x39, 0x5f,
+ 0x7e, 0x1b, 0xa0, 0xe5, 0x85, 0x3e, 0xf7, 0x44, 0x51, 0xcc, 0xf7, 0xf1,
+ 0xc2, 0xf6, 0x79, 0x15, 0x0e, 0x0b, 0x50, 0x32, 0x35, 0xda, 0xeb, 0xe4,
+ 0x7d, 0x32, 0x6d, 0x21, 0x9e, 0xb2, 0xa0, 0x99, 0x0c, 0xc6, 0x17, 0xee,
+ 0xcd, 0xb5, 0xa6, 0x81, 0xa9, 0x91, 0x1b, 0x09, 0xfd, 0x32, 0xf9, 0xa1,
+ 0x8b, 0x1b, 0xf7, 0x99, 0xaf, 0xd6, 0xf7, 0x02, 0x03, 0x01, 0x00, 0x01,
+ 0x02, 0x81, 0x81, 0x03, 0x21, 0xe8, 0x06, 0x33, 0xc9, 0x0a, 0x69, 0x6a,
+ 0xd1, 0x6f, 0xe6, 0xf9, 0x25, 0x84, 0xc3, 0xec, 0xd4, 0x34, 0xb0, 0x9c,
+ 0x3b, 0x99, 0x1c, 0x4d, 0x98, 0x2a, 0x4b, 0xd8, 0x6f, 0x75, 0xdb, 0xf5,
+ 0x75, 0x44, 0x6e, 0xd3, 0xa8, 0x90, 0xe4, 0x54, 0x34, 0x21, 0xfe, 0xa4,
+ 0x2b, 0x97, 0x67, 0xac, 0x10, 0xa6, 0x80, 0xc2, 0xa9, 0xec, 0x9f, 0xd7,
+ 0xf1, 0x9c, 0x47, 0x6c, 0x1e, 0x9a, 0xd8, 0xa8, 0xe8, 0x5f, 0x76, 0x57,
+ 0x95, 0x26, 0xc0, 0x97, 0x5e, 0x56, 0x6d, 0x0c, 0x6c, 0xc5, 0x20, 0xd8,
+ 0x8f, 0xd7, 0xfd, 0xf4, 0x39, 0x97, 0xc2, 0x3b, 0xaa, 0x97, 0xd5, 0xea,
+ 0xaf, 0xdf, 0x23, 0x27, 0xf3, 0xea, 0x67, 0xd8, 0x52, 0x0a, 0x1f, 0xc2,
+ 0x5c, 0x3f, 0x56, 0x8f, 0x96, 0xc6, 0x3b, 0xa1, 0x12, 0xaf, 0xd3, 0x07,
+ 0xb4, 0x67, 0x37, 0x0d, 0xb2, 0x00, 0x80, 0x7b, 0xef, 0x4b, 0x58, 0x51,
+ 0x02, 0x41, 0x03, 0xe3, 0x05, 0x9f, 0xf4, 0x8d, 0xb5, 0x19, 0x32, 0x73,
+ 0xf1, 0xe7, 0x65, 0x49, 0xbb, 0xb4, 0xe0, 0x4a, 0x71, 0x23, 0x52, 0x69,
+ 0xd8, 0x06, 0x78, 0x8c, 0xde, 0x8a, 0x95, 0xfb, 0x70, 0x78, 0x6b, 0x20,
+ 0xcd, 0xfe, 0x2f, 0x3a, 0x56, 0xc6, 0x77, 0x44, 0xa8, 0x69, 0x32, 0xe6,
+ 0x1e, 0x58, 0xff, 0x6e, 0xd8, 0xe6, 0x54, 0x9a, 0xcd, 0x4e, 0xe9, 0xe2,
+ 0x44, 0x2d, 0x44, 0x27, 0x7d, 0x19, 0xdd, 0x02, 0x41, 0x03, 0xe1, 0xc5,
+ 0xcb, 0x94, 0x19, 0x26, 0x92, 0xdf, 0xf4, 0x81, 0xf1, 0x45, 0xb2, 0x69,
+ 0x5c, 0xfa, 0x06, 0x79, 0x2e, 0xc7, 0x71, 0xca, 0x94, 0x1e, 0x8b, 0xa8,
+ 0x2c, 0x93, 0x6b, 0xc2, 0x0d, 0xd0, 0x5e, 0xca, 0x57, 0x12, 0xee, 0x7f,
+ 0x64, 0xc2, 0x08, 0xaf, 0x6b, 0xa0, 0xdc, 0x2b, 0xe9, 0x40, 0xc9, 0xb8,
+ 0x49, 0xb2, 0x89, 0xd9, 0x8a, 0x08, 0x46, 0xc7, 0xd8, 0x60, 0xbd, 0x0f,
+ 0x08, 0xe3, 0x02, 0x41, 0x00, 0x88, 0x3b, 0xc3, 0xeb, 0xca, 0xdf, 0x29,
+ 0xc5, 0x03, 0xa4, 0xf2, 0x46, 0xa6, 0xf2, 0xc1, 0x50, 0x18, 0x41, 0x27,
+ 0x51, 0xe8, 0x56, 0x00, 0x84, 0xce, 0xdc, 0xc5, 0x62, 0xc5, 0x9b, 0x5f,
+ 0x91, 0x63, 0x5b, 0x70, 0xda, 0xec, 0x84, 0xe7, 0x05, 0x7b, 0x6c, 0x07,
+ 0x83, 0x45, 0x88, 0x90, 0x2c, 0xe0, 0xf3, 0x67, 0x8d, 0xdb, 0xe8, 0x12,
+ 0x4e, 0xe9, 0x80, 0xe6, 0x25, 0xb7, 0xb6, 0x64, 0x2d, 0x02, 0x41, 0x03,
+ 0x79, 0x4f, 0xa0, 0x56, 0xf0, 0x0a, 0xec, 0xf5, 0x2d, 0xc1, 0xfb, 0x3f,
+ 0xfb, 0xe0, 0xfe, 0x2b, 0x61, 0x0f, 0xa1, 0x25, 0x2a, 0x57, 0xb7, 0x25,
+ 0x7e, 0xa5, 0x08, 0xff, 0x04, 0x37, 0xac, 0x55, 0x03, 0xfe, 0xde, 0xdd,
+ 0x3a, 0x41, 0x16, 0xd1, 0xed, 0x23, 0xce, 0x95, 0x2d, 0x72, 0xbe, 0x52,
+ 0x14, 0x32, 0xaf, 0x00, 0xef, 0x0b, 0x95, 0xd2, 0xc2, 0x44, 0xa5, 0x06,
+ 0x2d, 0x29, 0xff, 0x31, 0x02, 0x41, 0x02, 0xc6, 0xb7, 0xac, 0x1d, 0x3b,
+ 0x80, 0xc4, 0x46, 0x4a, 0xff, 0xdd, 0x3f, 0xbb, 0x17, 0x4a, 0xf2, 0x19,
+ 0x3a, 0x74, 0x61, 0xa2, 0xd7, 0xc7, 0xd5, 0x85, 0xa3, 0x72, 0xfe, 0x86,
+ 0x20, 0x85, 0x5a, 0xa9, 0xb2, 0x84, 0x19, 0xcf, 0x41, 0x4a, 0x62, 0x11,
+ 0x07, 0x33, 0x82, 0xb2, 0x5f, 0x9f, 0x81, 0xfe, 0x1e, 0x8b, 0x26, 0x32,
+ 0xaa, 0x3c, 0x75, 0xa7, 0xb3, 0xbc, 0xc5, 0x92, 0x71, 0x88, 0x58,
};
+/* END FILE */
+
+/* This macro was generated from tests/scripts/generate_test_keys.py */
+/* BEGIN FILE string macro test_rsa_1030 */
+const unsigned char test_rsa_1030[] = {
+ 0x30, 0x82, 0x02, 0x5e, 0x02, 0x01, 0x00, 0x02, 0x81, 0x81, 0x29, 0x80,
+ 0x16, 0x41, 0x52, 0x5b, 0x45, 0xb0, 0xcf, 0x21, 0xf3, 0x1e, 0xcf, 0x61,
+ 0x78, 0x6b, 0xb7, 0x90, 0x12, 0x9b, 0x2c, 0xdb, 0xfa, 0x5a, 0x36, 0x78,
+ 0xcc, 0xa9, 0xcf, 0x90, 0x3d, 0x76, 0xcd, 0x22, 0x41, 0xb2, 0x24, 0x32,
+ 0x87, 0xb8, 0x32, 0x88, 0x28, 0xed, 0x69, 0xe9, 0x3d, 0x88, 0x8c, 0x40,
+ 0xfb, 0x41, 0x59, 0x6e, 0x78, 0x05, 0x5a, 0xa2, 0x5a, 0xb0, 0xba, 0x12,
+ 0x7e, 0x49, 0x30, 0x2d, 0xc7, 0x87, 0xda, 0xb2, 0xbd, 0xf9, 0x44, 0x61,
+ 0xd4, 0x9a, 0x3c, 0x8f, 0xb9, 0xac, 0x95, 0xec, 0xc4, 0xe7, 0xed, 0xbc,
+ 0xf1, 0xed, 0xea, 0xdc, 0xa9, 0x8b, 0x1e, 0x73, 0x09, 0x25, 0xf2, 0xff,
+ 0xea, 0xf4, 0x4f, 0xfd, 0x14, 0xe8, 0xab, 0x65, 0x80, 0xeb, 0xa4, 0x91,
+ 0xfa, 0x45, 0x8e, 0xf0, 0x84, 0xff, 0x59, 0x36, 0x40, 0xef, 0xaf, 0x63,
+ 0x23, 0x51, 0xcf, 0xb5, 0x2b, 0x9d, 0x35, 0x02, 0x03, 0x01, 0x00, 0x01,
+ 0x02, 0x81, 0x81, 0x08, 0x9c, 0xdf, 0xe1, 0x8a, 0x27, 0x4d, 0xa1, 0x1a,
+ 0x77, 0xd4, 0x06, 0x60, 0xa9, 0x3c, 0xad, 0xf4, 0x50, 0x77, 0x00, 0x13,
+ 0xf1, 0x0a, 0x75, 0xe7, 0x08, 0xae, 0x87, 0x0e, 0x80, 0x03, 0xb5, 0x90,
+ 0x70, 0xab, 0xdc, 0x3e, 0x05, 0x6b, 0xa3, 0xd7, 0x7e, 0xe9, 0x29, 0x8e,
+ 0x99, 0xbc, 0xae, 0xc6, 0x56, 0xe5, 0x1e, 0x44, 0xa2, 0x77, 0xcf, 0xba,
+ 0xa5, 0xe7, 0xb6, 0xf6, 0x43, 0x08, 0xc9, 0x02, 0x84, 0xef, 0x41, 0xb5,
+ 0x04, 0xc5, 0x6f, 0xd8, 0x9a, 0xa0, 0x71, 0xaa, 0x1a, 0x7e, 0xac, 0x57,
+ 0xb9, 0x73, 0x5a, 0x02, 0xbf, 0x7c, 0xbe, 0x05, 0xf7, 0x7a, 0xa8, 0xf1,
+ 0x83, 0x1a, 0x58, 0xe1, 0x85, 0xbb, 0x40, 0x87, 0xff, 0x83, 0xbd, 0x9c,
+ 0x5a, 0x5e, 0xe5, 0x88, 0xe0, 0x88, 0x27, 0xe2, 0xef, 0xbb, 0xb1, 0x23,
+ 0x33, 0x31, 0x7f, 0x2d, 0x58, 0x14, 0x31, 0xac, 0x36, 0x08, 0xb9, 0x69,
+ 0x02, 0x41, 0x06, 0xb1, 0xe8, 0x8e, 0xfe, 0x4a, 0x77, 0x67, 0xa0, 0xdd,
+ 0xb6, 0xb0, 0x94, 0x58, 0xbf, 0x68, 0x67, 0x9d, 0x31, 0xd8, 0x49, 0x55,
+ 0xf0, 0xc9, 0x50, 0x7b, 0x5f, 0x1d, 0x0d, 0x1b, 0x16, 0x78, 0x5d, 0xe3,
+ 0x11, 0x9c, 0x58, 0x20, 0xa6, 0xd9, 0xbc, 0x2b, 0x03, 0xb5, 0x2d, 0x99,
+ 0xaa, 0x67, 0x27, 0x2f, 0x16, 0x45, 0x3c, 0xf6, 0x3d, 0x0b, 0x76, 0xe8,
+ 0x73, 0x8b, 0x94, 0x38, 0xd1, 0x43, 0x9d, 0x02, 0x41, 0x06, 0x32, 0xe1,
+ 0x2a, 0xb9, 0x61, 0x5f, 0xa4, 0x5c, 0x67, 0x33, 0x71, 0xaf, 0xa0, 0xa6,
+ 0xef, 0x95, 0x63, 0x3a, 0x49, 0xef, 0xa6, 0xe6, 0x63, 0x39, 0x54, 0x80,
+ 0xef, 0x44, 0x49, 0xe0, 0x69, 0x6b, 0xf9, 0xbc, 0x89, 0x60, 0x1c, 0x03,
+ 0xce, 0x92, 0x53, 0x0d, 0x33, 0x88, 0x64, 0x9b, 0x77, 0xd3, 0x22, 0xec,
+ 0x1d, 0x94, 0xb5, 0x43, 0x0b, 0xb7, 0x69, 0xd1, 0x1d, 0xfc, 0x70, 0x30,
+ 0xc8, 0x79, 0x02, 0x41, 0x02, 0xb1, 0x63, 0x02, 0xc9, 0x64, 0x38, 0x9d,
+ 0x35, 0x46, 0x99, 0x2a, 0x73, 0xb1, 0x32, 0xe4, 0x92, 0xf0, 0xd6, 0xd0,
+ 0xd1, 0xc6, 0xc0, 0xc0, 0xa9, 0x1f, 0xc6, 0xc5, 0x4f, 0xb5, 0x3a, 0x97,
+ 0x95, 0xe4, 0x34, 0xfc, 0x37, 0x32, 0x83, 0x0a, 0x87, 0xb6, 0xa1, 0x9a,
+ 0x29, 0xca, 0x6a, 0x91, 0x6d, 0x60, 0x72, 0x4b, 0xcd, 0x56, 0x9a, 0x7d,
+ 0x57, 0x09, 0xef, 0x18, 0x10, 0xb9, 0xbd, 0xea, 0xbd, 0x02, 0x40, 0x77,
+ 0xdb, 0x55, 0xf4, 0xc6, 0x8c, 0x08, 0xc8, 0x09, 0xeb, 0x72, 0xcc, 0xc7,
+ 0x1f, 0x94, 0xbc, 0xfd, 0xcf, 0xab, 0x41, 0xf4, 0xa3, 0x36, 0x1f, 0x60,
+ 0x68, 0x94, 0xa9, 0xdd, 0xc2, 0x9b, 0x73, 0xd2, 0x5b, 0x11, 0x2d, 0x37,
+ 0x30, 0x7a, 0x6b, 0xc6, 0xe6, 0x1a, 0x5c, 0x54, 0xed, 0x01, 0x31, 0xeb,
+ 0x53, 0x56, 0x30, 0xa3, 0x38, 0x3b, 0x2c, 0x51, 0x4b, 0xc0, 0x2e, 0x0e,
+ 0xf3, 0x40, 0x51, 0x02, 0x41, 0x03, 0x26, 0x57, 0x0d, 0xf5, 0xdf, 0x3f,
+ 0x5e, 0x31, 0x00, 0x9b, 0xf0, 0x92, 0x04, 0xfd, 0x97, 0x3e, 0x04, 0x7f,
+ 0x23, 0xd7, 0x79, 0x3c, 0xd7, 0xe8, 0xe1, 0x0e, 0xf0, 0xc4, 0x9f, 0xdb,
+ 0x4b, 0x5a, 0x42, 0xd7, 0x63, 0x4f, 0x95, 0x85, 0x35, 0xb9, 0x37, 0x24,
+ 0x34, 0xeb, 0xa3, 0xc7, 0x27, 0x49, 0x18, 0x78, 0x68, 0x05, 0x45, 0x6c,
+ 0x9b, 0xa7, 0x60, 0x07, 0x9d, 0x7e, 0x63, 0xad, 0xb7, 0x0c,
+};
+/* END FILE */
+
+/* This macro was generated from tests/scripts/generate_test_keys.py */
+/* BEGIN FILE string macro test_rsa_2048 */
+const unsigned char test_rsa_2048[] = {
+ 0x30, 0x82, 0x04, 0xa5, 0x02, 0x01, 0x00, 0x02, 0x82, 0x01, 0x01, 0x00,
+ 0xaa, 0x20, 0x13, 0x4a, 0x30, 0x6e, 0x42, 0xaf, 0xcb, 0x0a, 0xb9, 0x31,
+ 0x8e, 0x5d, 0x85, 0x75, 0xfb, 0x48, 0x35, 0xbe, 0xc0, 0x77, 0x93, 0xcd,
+ 0x51, 0xf4, 0x22, 0x0d, 0x72, 0x1a, 0xc1, 0x87, 0xf5, 0x6c, 0xb6, 0x68,
+ 0xb8, 0xc3, 0x63, 0x90, 0xa7, 0x38, 0x86, 0x44, 0xc0, 0xfb, 0x03, 0x0a,
+ 0x69, 0xc2, 0xb0, 0x3a, 0x15, 0xa5, 0xa0, 0xe9, 0x5a, 0xab, 0x32, 0xbb,
+ 0xd1, 0x73, 0x88, 0x34, 0x77, 0xc5, 0xae, 0xc9, 0x7d, 0x0d, 0x33, 0x78,
+ 0x31, 0x57, 0xc0, 0x43, 0xa1, 0x61, 0x90, 0x7f, 0xfc, 0xd9, 0x02, 0x71,
+ 0x76, 0x96, 0x4e, 0xe5, 0x55, 0xe8, 0x6e, 0x34, 0x1c, 0xd7, 0x8c, 0xab,
+ 0x7f, 0xec, 0xc2, 0x36, 0xba, 0x4a, 0x04, 0xac, 0xfb, 0x78, 0x74, 0xf1,
+ 0xc3, 0xff, 0x4d, 0xac, 0x53, 0x27, 0x7a, 0x0d, 0xdc, 0x49, 0xbe, 0x8d,
+ 0x8f, 0xaa, 0x24, 0x9b, 0xbc, 0x94, 0x6c, 0xfe, 0x23, 0x18, 0xad, 0x80,
+ 0x9b, 0x68, 0x0e, 0xf6, 0xc7, 0x66, 0xf2, 0xca, 0x64, 0xc6, 0xb5, 0x68,
+ 0x89, 0xf2, 0xac, 0x93, 0xa8, 0x57, 0x2f, 0xd4, 0xd6, 0xc3, 0xee, 0x84,
+ 0x7b, 0x20, 0xcb, 0x5a, 0x9f, 0xd5, 0x03, 0x9b, 0x57, 0x44, 0xf3, 0x86,
+ 0x64, 0x88, 0x79, 0xf5, 0xe9, 0xb9, 0x4b, 0xf8, 0x74, 0x70, 0xea, 0x77,
+ 0x98, 0x4b, 0x36, 0xc2, 0xa8, 0x63, 0xe8, 0x56, 0x52, 0xae, 0x67, 0xf3,
+ 0x7c, 0x78, 0x0a, 0x0f, 0x9c, 0xd7, 0xc9, 0xc9, 0x89, 0x8f, 0x47, 0xe7,
+ 0x3a, 0xb8, 0x0f, 0x85, 0x66, 0xb0, 0x42, 0x2a, 0x55, 0x3c, 0x9c, 0x3c,
+ 0xcc, 0xc0, 0xf5, 0xc0, 0x20, 0x8b, 0x2f, 0xe4, 0xd1, 0x36, 0xc1, 0x2e,
+ 0x54, 0x97, 0xa4, 0xe8, 0x6f, 0xac, 0x94, 0x10, 0x43, 0xb8, 0xb9, 0x17,
+ 0x20, 0x09, 0x45, 0x70, 0x44, 0x0f, 0x47, 0xe2, 0x80, 0x33, 0x30, 0x05,
+ 0xd0, 0xd2, 0x62, 0x4f, 0x02, 0x03, 0x01, 0x00, 0x01, 0x02, 0x82, 0x01,
+ 0x00, 0x13, 0x66, 0x73, 0xfc, 0xae, 0x58, 0x2c, 0x87, 0xa2, 0x76, 0x57,
+ 0x17, 0x15, 0x1e, 0x8a, 0x15, 0x21, 0xb2, 0x22, 0xda, 0xdd, 0x54, 0xe5,
+ 0x88, 0x70, 0xf3, 0x8f, 0x9c, 0x8b, 0xea, 0x0c, 0x2e, 0xc6, 0x68, 0x7e,
+ 0xc6, 0xa3, 0x67, 0x38, 0xa7, 0xea, 0xc1, 0xd1, 0xe1, 0xee, 0x45, 0xd1,
+ 0x9b, 0x72, 0xe3, 0x0e, 0x38, 0x99, 0x76, 0x59, 0x4a, 0xb3, 0x19, 0xb9,
+ 0xbf, 0xdc, 0x4b, 0x39, 0xf9, 0x8d, 0xbc, 0xff, 0xc9, 0x1f, 0x57, 0x0d,
+ 0x8b, 0x03, 0xc9, 0x77, 0x75, 0xde, 0xe5, 0xe2, 0xd6, 0x0d, 0x8d, 0xeb,
+ 0xae, 0xe7, 0xb0, 0x8d, 0x4f, 0xae, 0xc3, 0xc2, 0x29, 0x74, 0x2e, 0x8a,
+ 0x6e, 0x96, 0x38, 0x78, 0x0f, 0x48, 0xa0, 0x1f, 0x37, 0x60, 0xb7, 0xe4,
+ 0x52, 0x1b, 0xa1, 0x36, 0x08, 0xd4, 0x34, 0xb8, 0xc0, 0xf2, 0xe1, 0x7f,
+ 0xf6, 0xe1, 0xae, 0xab, 0xdd, 0x0c, 0x9c, 0xba, 0x6e, 0xf2, 0xfd, 0xee,
+ 0x92, 0x22, 0x68, 0x8d, 0x78, 0xb4, 0xc3, 0x67, 0x97, 0xce, 0xae, 0xc5,
+ 0x3f, 0x9c, 0x41, 0x62, 0xbf, 0xf0, 0xab, 0x1d, 0xe9, 0x62, 0xf9, 0x2e,
+ 0x63, 0xa7, 0xd5, 0x2d, 0x49, 0xbe, 0x67, 0x4c, 0x76, 0xb6, 0x81, 0x63,
+ 0xb6, 0x94, 0x86, 0xa7, 0x6a, 0x5a, 0xd8, 0xe4, 0x85, 0xe3, 0x61, 0x0d,
+ 0xb3, 0x5a, 0x52, 0x5b, 0x6f, 0x59, 0x81, 0xc0, 0x8d, 0xd7, 0xee, 0x0c,
+ 0xa3, 0xa3, 0xe1, 0x95, 0x5a, 0x09, 0x89, 0x71, 0x4d, 0xe2, 0x97, 0xec,
+ 0x9b, 0x6a, 0x76, 0x5a, 0xc6, 0x92, 0x61, 0x4b, 0x1d, 0x42, 0xc1, 0x55,
+ 0x25, 0x29, 0x61, 0x84, 0x75, 0x06, 0xfd, 0x6f, 0xb0, 0xe2, 0xba, 0x8a,
+ 0xa3, 0x6c, 0x89, 0x6b, 0x57, 0xf6, 0x59, 0x35, 0x9c, 0xef, 0x1d, 0x0b,
+ 0xb6, 0xe0, 0x0e, 0xcc, 0x31, 0x7a, 0x99, 0x20, 0x6f, 0x4c, 0xa2, 0x9c,
+ 0xcc, 0x58, 0xc1, 0xb4, 0x65, 0x02, 0x81, 0x81, 0x00, 0xde, 0x2d, 0x72,
+ 0xf5, 0xad, 0x7b, 0x26, 0xec, 0x59, 0x28, 0x10, 0x87, 0x2c, 0xfe, 0xee,
+ 0x63, 0x2f, 0xe2, 0xa2, 0xc7, 0xa7, 0x1f, 0xcc, 0xa0, 0x8d, 0xf1, 0x27,
+ 0x6c, 0xd5, 0xfd, 0x98, 0xe1, 0x5f, 0x85, 0x5b, 0xc0, 0xd3, 0x5b, 0x6b,
+ 0xbf, 0x3e, 0xa6, 0x2a, 0x28, 0xa4, 0xbf, 0x17, 0xed, 0x68, 0xc1, 0x72,
+ 0xaa, 0xb2, 0x57, 0x4d, 0x33, 0x24, 0xf8, 0x3b, 0x92, 0x85, 0xa7, 0x6d,
+ 0xa5, 0x89, 0xfe, 0x32, 0x27, 0x8d, 0x9a, 0xbb, 0x47, 0xf6, 0xa4, 0x6c,
+ 0x07, 0x44, 0xb0, 0xd3, 0x04, 0x67, 0xae, 0x1d, 0x6e, 0x1a, 0x0e, 0xf3,
+ 0x4a, 0x3a, 0xe4, 0xae, 0x91, 0xf9, 0x1e, 0x90, 0xbc, 0x84, 0x61, 0x0e,
+ 0x39, 0x09, 0x92, 0xbf, 0x68, 0x6c, 0xb9, 0xee, 0x6e, 0xbf, 0x20, 0x16,
+ 0xe9, 0x7f, 0x3c, 0x33, 0x87, 0x4f, 0x1f, 0x7a, 0xcc, 0x93, 0x4e, 0x8f,
+ 0xea, 0xc2, 0xd1, 0xac, 0x7b, 0x02, 0x81, 0x81, 0x00, 0xc4, 0x06, 0x14,
+ 0xfb, 0x02, 0xa8, 0xf7, 0x8c, 0x92, 0x72, 0xde, 0xa8, 0x99, 0xf3, 0x62,
+ 0xb6, 0x09, 0x23, 0x08, 0x3a, 0x27, 0x07, 0xfe, 0x6d, 0x82, 0xa4, 0x74,
+ 0x10, 0xbc, 0x36, 0xaa, 0xa8, 0x65, 0x52, 0x50, 0x9f, 0xdb, 0x11, 0xa6,
+ 0xe1, 0xc5, 0xc6, 0x7f, 0xca, 0xb9, 0xc2, 0x56, 0xc0, 0x15, 0x54, 0x7c,
+ 0x53, 0x3e, 0x3c, 0x78, 0xaf, 0x75, 0x22, 0x0f, 0x65, 0xa2, 0xdd, 0x22,
+ 0x38, 0xb1, 0x0f, 0x40, 0xc1, 0x45, 0x30, 0x97, 0xf0, 0xc8, 0xc1, 0x32,
+ 0xde, 0x89, 0x80, 0x4c, 0xdc, 0xe5, 0x2f, 0x69, 0x2c, 0x73, 0xf3, 0xa7,
+ 0x52, 0x16, 0x50, 0xe2, 0xad, 0x2b, 0xc6, 0x9e, 0x6d, 0x53, 0x4f, 0xb3,
+ 0x56, 0x0e, 0x3d, 0x78, 0xbf, 0x19, 0xfa, 0x5f, 0x67, 0x91, 0xa5, 0xd8,
+ 0x2e, 0xd5, 0xb7, 0xd7, 0x3d, 0x6b, 0x06, 0x68, 0x6a, 0x23, 0x27, 0xae,
+ 0x3c, 0xac, 0x69, 0x0b, 0x3d, 0x02, 0x81, 0x81, 0x00, 0x8f, 0xbb, 0xdb,
+ 0x69, 0x71, 0x08, 0x01, 0x10, 0x5a, 0x45, 0x7f, 0x1b, 0xd4, 0x52, 0x40,
+ 0xaa, 0xce, 0x69, 0xd2, 0x61, 0x53, 0x8f, 0x50, 0xf4, 0x75, 0x9f, 0x93,
+ 0x9f, 0xe7, 0x78, 0x9e, 0x94, 0xff, 0x14, 0xe9, 0x5c, 0xff, 0xdf, 0x5e,
+ 0xff, 0x64, 0x6a, 0x5f, 0x4f, 0xd7, 0xf5, 0x00, 0x67, 0xc8, 0xa3, 0x8d,
+ 0xa9, 0x3c, 0xa3, 0x1a, 0x00, 0x82, 0x64, 0x4d, 0x35, 0xe7, 0x5d, 0x7f,
+ 0xa3, 0xde, 0x78, 0x22, 0xbe, 0x4f, 0xef, 0xd0, 0x45, 0x28, 0x1d, 0x0a,
+ 0xfe, 0x50, 0xc4, 0x0c, 0x60, 0x07, 0x2b, 0x2f, 0x42, 0xf1, 0x7c, 0xc6,
+ 0x8c, 0x39, 0x39, 0x84, 0x6e, 0x4f, 0x3a, 0x24, 0xec, 0xb0, 0xbf, 0x91,
+ 0x51, 0xf9, 0x0d, 0x84, 0xe2, 0xeb, 0xa4, 0x05, 0xca, 0x83, 0xbf, 0x20,
+ 0xd3, 0x82, 0x4a, 0xd2, 0x13, 0x31, 0x6e, 0xee, 0x24, 0xb7, 0x0f, 0xd6,
+ 0x2f, 0x4c, 0x46, 0x15, 0x4d, 0x02, 0x81, 0x81, 0x00, 0x8b, 0xa2, 0x39,
+ 0x77, 0xc4, 0xa1, 0x50, 0x15, 0x96, 0x8c, 0xb5, 0x07, 0x2d, 0x03, 0x2e,
+ 0xa1, 0xb5, 0x48, 0x7b, 0x27, 0xd1, 0x7d, 0xe4, 0x43, 0x65, 0xf8, 0x77,
+ 0xa5, 0x24, 0x2d, 0x5c, 0xcb, 0xaf, 0xc1, 0x3f, 0x25, 0x60, 0x0b, 0xe6,
+ 0xf0, 0x94, 0xcd, 0x9d, 0x62, 0x6f, 0x88, 0x7b, 0xfb, 0x40, 0x36, 0x7a,
+ 0x89, 0x61, 0x9f, 0xf9, 0xe8, 0x22, 0x6c, 0x2c, 0xc3, 0x9d, 0x8c, 0x20,
+ 0x40, 0x79, 0xff, 0xff, 0x84, 0xad, 0x20, 0xbc, 0x5b, 0x0c, 0xe6, 0x72,
+ 0xb2, 0x0b, 0x08, 0x95, 0xb8, 0x14, 0x99, 0xfd, 0x35, 0x69, 0x33, 0x7b,
+ 0x51, 0x02, 0x0c, 0x84, 0x2c, 0x0f, 0x2e, 0xe0, 0xd3, 0xc7, 0xb0, 0xd2,
+ 0x72, 0xce, 0x9a, 0x03, 0x55, 0x3d, 0xd0, 0x17, 0xfd, 0xd2, 0xc6, 0x6c,
+ 0x84, 0x90, 0x40, 0xf0, 0xd6, 0x13, 0x52, 0xf1, 0x36, 0x09, 0xec, 0xce,
+ 0x34, 0xf2, 0x2b, 0xb1, 0x91, 0x02, 0x81, 0x81, 0x00, 0xc5, 0xf8, 0xda,
+ 0xdb, 0x52, 0xa6, 0x7b, 0x9a, 0x38, 0x1d, 0xb6, 0x5f, 0x8f, 0x08, 0x54,
+ 0x17, 0x60, 0xe0, 0x99, 0x06, 0x6b, 0xf9, 0xac, 0xe9, 0x71, 0x38, 0x60,
+ 0x0d, 0x79, 0x12, 0xe7, 0xd4, 0x47, 0x48, 0xfc, 0x12, 0x5b, 0x73, 0x4a,
+ 0x9a, 0xca, 0xda, 0x54, 0xaa, 0xb7, 0x4e, 0xf4, 0x2d, 0x70, 0xd5, 0x22,
+ 0x9f, 0xa0, 0x51, 0x62, 0x2b, 0x7f, 0xa7, 0x14, 0x7d, 0xd4, 0x1e, 0x3e,
+ 0xfd, 0x26, 0x97, 0x71, 0xaf, 0x01, 0x9d, 0x3b, 0x7a, 0x0f, 0x4d, 0xab,
+ 0xfb, 0xe8, 0xff, 0xf4, 0x4d, 0xd0, 0xf3, 0x22, 0x5a, 0x37, 0x51, 0xe3,
+ 0x85, 0x3a, 0x3f, 0x78, 0x36, 0x66, 0xaa, 0x57, 0x69, 0x6a, 0xe9, 0x7a,
+ 0x55, 0x7c, 0x1c, 0xeb, 0x8c, 0x5f, 0x17, 0x15, 0x9a, 0xd2, 0xa1, 0x21,
+ 0xbe, 0xd5, 0x6d, 0xb1, 0xaa, 0x3f, 0xc7, 0xbc, 0x36, 0xf6, 0xea, 0x78,
+ 0x98, 0x26, 0x94, 0xb2, 0x58,
+};
+/* END FILE */
+
+/* This macro was generated from tests/scripts/generate_test_keys.py */
+/* BEGIN FILE string macro test_rsa_4096 */
+const unsigned char test_rsa_4096[] = {
+ 0x30, 0x82, 0x09, 0x29, 0x02, 0x01, 0x00, 0x02, 0x82, 0x02, 0x01, 0x00,
+ 0xca, 0xd0, 0xd9, 0x1e, 0xae, 0x27, 0x25, 0x04, 0x53, 0xb5, 0x7f, 0x0a,
+ 0x56, 0x80, 0xd2, 0xf5, 0xd4, 0x9c, 0x59, 0x33, 0x0e, 0xae, 0x70, 0xe0,
+ 0x35, 0xb7, 0x65, 0x6b, 0x3a, 0xbf, 0x45, 0x65, 0x1f, 0xfb, 0x86, 0x6b,
+ 0x9c, 0x3e, 0x33, 0x6c, 0xff, 0xc2, 0x03, 0x3d, 0x25, 0x0a, 0x6b, 0xbe,
+ 0xd7, 0x03, 0x97, 0xdd, 0xea, 0x5b, 0x80, 0xb7, 0x8b, 0x3c, 0xad, 0xaf,
+ 0x88, 0x53, 0x64, 0x30, 0x90, 0xb3, 0xf3, 0x5e, 0x82, 0x8b, 0x0b, 0x59,
+ 0x29, 0x11, 0x32, 0xf1, 0x50, 0xce, 0xd1, 0x89, 0x4a, 0x88, 0xdb, 0x14,
+ 0x52, 0xbd, 0x5b, 0x67, 0x13, 0x1e, 0x60, 0x89, 0xd9, 0x53, 0xf4, 0x34,
+ 0x5e, 0xfe, 0x3d, 0xd4, 0xae, 0xf5, 0x97, 0x7a, 0xe4, 0x66, 0xd5, 0xb0,
+ 0x74, 0x72, 0xd9, 0x13, 0x02, 0x3a, 0x42, 0xc3, 0x91, 0xdb, 0xd1, 0x41,
+ 0x6f, 0x46, 0x06, 0x51, 0xd2, 0x0c, 0xb9, 0x6b, 0x8b, 0x72, 0xa0, 0x0e,
+ 0xcc, 0x05, 0x95, 0x5c, 0xa0, 0xbd, 0x57, 0xda, 0xb8, 0x33, 0x87, 0x85,
+ 0xc7, 0xee, 0xd1, 0x06, 0xcc, 0x78, 0x90, 0x39, 0xd4, 0x96, 0x24, 0x89,
+ 0xda, 0xff, 0xb0, 0xe4, 0xd2, 0x39, 0x58, 0x45, 0xf5, 0x2a, 0x45, 0x44,
+ 0xc3, 0xca, 0x54, 0xa7, 0xd7, 0x32, 0x8f, 0x3e, 0x56, 0x30, 0x14, 0xef,
+ 0x20, 0x3d, 0x96, 0xe1, 0xdf, 0x75, 0xa7, 0x99, 0x5c, 0xdd, 0x98, 0x21,
+ 0xf1, 0xac, 0x8f, 0x0c, 0x6b, 0xf0, 0x79, 0x55, 0x27, 0xc1, 0x00, 0xa3,
+ 0xec, 0x49, 0xb4, 0x0d, 0x02, 0x92, 0xba, 0xa0, 0x7f, 0x53, 0xaf, 0xd0,
+ 0x41, 0x33, 0x73, 0xb4, 0xc4, 0xfd, 0x1f, 0xf7, 0x54, 0xa5, 0xd2, 0x71,
+ 0xb1, 0x6c, 0x4c, 0x1f, 0x45, 0xce, 0xf0, 0xd0, 0x8d, 0xe2, 0xaa, 0x02,
+ 0xa6, 0xce, 0x4b, 0xac, 0xeb, 0xd0, 0xb7, 0x4a, 0x56, 0xf0, 0xc6, 0x0f,
+ 0x0f, 0x95, 0xcb, 0x11, 0xf3, 0x62, 0xee, 0x60, 0xcf, 0xca, 0x80, 0x24,
+ 0x11, 0xaa, 0x25, 0x04, 0xce, 0xa8, 0xae, 0x3d, 0x38, 0xec, 0xab, 0xa5,
+ 0x13, 0xd4, 0xca, 0xf7, 0x2d, 0x52, 0xfb, 0x16, 0x10, 0x88, 0xdf, 0x8f,
+ 0xa0, 0xcc, 0xf6, 0xa1, 0xb8, 0x4d, 0xaa, 0x18, 0x9c, 0x1f, 0xcf, 0x0a,
+ 0xe6, 0x13, 0xde, 0x21, 0x60, 0xee, 0xa4, 0x50, 0x97, 0x81, 0x28, 0x6f,
+ 0xc3, 0xc4, 0xdc, 0xe2, 0x73, 0xf4, 0x42, 0x40, 0x8b, 0x28, 0x79, 0xcc,
+ 0x5f, 0x9d, 0xe6, 0x3c, 0x42, 0xfb, 0x54, 0x5c, 0x9c, 0xb5, 0xad, 0xbd,
+ 0xc7, 0x6d, 0x04, 0xc3, 0x6e, 0xa3, 0x25, 0x90, 0x16, 0x79, 0xd0, 0x8a,
+ 0xa4, 0xe6, 0x6c, 0x9e, 0x63, 0x61, 0x20, 0xb9, 0x06, 0x1e, 0xc9, 0x3b,
+ 0x44, 0x61, 0x80, 0x9f, 0xb8, 0xbd, 0x78, 0xa5, 0x06, 0xfd, 0xec, 0x10,
+ 0x4a, 0xed, 0x31, 0xc5, 0xb6, 0x19, 0xff, 0xa2, 0xd6, 0xba, 0xb4, 0xd9,
+ 0x86, 0x40, 0x7f, 0x24, 0x47, 0x48, 0xf4, 0xa0, 0x66, 0x66, 0xe5, 0xa4,
+ 0x51, 0xc1, 0xa3, 0x25, 0x2e, 0x34, 0x58, 0x61, 0x85, 0x51, 0x75, 0x49,
+ 0x18, 0xf4, 0xa6, 0xd8, 0x83, 0x28, 0x7e, 0xcc, 0x56, 0x27, 0xc6, 0x79,
+ 0xda, 0x8e, 0x3e, 0x36, 0x23, 0xe2, 0xa7, 0x6d, 0x11, 0xcb, 0x91, 0x05,
+ 0x59, 0xdf, 0x0f, 0x40, 0x27, 0x25, 0x7c, 0x13, 0x8c, 0xbe, 0x1c, 0x9c,
+ 0x54, 0x0f, 0x57, 0xe3, 0x8f, 0x46, 0xcf, 0xa3, 0xfc, 0x4a, 0x31, 0xf8,
+ 0xe2, 0x32, 0x9a, 0x73, 0x21, 0x04, 0x44, 0x8a, 0xe8, 0x2d, 0x77, 0x2e,
+ 0xad, 0xa4, 0xbd, 0xc8, 0x14, 0x85, 0xb1, 0x8a, 0x72, 0x79, 0x69, 0x24,
+ 0x97, 0x04, 0x7b, 0x56, 0xf5, 0xc4, 0xd9, 0xdb, 0x4f, 0x91, 0x40, 0x60,
+ 0xf0, 0xda, 0x0a, 0xd7, 0x12, 0xf0, 0x09, 0x21, 0xbd, 0x7c, 0x2f, 0x01,
+ 0x73, 0x66, 0x69, 0xd7, 0x92, 0x6a, 0xa6, 0x1b, 0x02, 0x03, 0x01, 0x00,
+ 0x01, 0x02, 0x82, 0x02, 0x00, 0x38, 0xe9, 0x3d, 0xe3, 0xc4, 0x0e, 0xab,
+ 0xee, 0x78, 0xe6, 0xd7, 0x0d, 0x39, 0x94, 0xd0, 0x9d, 0xb6, 0xd9, 0x60,
+ 0x96, 0x59, 0x2a, 0x4d, 0xf6, 0x3c, 0x5c, 0x88, 0x12, 0xfc, 0xdb, 0x2b,
+ 0x47, 0xe3, 0x1f, 0x9b, 0x6a, 0x9a, 0xdf, 0x41, 0x62, 0xf6, 0xa9, 0xa4,
+ 0x6b, 0x05, 0xf7, 0xd4, 0xa0, 0x2a, 0x89, 0x91, 0x95, 0xed, 0xeb, 0x5b,
+ 0x45, 0x25, 0xc7, 0x13, 0x1d, 0xcc, 0x6d, 0x4a, 0x11, 0xee, 0xa8, 0xf0,
+ 0x43, 0xb6, 0xf1, 0xf9, 0x6f, 0x3d, 0x7c, 0xdc, 0x04, 0xa7, 0x1e, 0x41,
+ 0xe1, 0xfa, 0x8e, 0x48, 0x9b, 0x7d, 0x54, 0x31, 0x4f, 0xcd, 0x27, 0x9b,
+ 0x03, 0x53, 0x7e, 0xa1, 0x6a, 0x08, 0xb5, 0xe2, 0xf7, 0xc9, 0x58, 0x94,
+ 0xf7, 0x21, 0x1c, 0x52, 0x1e, 0x3f, 0xae, 0xf2, 0x86, 0xc8, 0xfb, 0x3c,
+ 0x3c, 0xd0, 0xb3, 0x14, 0x16, 0xfe, 0x78, 0x71, 0xd1, 0x87, 0xd5, 0x96,
+ 0x3a, 0x3d, 0x59, 0x1e, 0xdc, 0xc8, 0x17, 0x51, 0x00, 0x3b, 0x02, 0xa6,
+ 0xa2, 0x73, 0x49, 0xd2, 0x5f, 0x91, 0xe8, 0xcb, 0xb2, 0xd2, 0xb1, 0x8a,
+ 0x17, 0x10, 0x36, 0x49, 0x6e, 0x7d, 0x8b, 0x7e, 0x41, 0xd7, 0x53, 0xcc,
+ 0x17, 0x65, 0x62, 0x45, 0x29, 0xb4, 0x9f, 0x13, 0xfe, 0x3c, 0xfe, 0xac,
+ 0xff, 0x5b, 0x04, 0x06, 0xfb, 0xca, 0xda, 0x3d, 0x7a, 0x88, 0x4f, 0xe5,
+ 0x85, 0xbd, 0x6f, 0x58, 0xff, 0x3d, 0x67, 0xa4, 0x84, 0x61, 0xcd, 0x8a,
+ 0xde, 0x80, 0x57, 0x42, 0x2c, 0xbd, 0x63, 0x39, 0x28, 0xe5, 0x6d, 0xf2,
+ 0xfc, 0x92, 0x7e, 0x13, 0x39, 0xa6, 0xf2, 0x1f, 0x27, 0xbc, 0x97, 0x22,
+ 0xdf, 0x2e, 0x5b, 0x91, 0x9f, 0xe1, 0x9f, 0x78, 0x04, 0xd6, 0x7b, 0xe9,
+ 0x4b, 0x3c, 0x65, 0x3c, 0x3b, 0x9e, 0x3f, 0x09, 0x31, 0x2e, 0xc2, 0xd4,
+ 0x8c, 0x01, 0xb5, 0x72, 0x7e, 0x4b, 0x6b, 0x47, 0x1d, 0xf3, 0xb2, 0xaa,
+ 0x9c, 0xd0, 0x1a, 0x11, 0x24, 0xad, 0xeb, 0x0e, 0x9e, 0xe1, 0xa9, 0xfc,
+ 0x4c, 0xf0, 0xd0, 0xc5, 0x4d, 0xd0, 0xef, 0x45, 0xa2, 0x64, 0xce, 0x08,
+ 0x60, 0x55, 0xaf, 0x11, 0xbd, 0xad, 0xda, 0x20, 0x04, 0x97, 0x1f, 0x9f,
+ 0x99, 0x4a, 0x44, 0x6d, 0x94, 0x57, 0xd8, 0x4d, 0x80, 0xb0, 0x2a, 0xf3,
+ 0x32, 0xd8, 0x62, 0x2b, 0xbb, 0x28, 0xa5, 0x8e, 0x7f, 0x55, 0xfa, 0xe1,
+ 0xb6, 0x34, 0x27, 0x80, 0xa9, 0x63, 0x6b, 0xa7, 0x1b, 0x00, 0x6f, 0x47,
+ 0x51, 0xf2, 0x4d, 0x8a, 0xa2, 0x6b, 0xf8, 0x3f, 0xe0, 0x07, 0x06, 0x58,
+ 0x87, 0x8d, 0x42, 0x5b, 0x81, 0x2f, 0xba, 0x8b, 0xec, 0xfd, 0x5e, 0xad,
+ 0xd5, 0x22, 0xac, 0xb8, 0xb8, 0xa9, 0x51, 0x10, 0x1d, 0x08, 0x78, 0xf4,
+ 0xc8, 0xff, 0xfc, 0x25, 0x85, 0xe1, 0xe1, 0x5a, 0xb7, 0x9c, 0x53, 0xc1,
+ 0x50, 0x7b, 0xfa, 0x48, 0xf4, 0x84, 0x2c, 0x1b, 0x10, 0xd4, 0x31, 0x0b,
+ 0x6f, 0x0d, 0x35, 0x36, 0xf2, 0xbb, 0x70, 0xfb, 0x18, 0xf6, 0x22, 0x8e,
+ 0x87, 0x39, 0xd2, 0x5d, 0x8c, 0xef, 0x42, 0xe4, 0x36, 0x8b, 0x44, 0xac,
+ 0x3c, 0xab, 0x09, 0xf9, 0x26, 0xb3, 0x3d, 0x85, 0x57, 0x75, 0x0a, 0x76,
+ 0x69, 0x14, 0x53, 0x0c, 0x28, 0xd9, 0x28, 0x57, 0x4b, 0x60, 0xea, 0xcf,
+ 0x83, 0xac, 0x9a, 0x05, 0xd4, 0x54, 0x46, 0xd3, 0xfd, 0xb4, 0x5d, 0xcb,
+ 0x45, 0x5a, 0xda, 0x1b, 0xcf, 0x71, 0x03, 0xd9, 0xc7, 0x1b, 0xd8, 0xb6,
+ 0x45, 0x17, 0x45, 0x01, 0x3e, 0x75, 0xf1, 0x48, 0x5c, 0x7a, 0xec, 0x58,
+ 0xe3, 0x71, 0xfb, 0xfe, 0x66, 0xcf, 0x99, 0x1e, 0xf7, 0xa1, 0x79, 0x74,
+ 0xb0, 0x99, 0x9d, 0xe5, 0x93, 0x3f, 0xa3, 0x31, 0x06, 0xb3, 0x16, 0x71,
+ 0x27, 0x36, 0xb0, 0xc0, 0x64, 0xe8, 0x07, 0x5e, 0xf0, 0x4a, 0x76, 0x04,
+ 0x91, 0x02, 0x82, 0x01, 0x01, 0x00, 0xff, 0x09, 0x0d, 0x15, 0xda, 0xbd,
+ 0xa7, 0xe9, 0x79, 0x20, 0x59, 0x05, 0xc1, 0xea, 0x20, 0xa9, 0xb9, 0x47,
+ 0x16, 0x42, 0xeb, 0x3f, 0x26, 0xa4, 0x8b, 0xfd, 0x48, 0x4b, 0xdf, 0x06,
+ 0x35, 0x8b, 0x32, 0xe3, 0xf7, 0x1f, 0xb1, 0x92, 0x96, 0xbf, 0x48, 0x04,
+ 0x32, 0xb2, 0x4e, 0x83, 0x9a, 0x1f, 0x4b, 0x11, 0x75, 0xb8, 0xbf, 0x4d,
+ 0x2e, 0xe0, 0x8a, 0x22, 0xde, 0x94, 0xb1, 0x98, 0xc0, 0xec, 0x8a, 0x49,
+ 0x73, 0x07, 0xf5, 0x69, 0x4c, 0x9a, 0x2f, 0xab, 0xf6, 0xdd, 0x93, 0x26,
+ 0x6c, 0x79, 0x2c, 0xac, 0xbc, 0x7d, 0x67, 0xad, 0x3e, 0x46, 0xdd, 0xf2,
+ 0xef, 0x14, 0x8a, 0x10, 0x9c, 0x11, 0x9b, 0x4a, 0xd5, 0x27, 0x87, 0x52,
+ 0x79, 0x1a, 0xb3, 0x67, 0xe3, 0x29, 0x35, 0x97, 0x57, 0xa7, 0x7f, 0xab,
+ 0xed, 0xe2, 0xa4, 0xa8, 0x94, 0x01, 0x7c, 0x85, 0x5e, 0x47, 0x67, 0xb5,
+ 0xae, 0xf0, 0x2b, 0x9a, 0xa6, 0xb1, 0x4c, 0xd7, 0x84, 0xae, 0x24, 0x1e,
+ 0x28, 0x77, 0x63, 0x69, 0x38, 0x6b, 0xab, 0xe0, 0x4f, 0x90, 0x78, 0x4a,
+ 0x31, 0x30, 0xe8, 0x95, 0xbc, 0xcb, 0x95, 0x9c, 0xd5, 0x34, 0x7c, 0x4c,
+ 0x07, 0xa7, 0x23, 0x66, 0x6b, 0xd6, 0x59, 0x93, 0x69, 0x22, 0xb3, 0xda,
+ 0x47, 0x66, 0xf8, 0xee, 0x4a, 0x38, 0x5e, 0xab, 0x2d, 0xf7, 0xe0, 0xab,
+ 0x9f, 0x65, 0x1a, 0x90, 0x04, 0xaa, 0x71, 0xc5, 0x59, 0xf2, 0x0c, 0xb3,
+ 0xbe, 0xd5, 0xcf, 0x17, 0xcd, 0x70, 0x4c, 0xa6, 0xb7, 0xb5, 0x19, 0xc2,
+ 0x2b, 0xa8, 0x6b, 0x0c, 0x5f, 0x81, 0xb6, 0x18, 0x7b, 0x2e, 0x74, 0x6f,
+ 0xcb, 0x37, 0x15, 0x71, 0x4f, 0x7e, 0xac, 0xbf, 0x66, 0xf5, 0xb6, 0x72,
+ 0xf7, 0xe9, 0xc7, 0x99, 0xa5, 0x31, 0xf9, 0x27, 0x74, 0x4d, 0x68, 0xd6,
+ 0x60, 0xc7, 0x83, 0xe7, 0xd4, 0xa0, 0xc0, 0x09, 0x7a, 0x0f, 0x02, 0x82,
+ 0x01, 0x01, 0x00, 0xcb, 0x95, 0x3b, 0xb3, 0x52, 0xf2, 0x44, 0x4c, 0x50,
+ 0xe0, 0xee, 0xaf, 0xf2, 0xec, 0x68, 0x73, 0x70, 0x16, 0x6c, 0x1d, 0x54,
+ 0xeb, 0xa2, 0xaf, 0x4e, 0xb9, 0x53, 0x5f, 0x73, 0x07, 0x72, 0x68, 0x70,
+ 0xce, 0xf0, 0xc5, 0x1b, 0x94, 0xb3, 0x48, 0xb5, 0x8e, 0x58, 0xb5, 0x81,
+ 0x96, 0x7b, 0xbb, 0x83, 0x33, 0x95, 0x06, 0x1a, 0x01, 0x69, 0xe1, 0x59,
+ 0xf9, 0x6d, 0x3d, 0x13, 0x5f, 0x52, 0xdf, 0xb6, 0x66, 0x68, 0x2b, 0xd8,
+ 0x06, 0x4a, 0xf8, 0xf9, 0x69, 0xed, 0xdd, 0x1e, 0x39, 0x93, 0x10, 0xe5,
+ 0x1b, 0x0b, 0xfe, 0x52, 0xd2, 0x9b, 0x64, 0x6c, 0xb3, 0xdc, 0x8a, 0x30,
+ 0x63, 0x56, 0x1c, 0x57, 0x39, 0x30, 0xfb, 0x89, 0x12, 0xd0, 0xbc, 0x00,
+ 0xd8, 0x4c, 0x0d, 0xcb, 0x17, 0x3e, 0x80, 0xad, 0x87, 0xc2, 0xd9, 0x28,
+ 0xe1, 0xbe, 0x69, 0x2b, 0x6b, 0x11, 0x7f, 0x8d, 0xb7, 0xc0, 0x2f, 0x9c,
+ 0x10, 0xe7, 0xd5, 0x12, 0xc0, 0x10, 0xec, 0x43, 0x9d, 0xe7, 0x30, 0x4b,
+ 0x5d, 0xec, 0x05, 0x22, 0xf3, 0x71, 0xab, 0x6e, 0xba, 0x99, 0x9a, 0xc7,
+ 0xe2, 0x95, 0x2b, 0xa4, 0xdc, 0xf0, 0x18, 0xa7, 0x91, 0x76, 0x5e, 0xf2,
+ 0x3b, 0x46, 0x51, 0xb9, 0xa2, 0x3e, 0xe1, 0xac, 0x7b, 0x18, 0x49, 0x15,
+ 0x2b, 0x01, 0xd6, 0xeb, 0x38, 0x90, 0xe4, 0x76, 0x1e, 0xc2, 0xd7, 0x7a,
+ 0x28, 0x0a, 0x05, 0x68, 0xbd, 0x59, 0xeb, 0xdf, 0x2b, 0x39, 0x58, 0x4b,
+ 0xa8, 0xf9, 0x92, 0x4c, 0xf2, 0xbf, 0xe6, 0x12, 0x6f, 0x13, 0x03, 0xa3,
+ 0xf5, 0xa1, 0xd2, 0x2b, 0x68, 0xf4, 0x8b, 0xac, 0x14, 0xb1, 0x3d, 0x05,
+ 0x4a, 0xea, 0x5a, 0x13, 0x29, 0x47, 0x36, 0x95, 0x7d, 0xf4, 0xed, 0x06,
+ 0x23, 0x3c, 0xf1, 0x4c, 0xf0, 0x95, 0xf9, 0xc7, 0x7e, 0x41, 0x85, 0x84,
+ 0xbf, 0x53, 0xfc, 0xa4, 0x5a, 0x8f, 0x35, 0x02, 0x82, 0x01, 0x00, 0x4e,
+ 0x64, 0xc8, 0xd9, 0xeb, 0xe8, 0x1a, 0x62, 0x20, 0xf2, 0x79, 0x8a, 0xd4,
+ 0x85, 0x94, 0x4e, 0xb7, 0x7e, 0x0b, 0x70, 0xbc, 0x81, 0x27, 0xee, 0xb2,
+ 0x7d, 0x43, 0xa8, 0xd6, 0xc0, 0x40, 0xdb, 0x2d, 0xe4, 0x77, 0x05, 0x0d,
+ 0xff, 0x62, 0x49, 0x1f, 0xe8, 0xf2, 0x70, 0x6e, 0xc3, 0xf3, 0x2f, 0x25,
+ 0x53, 0x13, 0x9d, 0x9b, 0x68, 0x2d, 0x3d, 0xa6, 0x18, 0x7b, 0xd4, 0xb7,
+ 0x16, 0x9e, 0x4e, 0xd7, 0x5f, 0x26, 0x75, 0xce, 0xd0, 0xf4, 0x53, 0xfc,
+ 0xcd, 0x5e, 0x4f, 0xd3, 0xb8, 0x9e, 0xe5, 0x4c, 0x7f, 0x38, 0x5d, 0x4f,
+ 0xee, 0x27, 0xd3, 0x7e, 0xcb, 0xfb, 0x03, 0x94, 0x40, 0xf0, 0xc8, 0x54,
+ 0xb4, 0xd6, 0xfa, 0x94, 0x95, 0x1c, 0x56, 0xc1, 0xc8, 0xf0, 0x41, 0xad,
+ 0x90, 0x7c, 0xc8, 0x26, 0xed, 0x81, 0x6d, 0x06, 0x72, 0x2f, 0x34, 0x99,
+ 0xc3, 0x21, 0x2c, 0xcf, 0xcb, 0x40, 0x1f, 0xe1, 0x37, 0x63, 0x7f, 0xe2,
+ 0x7f, 0xe8, 0xef, 0xe2, 0x78, 0x46, 0xb6, 0x14, 0x1f, 0xb6, 0xd1, 0x19,
+ 0xff, 0x14, 0x55, 0xf3, 0x33, 0xd3, 0x15, 0x16, 0x99, 0x58, 0x74, 0x37,
+ 0xe4, 0x02, 0x81, 0x64, 0xa7, 0xb6, 0x3e, 0x81, 0x1a, 0x2d, 0x91, 0xb0,
+ 0xed, 0x28, 0x07, 0x1b, 0xc3, 0xbf, 0xe8, 0xfe, 0x21, 0xb9, 0x3c, 0xc4,
+ 0x94, 0xd7, 0xc7, 0x77, 0x0f, 0x2a, 0x2a, 0xd8, 0xd4, 0x66, 0x2a, 0xc2,
+ 0x58, 0x08, 0x82, 0xe7, 0xb6, 0xa4, 0xb5, 0x72, 0x37, 0xfd, 0xd5, 0x44,
+ 0x2a, 0x87, 0x13, 0xaa, 0xfc, 0x4d, 0x91, 0x32, 0x7e, 0x96, 0x28, 0xf8,
+ 0x01, 0x64, 0x73, 0xee, 0x24, 0xa3, 0x11, 0xa6, 0x8c, 0xb3, 0x03, 0xdc,
+ 0x33, 0xe5, 0x81, 0x27, 0xf9, 0x05, 0x0d, 0x9e, 0x66, 0x33, 0x2a, 0x3e,
+ 0x4d, 0x0b, 0x69, 0xf4, 0x0c, 0xd9, 0xa8, 0xda, 0x79, 0xfb, 0x99, 0x02,
+ 0x0e, 0xa7, 0xaf, 0x02, 0x82, 0x01, 0x01, 0x00, 0x80, 0xff, 0xab, 0xd7,
+ 0xa2, 0x2c, 0x7f, 0x18, 0x78, 0x7b, 0x3e, 0xe3, 0x60, 0xa3, 0x6a, 0x40,
+ 0x13, 0x7b, 0x31, 0xc0, 0x98, 0x49, 0xc3, 0x49, 0x20, 0x32, 0x10, 0x61,
+ 0x3f, 0xeb, 0x2d, 0x14, 0x7e, 0xbe, 0xb2, 0x13, 0xc3, 0xb9, 0x42, 0xad,
+ 0x44, 0xd5, 0xd0, 0xe2, 0x1a, 0x1d, 0xf7, 0x83, 0x46, 0xcc, 0x8d, 0x96,
+ 0x53, 0x2e, 0x28, 0x20, 0x32, 0x39, 0xf9, 0x7d, 0x24, 0xe4, 0x57, 0x08,
+ 0x08, 0x74, 0xf5, 0x77, 0x2a, 0xa8, 0x3a, 0x23, 0x6f, 0x2f, 0x2f, 0x18,
+ 0xd8, 0x89, 0x14, 0xe6, 0x34, 0xb6, 0x21, 0xb0, 0x62, 0x5c, 0xaf, 0x38,
+ 0x40, 0x24, 0xec, 0x0e, 0xe8, 0x40, 0x59, 0x95, 0x15, 0xb3, 0xd8, 0x94,
+ 0xda, 0x33, 0x80, 0xee, 0x4f, 0xfe, 0xbe, 0x9a, 0x52, 0xe1, 0x04, 0xaa,
+ 0xd6, 0xca, 0x5a, 0xad, 0xed, 0xd8, 0xb5, 0x25, 0xc0, 0xec, 0x54, 0x27,
+ 0x25, 0xee, 0x94, 0x29, 0xd6, 0xd3, 0x63, 0x83, 0x41, 0x21, 0x50, 0xd7,
+ 0xd4, 0xb4, 0x9e, 0x84, 0x9c, 0x8d, 0x03, 0xfb, 0xf1, 0x3c, 0x9e, 0xff,
+ 0x48, 0xe7, 0x96, 0x63, 0x5c, 0x5a, 0xf7, 0xb8, 0xb2, 0xfb, 0x88, 0x6b,
+ 0xa6, 0xea, 0x66, 0x3e, 0x1d, 0x71, 0x6f, 0xca, 0x63, 0x3d, 0x2a, 0x69,
+ 0x27, 0x38, 0xcc, 0x97, 0xaa, 0x81, 0x18, 0xe6, 0x4d, 0x20, 0x07, 0xb7,
+ 0xac, 0x1d, 0x2b, 0xcb, 0x0b, 0xcd, 0x89, 0x24, 0x0a, 0x4d, 0x49, 0x48,
+ 0x4b, 0x9e, 0x00, 0xf5, 0x30, 0xe3, 0xfe, 0x58, 0x34, 0xc7, 0xf0, 0xce,
+ 0xe1, 0x49, 0x5e, 0x9c, 0x04, 0xed, 0xa5, 0x3f, 0x1e, 0x60, 0x9f, 0xec,
+ 0x4c, 0xfa, 0xc3, 0x9f, 0xed, 0xd5, 0x9d, 0x8f, 0xbb, 0xea, 0x81, 0x04,
+ 0x56, 0x4f, 0x7c, 0xbe, 0x20, 0x10, 0x7e, 0x12, 0x4c, 0x75, 0x7a, 0x22,
+ 0xce, 0xc4, 0xf2, 0xd1, 0x9e, 0xde, 0xf9, 0x61, 0xf1, 0xe6, 0xac, 0x2d,
+ 0x02, 0x82, 0x01, 0x01, 0x00, 0xd7, 0x32, 0x63, 0x0a, 0x84, 0xda, 0x7e,
+ 0x7e, 0xc5, 0xdf, 0xff, 0xbc, 0x82, 0x36, 0x8d, 0x83, 0x5b, 0x79, 0xa2,
+ 0x25, 0x88, 0xeb, 0xeb, 0x4e, 0xb8, 0xa1, 0x29, 0xbe, 0x9d, 0x81, 0x80,
+ 0x4b, 0x63, 0x67, 0xcc, 0x0a, 0x0d, 0xe9, 0xee, 0x84, 0x03, 0xf7, 0x2a,
+ 0x04, 0xe5, 0xa6, 0x0d, 0x8e, 0x0d, 0x34, 0x9f, 0x7c, 0xc1, 0xa0, 0xad,
+ 0x32, 0x59, 0xf8, 0x94, 0xb2, 0x4c, 0xca, 0x70, 0x68, 0xa3, 0x4b, 0xa8,
+ 0x58, 0xad, 0x46, 0x36, 0x08, 0xcd, 0x94, 0x10, 0x66, 0x5b, 0xbb, 0x38,
+ 0x16, 0x47, 0xb9, 0x2a, 0xe9, 0xe7, 0xf1, 0x4d, 0xb5, 0xb1, 0x77, 0x13,
+ 0xd7, 0x4f, 0xea, 0x53, 0x5f, 0xde, 0x8e, 0x0d, 0x6c, 0x88, 0x86, 0x79,
+ 0x0a, 0xa7, 0x2b, 0xaa, 0xe2, 0x3b, 0xb4, 0xa6, 0xd9, 0x2e, 0x57, 0xe4,
+ 0x76, 0x67, 0xa2, 0x4e, 0x24, 0x93, 0x2b, 0xfb, 0x7f, 0x30, 0x89, 0x66,
+ 0x16, 0x02, 0xe8, 0x6a, 0x2f, 0x75, 0x9e, 0xc1, 0xec, 0x7c, 0x72, 0x18,
+ 0xbe, 0xf1, 0x4a, 0x87, 0xc9, 0x8c, 0xcb, 0xb6, 0xa2, 0x02, 0x6e, 0x97,
+ 0x88, 0x4a, 0xba, 0x4a, 0xb2, 0xd8, 0x8c, 0x4a, 0xf5, 0x9c, 0x87, 0x2d,
+ 0x4b, 0x3d, 0x8c, 0x08, 0xdf, 0x31, 0xe7, 0x51, 0xc8, 0x4a, 0x3c, 0xf8,
+ 0x19, 0xb6, 0x3f, 0x6f, 0x6b, 0xe9, 0x8a, 0xed, 0x42, 0x54, 0x58, 0x96,
+ 0x2d, 0x00, 0x4a, 0x5f, 0xba, 0xf6, 0xf2, 0x87, 0x86, 0xc8, 0x11, 0xaf,
+ 0xc5, 0x31, 0x59, 0x24, 0x96, 0x76, 0xcc, 0xa0, 0xda, 0xe9, 0x3d, 0x40,
+ 0x0e, 0x2b, 0x64, 0xa4, 0xb2, 0x91, 0x0c, 0x04, 0x5e, 0xa9, 0x86, 0x3c,
+ 0xfc, 0x03, 0x8f, 0x07, 0x09, 0x52, 0x05, 0xb3, 0x9d, 0x08, 0xa7, 0xbf,
+ 0x1a, 0x47, 0xbb, 0x81, 0x39, 0xf1, 0xdf, 0x39, 0x65, 0x5e, 0x6b, 0x35,
+ 0x8d, 0x53, 0x67, 0x9f, 0x43, 0x59, 0x38, 0x45, 0xb4,
+};
+/* END FILE */
+
+/* This macro was generated from tests/scripts/generate_test_keys.py */
+/* BEGIN FILE string macro test_ec_secp192r1 */
+const unsigned char test_ec_secp192r1[] = {
+ 0x30, 0x5f, 0x02, 0x01, 0x01, 0x04, 0x18, 0xf2, 0xb2, 0x0b, 0x3a, 0xce,
+ 0x36, 0x72, 0xcd, 0xb2, 0xe2, 0x37, 0x80, 0x0a, 0x5e, 0x1a, 0x8e, 0x20,
+ 0xa4, 0x55, 0xe3, 0x53, 0xfc, 0x98, 0xeb, 0xa0, 0x0a, 0x06, 0x08, 0x2a,
+ 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x01, 0xa1, 0x34, 0x03, 0x32, 0x00,
+ 0x04, 0x32, 0x24, 0xf9, 0x2a, 0x4b, 0x53, 0x29, 0x16, 0x22, 0xa6, 0xd7,
+ 0x35, 0xb8, 0xc8, 0xd4, 0x16, 0x22, 0x5e, 0xfd, 0xce, 0x34, 0xf7, 0x1c,
+ 0xd3, 0x0c, 0xea, 0xf3, 0x71, 0xbe, 0x2e, 0x40, 0x61, 0x2b, 0x31, 0x85,
+ 0xcb, 0x6b, 0xec, 0x59, 0xfc, 0x19, 0x31, 0xb0, 0x45, 0x04, 0x41, 0xea,
+ 0xf9,
+};
+/* END FILE */
+
+/* This macro was generated from tests/scripts/generate_test_keys.py */
+/* BEGIN FILE string macro test_ec_secp224r1 */
+const unsigned char test_ec_secp224r1[] = {
+ 0x30, 0x68, 0x02, 0x01, 0x01, 0x04, 0x1c, 0x74, 0x02, 0x38, 0xee, 0x23,
+ 0x01, 0xa0, 0x11, 0x8c, 0xfe, 0xd1, 0xfb, 0x66, 0x6e, 0x04, 0x92, 0x9e,
+ 0xe9, 0x75, 0x9b, 0xaf, 0x5a, 0xf2, 0x9a, 0x64, 0x16, 0x83, 0x08, 0xa0,
+ 0x07, 0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x21, 0xa1, 0x3c, 0x03, 0x3a,
+ 0x00, 0x04, 0xd3, 0xe3, 0x0e, 0x63, 0x84, 0x9d, 0xbb, 0x5e, 0xb2, 0xb4,
+ 0x2d, 0x28, 0xe6, 0x45, 0x5d, 0xea, 0xae, 0x4e, 0x17, 0x8a, 0x88, 0xe8,
+ 0x68, 0xce, 0x44, 0xc5, 0xd2, 0xf9, 0xef, 0x10, 0x20, 0xe6, 0x07, 0x08,
+ 0x47, 0xde, 0xaa, 0xb4, 0xda, 0x38, 0x5e, 0xf2, 0x2e, 0xc4, 0x94, 0x01,
+ 0xba, 0xc4, 0x57, 0xf1, 0xee, 0x51, 0xba, 0x38, 0x13, 0x30,
+};
+/* END FILE */
+
+/* This macro was generated from tests/scripts/generate_test_keys.py */
+/* BEGIN FILE string macro test_ec_secp256r1 */
+const unsigned char test_ec_secp256r1[] = {
+ 0x30, 0x77, 0x02, 0x01, 0x01, 0x04, 0x20, 0x9e, 0x24, 0x0a, 0x03, 0x94,
+ 0x40, 0x32, 0xf9, 0x9b, 0x41, 0xfd, 0x83, 0x4d, 0xa9, 0x31, 0x98, 0xaf,
+ 0xa3, 0x09, 0x6e, 0xc3, 0x05, 0x39, 0xb6, 0x67, 0xb0, 0x32, 0x83, 0x22,
+ 0xd1, 0xe2, 0x93, 0xa0, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
+ 0x03, 0x01, 0x07, 0xa1, 0x44, 0x03, 0x42, 0x00, 0x04, 0x78, 0xfa, 0x74,
+ 0x37, 0x63, 0x6d, 0xda, 0x49, 0xa5, 0x6b, 0x33, 0x0d, 0x5b, 0xc1, 0x39,
+ 0x67, 0x83, 0x1a, 0x18, 0x9c, 0x31, 0xf4, 0x83, 0xc3, 0xfe, 0xc1, 0x96,
+ 0x7d, 0x22, 0x21, 0x51, 0x52, 0x78, 0x46, 0x50, 0xdc, 0x92, 0xb9, 0x0b,
+ 0xf0, 0xe5, 0x80, 0x00, 0xc4, 0x07, 0x7d, 0x16, 0xe0, 0x09, 0x55, 0x29,
+ 0x9d, 0x3c, 0x53, 0x42, 0xf4, 0x58, 0xff, 0x93, 0xc1, 0xaa, 0x23, 0xd5,
+ 0x3e,
+};
+/* END FILE */
+
+/* This macro was generated from tests/scripts/generate_test_keys.py */
+/* BEGIN FILE string macro test_ec_secp384r1 */
+const unsigned char test_ec_secp384r1[] = {
+ 0x30, 0x81, 0xa4, 0x02, 0x01, 0x01, 0x04, 0x30, 0x59, 0x92, 0x61, 0x10,
+ 0xdd, 0x83, 0x76, 0x99, 0xb5, 0xc4, 0x08, 0xe3, 0x3d, 0xb8, 0x8c, 0xac,
+ 0x5d, 0x46, 0x7f, 0x96, 0x9f, 0x7c, 0x40, 0xa0, 0xbf, 0xe8, 0xf0, 0x6b,
+ 0xcf, 0x1d, 0x2a, 0xe8, 0xb1, 0x90, 0xb1, 0x6c, 0xc3, 0xcf, 0x01, 0x9f,
+ 0xc4, 0x2c, 0x0e, 0x9b, 0x05, 0x07, 0xce, 0xed, 0xa0, 0x07, 0x06, 0x05,
+ 0x2b, 0x81, 0x04, 0x00, 0x22, 0xa1, 0x64, 0x03, 0x62, 0x00, 0x04, 0x90,
+ 0x73, 0x8b, 0xcc, 0x2a, 0x0d, 0x1e, 0xcc, 0x6e, 0x4e, 0x14, 0xbc, 0x51,
+ 0x2c, 0xb6, 0xce, 0xdb, 0xb2, 0xc2, 0xdd, 0x20, 0xf6, 0xf5, 0x20, 0xa7,
+ 0xff, 0x98, 0x37, 0x2a, 0x8c, 0x35, 0xe2, 0xf8, 0x3e, 0xf1, 0xd6, 0x5e,
+ 0x79, 0x84, 0xe8, 0x43, 0x04, 0x9c, 0xc3, 0xe0, 0xfe, 0x2f, 0x4f, 0x82,
+ 0xb1, 0xee, 0xec, 0x2b, 0x11, 0x49, 0x8f, 0xb4, 0x77, 0xce, 0x74, 0x11,
+ 0xbb, 0x16, 0x6b, 0x69, 0xd2, 0xee, 0x01, 0xff, 0x99, 0xd1, 0x0f, 0x57,
+ 0x46, 0x2d, 0x83, 0xfe, 0x17, 0x4d, 0xcc, 0x59, 0x7d, 0xa5, 0x4a, 0x52,
+ 0x39, 0x4f, 0x6a, 0xe1, 0xb6, 0x21, 0xbe, 0x74, 0x72, 0xd2, 0x51,
+};
+/* END FILE */
+
+/* This macro was generated from tests/scripts/generate_test_keys.py */
+/* BEGIN FILE string macro test_ec_secp521r1 */
+const unsigned char test_ec_secp521r1[] = {
+ 0x30, 0x81, 0xdc, 0x02, 0x01, 0x01, 0x04, 0x42, 0x00, 0x51, 0xcf, 0xff,
+ 0x6d, 0x27, 0x46, 0x89, 0x81, 0x7e, 0x9d, 0x99, 0x5a, 0x28, 0x6b, 0x2b,
+ 0x69, 0x55, 0xdb, 0x5b, 0xde, 0x1c, 0x47, 0x69, 0x05, 0x99, 0x9e, 0xa3,
+ 0x81, 0x5b, 0x5c, 0x4c, 0xe8, 0x7e, 0xde, 0x0a, 0x58, 0x52, 0x05, 0x0a,
+ 0x26, 0xac, 0x4b, 0xb0, 0x55, 0x2d, 0xdf, 0xab, 0x0e, 0x3e, 0x17, 0x27,
+ 0xca, 0x8c, 0xc1, 0x5b, 0x2b, 0xf1, 0x51, 0x5f, 0x33, 0xee, 0x91, 0xb8,
+ 0x68, 0x28, 0xa0, 0x07, 0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x23, 0xa1,
+ 0x81, 0x89, 0x03, 0x81, 0x86, 0x00, 0x04, 0x01, 0xcf, 0xdb, 0xee, 0xaf,
+ 0xc1, 0x2a, 0xa1, 0x07, 0x67, 0x1d, 0x48, 0xea, 0x61, 0x17, 0xd0, 0x16,
+ 0x7e, 0x91, 0x41, 0x59, 0x67, 0x53, 0x86, 0x4d, 0xe5, 0xc8, 0xfe, 0xc5,
+ 0x0d, 0x17, 0xab, 0x8d, 0x30, 0xff, 0x00, 0xf9, 0x52, 0x2e, 0x87, 0x49,
+ 0xc2, 0xe1, 0x37, 0x10, 0x9a, 0xd5, 0x78, 0xbe, 0x41, 0x0f, 0x28, 0xbe,
+ 0x2b, 0x13, 0x69, 0x1f, 0xb2, 0xbc, 0xde, 0x26, 0x41, 0x58, 0xe7, 0x1b,
+ 0x23, 0x00, 0x37, 0xe9, 0x1d, 0x15, 0x23, 0x0b, 0x52, 0xfb, 0x4b, 0xb7,
+ 0x8e, 0xa7, 0x19, 0x5b, 0x0d, 0x63, 0x60, 0xaf, 0x55, 0xd5, 0xba, 0xed,
+ 0xe2, 0xfb, 0x06, 0x8b, 0xd5, 0x45, 0xd3, 0x1e, 0x40, 0x99, 0xba, 0x3a,
+ 0x2a, 0xa2, 0x54, 0x2a, 0x28, 0x6b, 0x7c, 0xe6, 0x4c, 0x61, 0xf6, 0x2c,
+ 0x3c, 0x3c, 0xda, 0xc4, 0x28, 0xf8, 0x1d, 0x99, 0x6e, 0xc3, 0x10, 0x25,
+ 0x23, 0xe5, 0x75, 0x57, 0x6e, 0x70, 0xff,
+};
+/* END FILE */
+
+/* This macro was generated from tests/scripts/generate_test_keys.py */
+/* BEGIN FILE string macro test_ec_bp256r1 */
+const unsigned char test_ec_bp256r1[] = {
+ 0x30, 0x78, 0x02, 0x01, 0x01, 0x04, 0x20, 0x53, 0xd7, 0x10, 0x63, 0x7f,
+ 0x58, 0x46, 0x73, 0xcc, 0x4c, 0x8f, 0xdb, 0x43, 0xc5, 0xc5, 0x17, 0x9e,
+ 0x07, 0xe4, 0x87, 0xc6, 0x80, 0xd5, 0x9e, 0x5e, 0xc8, 0x38, 0x70, 0xc2,
+ 0x4c, 0xb4, 0xf7, 0xa0, 0x0b, 0x06, 0x09, 0x2b, 0x24, 0x03, 0x03, 0x02,
+ 0x08, 0x01, 0x01, 0x07, 0xa1, 0x44, 0x03, 0x42, 0x00, 0x04, 0x49, 0xcd,
+ 0x94, 0xf2, 0x2b, 0x12, 0xff, 0x6e, 0xdf, 0x5f, 0x1a, 0xab, 0xf1, 0x49,
+ 0xaa, 0x46, 0x1d, 0x18, 0xb5, 0xa1, 0x4e, 0xd3, 0x88, 0x62, 0x01, 0x42,
+ 0x9b, 0x9e, 0xa0, 0xc1, 0x38, 0x24, 0x3f, 0x64, 0x8c, 0xf6, 0x65, 0xd7,
+ 0x7c, 0x4a, 0xad, 0x86, 0xe4, 0x2f, 0xf8, 0x20, 0x21, 0xb7, 0x7b, 0x50,
+ 0x9e, 0xf6, 0xa2, 0x44, 0x41, 0x63, 0xae, 0xd9, 0xd3, 0xaf, 0x35, 0x97,
+ 0xc7, 0x02,
+};
+/* END FILE */
+
+/* This macro was generated from tests/scripts/generate_test_keys.py */
+/* BEGIN FILE string macro test_ec_bp384r1 */
+const unsigned char test_ec_bp384r1[] = {
+ 0x30, 0x81, 0xa8, 0x02, 0x01, 0x01, 0x04, 0x30, 0x4a, 0x28, 0x9c, 0xc2,
+ 0xf0, 0xfd, 0x7c, 0xdb, 0xe3, 0xd1, 0x03, 0xb9, 0xf1, 0x3c, 0xb5, 0xaa,
+ 0x8e, 0xb6, 0x4d, 0x93, 0xa3, 0xac, 0x1f, 0x4f, 0x1d, 0x67, 0x41, 0x75,
+ 0x8d, 0x86, 0xd5, 0xd8, 0x19, 0x9e, 0xb8, 0x6a, 0xf9, 0x29, 0x51, 0x26,
+ 0xbf, 0x70, 0xfc, 0x3e, 0x6f, 0xcf, 0x1e, 0xcc, 0xa0, 0x0b, 0x06, 0x09,
+ 0x2b, 0x24, 0x03, 0x03, 0x02, 0x08, 0x01, 0x01, 0x0b, 0xa1, 0x64, 0x03,
+ 0x62, 0x00, 0x04, 0x3d, 0x98, 0x26, 0x32, 0x82, 0xbb, 0xc5, 0x0b, 0x3f,
+ 0x77, 0x76, 0x91, 0xeb, 0x63, 0xab, 0xa8, 0x4f, 0x13, 0x69, 0x6e, 0x73,
+ 0x0f, 0x86, 0x23, 0x19, 0x0d, 0xec, 0x85, 0xe9, 0xea, 0xe3, 0x30, 0xfd,
+ 0x53, 0xef, 0xd2, 0xa1, 0x9c, 0x4d, 0x23, 0xf7, 0x26, 0x02, 0x98, 0x01,
+ 0x99, 0x95, 0x53, 0x87, 0x16, 0x11, 0x09, 0x8c, 0x34, 0xa9, 0x11, 0xcb,
+ 0x75, 0x1a, 0x72, 0xa8, 0x82, 0xc5, 0xdb, 0x92, 0x17, 0x59, 0xa6, 0xc0,
+ 0x16, 0x97, 0xf5, 0xba, 0x6c, 0x5b, 0x87, 0x4d, 0xa4, 0xff, 0x59, 0xeb,
+ 0xe9, 0xf4, 0x3f, 0x78, 0x6e, 0x5e, 0xff, 0x18, 0x36, 0x4e, 0x06, 0x27,
+ 0x5b, 0x00, 0x6a,
+};
+/* END FILE */
+
+/* This macro was generated from tests/scripts/generate_test_keys.py */
+/* BEGIN FILE string macro test_ec_bp512r1 */
+const unsigned char test_ec_bp512r1[] = {
+ 0x30, 0x81, 0xda, 0x02, 0x01, 0x01, 0x04, 0x40, 0x35, 0x8e, 0xa9, 0xb9,
+ 0xe1, 0x55, 0xf3, 0x9e, 0x8a, 0x26, 0x8a, 0x9c, 0x29, 0xb1, 0x47, 0xc5,
+ 0x3e, 0x0e, 0x16, 0x7f, 0x6d, 0x3f, 0x8d, 0x5c, 0x05, 0xe9, 0xc1, 0x52,
+ 0x76, 0xa2, 0x47, 0x6a, 0x42, 0xd8, 0x30, 0xc2, 0x41, 0x14, 0xf9, 0x05,
+ 0x3e, 0x9c, 0xfa, 0xa6, 0x49, 0xfe, 0xb4, 0x9d, 0xfb, 0x9c, 0x45, 0x68,
+ 0x03, 0xb7, 0xae, 0x51, 0xcf, 0x61, 0x41, 0x10, 0x7f, 0xa7, 0xf4, 0x2b,
+ 0xa0, 0x0b, 0x06, 0x09, 0x2b, 0x24, 0x03, 0x03, 0x02, 0x08, 0x01, 0x01,
+ 0x0d, 0xa1, 0x81, 0x85, 0x03, 0x81, 0x82, 0x00, 0x04, 0xa7, 0xbf, 0xf3,
+ 0xd0, 0xa8, 0x3d, 0xad, 0xfc, 0x50, 0x65, 0xbf, 0x30, 0x61, 0x79, 0x39,
+ 0x64, 0x36, 0xa9, 0x62, 0x74, 0x97, 0x82, 0xc8, 0xba, 0x1b, 0x6a, 0xaa,
+ 0x48, 0x0f, 0x7f, 0x56, 0x4c, 0xad, 0x47, 0x13, 0x5a, 0x14, 0x50, 0x60,
+ 0x54, 0xa8, 0x3e, 0x6d, 0xa7, 0x87, 0xfe, 0x1d, 0x41, 0x2b, 0x0a, 0x7e,
+ 0xaf, 0x0e, 0xe9, 0xcc, 0xce, 0x44, 0x5f, 0x51, 0x88, 0x22, 0x22, 0xf9,
+ 0x63, 0x6e, 0xdd, 0x99, 0xbb, 0xd5, 0x14, 0x9b, 0x10, 0x30, 0xa3, 0xe6,
+ 0x60, 0x9a, 0xa9, 0xa4, 0x42, 0x79, 0xa8, 0xd2, 0x74, 0x7e, 0xf9, 0x02,
+ 0x71, 0x8d, 0xd6, 0xed, 0x52, 0xb1, 0x1b, 0xdb, 0x0d, 0x6f, 0x49, 0xda,
+ 0x70, 0x5b, 0xf4, 0x70, 0x98, 0x11, 0xa4, 0xec, 0x4c, 0x9d, 0x67, 0x5f,
+ 0x3b, 0xea, 0x1c, 0x02, 0x46, 0x89, 0xff, 0xc2, 0x33, 0xa3, 0xa9, 0x57,
+ 0x36, 0xd8, 0x10, 0x0e, 0xf6,
+};
+/* END FILE */
+
+/* This macro was generated from tests/scripts/generate_test_keys.py */
+/* BEGIN FILE string macro test_ec_curve25519 */
+const unsigned char test_ec_curve25519[] = {
+ 0x30, 0x2e, 0x02, 0x01, 0x00, 0x30, 0x05, 0x06, 0x03, 0x2b, 0x65, 0x6e,
+ 0x04, 0x22, 0x04, 0x20, 0xd0, 0x40, 0x4f, 0x5d, 0xf9, 0x7e, 0x1c, 0x24,
+ 0xd6, 0x68, 0x08, 0x29, 0x5b, 0xfd, 0x49, 0xaa, 0xd0, 0x6f, 0x8e, 0x44,
+ 0x13, 0x52, 0x84, 0x07, 0x79, 0x8a, 0xda, 0x69, 0xa2, 0xa0, 0xf6, 0x52,
+};
+/* END FILE */
+
+/* This macro was generated from tests/scripts/generate_test_keys.py */
+/* BEGIN FILE string macro test_ec_secp192k1 */
+const unsigned char test_ec_secp192k1[] = {
+ 0x30, 0x5c, 0x02, 0x01, 0x01, 0x04, 0x18, 0xca, 0xa6, 0x5e, 0x57, 0x3d,
+ 0xb3, 0x0f, 0x12, 0x29, 0x4f, 0x5e, 0xc8, 0xb3, 0x3f, 0x6a, 0x1a, 0x8d,
+ 0x32, 0xb9, 0x9d, 0xbe, 0x0f, 0x7b, 0x95, 0xa0, 0x07, 0x06, 0x05, 0x2b,
+ 0x81, 0x04, 0x00, 0x1f, 0xa1, 0x34, 0x03, 0x32, 0x00, 0x04, 0x31, 0x24,
+ 0xcf, 0x44, 0xb3, 0x62, 0x5a, 0x1d, 0xb6, 0xfd, 0xf7, 0xee, 0x5c, 0x65,
+ 0x8c, 0x43, 0x6b, 0x05, 0x17, 0xe5, 0x12, 0x75, 0xf8, 0xe2, 0xbd, 0xb1,
+ 0xf2, 0x0e, 0x66, 0xae, 0x39, 0xad, 0xc6, 0x6d, 0xb8, 0x02, 0xb2, 0x72,
+ 0x4a, 0xd5, 0x37, 0xdc, 0x23, 0x00, 0x28, 0x6e, 0x1b, 0x98,
+};
+/* END FILE */
+
+/* This macro was generated from tests/scripts/generate_test_keys.py */
+/* BEGIN FILE string macro test_ec_secp256k1 */
+const unsigned char test_ec_secp256k1[] = {
+ 0x30, 0x74, 0x02, 0x01, 0x01, 0x04, 0x20, 0x3a, 0x18, 0xe9, 0x5c, 0x8e,
+ 0xde, 0xb5, 0x8e, 0x1b, 0xd5, 0x36, 0xa6, 0x01, 0xb6, 0x3d, 0x4c, 0xe1,
+ 0x86, 0x65, 0x3b, 0x77, 0xb5, 0xfd, 0x3c, 0xc8, 0x6f, 0x15, 0x16, 0x0b,
+ 0x16, 0x88, 0x80, 0xa0, 0x07, 0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x0a,
+ 0xa1, 0x44, 0x03, 0x42, 0x00, 0x04, 0x0f, 0x63, 0x3a, 0x58, 0xa9, 0xc1,
+ 0xbb, 0x56, 0x12, 0xe1, 0x3d, 0xff, 0x91, 0x27, 0x06, 0xca, 0x4e, 0x46,
+ 0xbb, 0xdb, 0x9b, 0xb8, 0x62, 0xec, 0xd9, 0x39, 0xa8, 0x02, 0x08, 0x1c,
+ 0x1c, 0xb8, 0x0d, 0xe1, 0x28, 0xeb, 0x06, 0xca, 0xb6, 0x50, 0x5e, 0x99,
+ 0xe0, 0x24, 0x20, 0xef, 0x72, 0xe6, 0x5d, 0x27, 0x96, 0x25, 0x7f, 0x6e,
+ 0xf6, 0x65, 0x43, 0xe1, 0xaf, 0x6c, 0x71, 0x86, 0x29, 0xb8,
+};
+/* END FILE */
+
+/* This macro was generated from tests/scripts/generate_test_keys.py */
+/* BEGIN FILE string macro test_ec_curve448 */
+const unsigned char test_ec_curve448[] = {
+ 0x30, 0x46, 0x02, 0x01, 0x00, 0x30, 0x05, 0x06, 0x03, 0x2b, 0x65, 0x6f,
+ 0x04, 0x3a, 0x04, 0x38, 0x74, 0xe8, 0x0c, 0xd1, 0xf3, 0x1d, 0x38, 0xae,
+ 0x1d, 0x57, 0x6e, 0xfd, 0x8a, 0x5f, 0xc2, 0xf0, 0x48, 0x95, 0x41, 0xc9,
+ 0x75, 0x31, 0x6f, 0x80, 0xea, 0xc2, 0xdf, 0x0f, 0x86, 0xc6, 0xda, 0x0a,
+ 0x6f, 0x6e, 0xeb, 0x45, 0xc0, 0x03, 0xbf, 0x13, 0xb3, 0x43, 0xa1, 0xb2,
+ 0x57, 0x27, 0xd4, 0xc7, 0xc7, 0x7a, 0xf7, 0x29, 0xa7, 0x78, 0xe1, 0xe9,
+};
+/* END FILE */
diff --git a/tests/suites/test_suite_pk.function b/tests/suites/test_suite_pk.function
index 67c06d4..1bc12c2 100644
--- a/tests/suites/test_suite_pk.function
+++ b/tests/suites/test_suite_pk.function
@@ -187,36 +187,46 @@
#if defined(MBEDTLS_PK_PARSE_C)
#include <../src/test_keys.h>
-static int get_predefined_key_data(int is_rsa, int curve_or_keybits,
- unsigned char **outbuf, size_t *out_buf_size)
+struct key_lut_element {
+ int curve_or_keybits;
+ const unsigned char *key;
+ size_t key_len;
+};
+
+struct key_lut_element keys_lut[] = {
+ { 1024, test_rsa_1024, sizeof(test_rsa_1024) },
+ { 1026, test_rsa_1026, sizeof(test_rsa_1026) },
+ { 1028, test_rsa_1028, sizeof(test_rsa_1028) },
+ { 1030, test_rsa_1030, sizeof(test_rsa_1030) },
+ { 2048, test_rsa_2048, sizeof(test_rsa_2048) },
+ { 4096, test_rsa_4096, sizeof(test_rsa_4096) },
+ { MBEDTLS_ECP_DP_SECP192R1, test_ec_secp192r1, sizeof(test_ec_secp192r1) },
+ { MBEDTLS_ECP_DP_SECP224R1, test_ec_secp224r1, sizeof(test_ec_secp224r1) },
+ { MBEDTLS_ECP_DP_SECP256R1, test_ec_secp256r1, sizeof(test_ec_secp256r1) },
+ { MBEDTLS_ECP_DP_SECP384R1, test_ec_secp384r1, sizeof(test_ec_secp384r1) },
+ { MBEDTLS_ECP_DP_SECP521R1, test_ec_secp521r1, sizeof(test_ec_secp521r1) },
+ { MBEDTLS_ECP_DP_BP256R1, test_ec_bp256r1, sizeof(test_ec_bp256r1) },
+ { MBEDTLS_ECP_DP_BP384R1, test_ec_bp384r1, sizeof(test_ec_bp384r1) },
+ { MBEDTLS_ECP_DP_BP512R1, test_ec_bp512r1, sizeof(test_ec_bp512r1) },
+ { MBEDTLS_ECP_DP_CURVE25519, test_ec_curve25519, sizeof(test_ec_curve25519) },
+ { MBEDTLS_ECP_DP_SECP192K1, test_ec_secp192k1, sizeof(test_ec_secp192k1) },
+ { MBEDTLS_ECP_DP_SECP256K1, test_ec_secp256k1, sizeof(test_ec_secp256k1) },
+ { MBEDTLS_ECP_DP_CURVE448, test_ec_curve448, sizeof(test_ec_curve448) },
+};
+
+static int get_predefined_key_data(int curve_or_keybits,
+ const unsigned char **key, size_t *key_len)
{
- const char *key_data_hex = NULL;
- size_t out_buf_len = 0;
-
- if (is_rsa) {
- size_t i;
- for (i = 0; i < ARRAY_LENGTH(rsa_key_data_lut); i++) {
- if (curve_or_keybits == rsa_key_data_lut[i].bits) {
- key_data_hex = rsa_key_data_lut[i].key;
- break;
- }
+ size_t i;
+ for (i = 0; i < ARRAY_LENGTH(keys_lut); i++) {
+ if (curve_or_keybits == keys_lut[i].curve_or_keybits) {
+ *key = keys_lut[i].key;
+ *key_len = keys_lut[i].key_len;
+ return 0;
}
- } else {
- key_data_hex = ec_key_data_lut[curve_or_keybits];
}
- if (key_data_hex == NULL) {
- return MBEDTLS_ERR_PK_BAD_INPUT_DATA;
- }
-
- *out_buf_size = strlen(key_data_hex)/2;
- *outbuf = mbedtls_calloc(*out_buf_size, sizeof(unsigned char));
- if (*outbuf == NULL) {
- return MBEDTLS_ERR_PK_ALLOC_FAILED;
- }
- mbedtls_test_unhexify(*outbuf, *out_buf_size, key_data_hex, &out_buf_len);
-
- return 0;
+ return MBEDTLS_ERR_PK_BAD_INPUT_DATA;
}
/** Fill the provided PK context with a proper key.
@@ -237,12 +247,11 @@
*/
static int pk_genkey(mbedtls_pk_context *pk, const mbedtls_pk_info_t *pk_info, int curve_or_keybits)
{
- unsigned char *key_data = NULL;
+ const unsigned char *key_data = NULL;
size_t key_data_len = 0;
int ret = MBEDTLS_ERR_PK_BAD_INPUT_DATA;
- int is_rsa = (curve_or_keybits >= 1024);
- TEST_EQUAL(get_predefined_key_data(is_rsa, curve_or_keybits, &key_data, &key_data_len), 0);
+ TEST_EQUAL(get_predefined_key_data(curve_or_keybits, &key_data, &key_data_len), 0);
TEST_EQUAL(mbedtls_pk_parse_key(pk, key_data, key_data_len, NULL, 0,
mbedtls_test_rnd_std_rand, NULL), 0);
/* Override pk_info. */
@@ -250,7 +259,6 @@
ret = 0;
exit:
- mbedtls_free(key_data);
return ret;
}
@@ -278,11 +286,11 @@
{
psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
psa_status_t status = PSA_ERROR_GENERIC_ERROR;
- unsigned char *key_data = NULL;
+ const unsigned char *key_data = NULL;
size_t key_data_size = 0; /* Overall size of key_data in bytes. It includes leading
* zeros (if any). */
size_t key_data_len = 0; /* Length of valid bytes in key_data. */
- unsigned char *key_data_start;
+ const unsigned char *key_data_start;
/* Get the predefined key:
* - RSA keys are already in a valid format to be imported into PSA.
@@ -291,16 +299,16 @@
* unrelevant data and go directly to the private key.
*/
if (PSA_KEY_TYPE_IS_RSA(type)) {
- TEST_EQUAL(get_predefined_key_data(1, bits, &key_data, &key_data_size), 0);
- key_data_start = key_data;
+ TEST_EQUAL(get_predefined_key_data(bits, &key_data, &key_data_size), 0);
+ key_data_start = (unsigned char *) key_data;
key_data_len = key_data_size;
} else {
mbedtls_ecp_group_id grp_id;
grp_id = mbedtls_ecc_group_from_psa(PSA_KEY_TYPE_ECC_GET_FAMILY(type), bits);
- TEST_EQUAL(get_predefined_key_data(0, grp_id, &key_data, &key_data_size), 0);
+ TEST_EQUAL(get_predefined_key_data(grp_id, &key_data, &key_data_size), 0);
- unsigned char *p = key_data;
- unsigned char *end = key_data + key_data_size;
+ unsigned char *p = (unsigned char *) key_data;
+ unsigned char *end = (unsigned char *) key_data + key_data_size;
size_t len;
int version;
@@ -325,7 +333,6 @@
status = psa_import_key(&attributes, key_data_start, key_data_len, key);
exit:
- mbedtls_free(key_data);
return status;
}
#endif /* MBEDTLS_PSA_CRYPTO_CLIENT */