diff options
Diffstat (limited to 'src/regress/lib')
| -rw-r--r-- | src/regress/lib/libcrypto/ec/ec_asn1_test.c | 891 |
1 files changed, 889 insertions, 2 deletions
diff --git a/src/regress/lib/libcrypto/ec/ec_asn1_test.c b/src/regress/lib/libcrypto/ec/ec_asn1_test.c index c899c418fd..76dc415a93 100644 --- a/src/regress/lib/libcrypto/ec/ec_asn1_test.c +++ b/src/regress/lib/libcrypto/ec/ec_asn1_test.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ec_asn1_test.c,v 1.15 2024/10/25 07:31:02 tb Exp $ */ | 1 | /* $OpenBSD: ec_asn1_test.c,v 1.16 2024/10/26 10:15:19 tb Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2017, 2021 Joel Sing <jsing@openbsd.org> | 3 | * Copyright (c) 2017, 2021 Joel Sing <jsing@openbsd.org> |
| 4 | * Copyright (c) 2024 Theo Buehler <tb@openbsd.org> | 4 | * Copyright (c) 2024 Theo Buehler <tb@openbsd.org> |
| @@ -930,6 +930,9 @@ static const struct ec_private_key { | |||
| 930 | const char *name; | 930 | const char *name; |
| 931 | size_t der_len; | 931 | size_t der_len; |
| 932 | uint8_t der[256]; | 932 | uint8_t der[256]; |
| 933 | const char *hex; | ||
| 934 | int oct_len; | ||
| 935 | uint8_t oct[256]; | ||
| 933 | } ec_private_keys[] = { | 936 | } ec_private_keys[] = { |
| 934 | { | 937 | { |
| 935 | .name = "secp112r1", | 938 | .name = "secp112r1", |
| @@ -944,6 +947,17 @@ static const struct ec_private_key { | |||
| 944 | 0x7a, 0x3d, 0x49, 0x3a, 0xaa, 0xeb, 0x97, 0xec, | 947 | 0x7a, 0x3d, 0x49, 0x3a, 0xaa, 0xeb, 0x97, 0xec, |
| 945 | 0x19, 0xa3, 0x92, 0x3d, 0xe7, 0xe6, 0x6e, 0x47, | 948 | 0x19, 0xa3, 0x92, 0x3d, 0xe7, 0xe6, 0x6e, 0x47, |
| 946 | }, | 949 | }, |
| 950 | .hex = "040FA96ACD146587" | ||
| 951 | "E42C58861B7A3D49" | ||
| 952 | "3AAAEB97EC19A392" | ||
| 953 | "3DE7E66E47", | ||
| 954 | .oct_len = 29, | ||
| 955 | .oct = { | ||
| 956 | 0x04, 0x0f, 0xa9, 0x6a, 0xcd, 0x14, 0x65, 0x87, | ||
| 957 | 0xe4, 0x2c, 0x58, 0x86, 0x1b, 0x7a, 0x3d, 0x49, | ||
| 958 | 0x3a, 0xaa, 0xeb, 0x97, 0xec, 0x19, 0xa3, 0x92, | ||
| 959 | 0x3d, 0xe7, 0xe6, 0x6e, 0x47, | ||
| 960 | }, | ||
| 947 | }, | 961 | }, |
| 948 | { | 962 | { |
| 949 | .name = "secp112r2", | 963 | .name = "secp112r2", |
| @@ -958,6 +972,17 @@ static const struct ec_private_key { | |||
| 958 | 0xfd, 0x57, 0x7a, 0x8f, 0x38, 0x8b, 0x04, 0xd9, | 972 | 0xfd, 0x57, 0x7a, 0x8f, 0x38, 0x8b, 0x04, 0xd9, |
| 959 | 0xae, 0x3b, 0xcf, 0x10, 0x30, 0x29, 0xdb, 0x59, | 973 | 0xae, 0x3b, 0xcf, 0x10, 0x30, 0x29, 0xdb, 0x59, |
| 960 | }, | 974 | }, |
| 975 | .hex = "04642D25533F43F2" | ||
| 976 | "69B2558D7CFD577A" | ||
| 977 | "8F388B04D9AE3BCF" | ||
| 978 | "103029DB59", | ||
| 979 | .oct_len = 29, | ||
| 980 | .oct = { | ||
| 981 | 0x04, 0x64, 0x2d, 0x25, 0x53, 0x3f, 0x43, 0xf2, | ||
| 982 | 0x69, 0xb2, 0x55, 0x8d, 0x7c, 0xfd, 0x57, 0x7a, | ||
| 983 | 0x8f, 0x38, 0x8b, 0x04, 0xd9, 0xae, 0x3b, 0xcf, | ||
| 984 | 0x10, 0x30, 0x29, 0xdb, 0x59, | ||
| 985 | }, | ||
| 961 | }, | 986 | }, |
| 962 | { | 987 | { |
| 963 | .name = "secp128r1", | 988 | .name = "secp128r1", |
| @@ -973,6 +998,19 @@ static const struct ec_private_key { | |||
| 973 | 0x31, 0xaf, 0xd3, 0x85, 0x5e, 0x4d, 0xc0, 0xee, | 998 | 0x31, 0xaf, 0xd3, 0x85, 0x5e, 0x4d, 0xc0, 0xee, |
| 974 | 0x06, 0x4c, 0x26, 0x6d, 0x5e, 0x6d, | 999 | 0x06, 0x4c, 0x26, 0x6d, 0x5e, 0x6d, |
| 975 | }, | 1000 | }, |
| 1001 | .hex = "043F88451052C2F6" | ||
| 1002 | "56881B6EEE302164" | ||
| 1003 | "9874DE31AFD3855E" | ||
| 1004 | "4DC0EE064C266D5E" | ||
| 1005 | "6D", | ||
| 1006 | .oct_len = 33, | ||
| 1007 | .oct = { | ||
| 1008 | 0x04, 0x3f, 0x88, 0x45, 0x10, 0x52, 0xc2, 0xf6, | ||
| 1009 | 0x56, 0x88, 0x1b, 0x6e, 0xee, 0x30, 0x21, 0x64, | ||
| 1010 | 0x98, 0x74, 0xde, 0x31, 0xaf, 0xd3, 0x85, 0x5e, | ||
| 1011 | 0x4d, 0xc0, 0xee, 0x06, 0x4c, 0x26, 0x6d, 0x5e, | ||
| 1012 | 0x6d, | ||
| 1013 | }, | ||
| 976 | }, | 1014 | }, |
| 977 | { | 1015 | { |
| 978 | .name = "secp128r2", | 1016 | .name = "secp128r2", |
| @@ -988,6 +1026,19 @@ static const struct ec_private_key { | |||
| 988 | 0x0d, 0x54, 0x61, 0xa0, 0xf3, 0x32, 0xdc, 0xe1, | 1026 | 0x0d, 0x54, 0x61, 0xa0, 0xf3, 0x32, 0xdc, 0xe1, |
| 989 | 0x19, 0xbb, 0x6e, 0xcf, 0x3c, 0xe2, | 1027 | 0x19, 0xbb, 0x6e, 0xcf, 0x3c, 0xe2, |
| 990 | }, | 1028 | }, |
| 1029 | .hex = "04D5F51C2F02C039" | ||
| 1030 | "EB6C7B202BCF67E0" | ||
| 1031 | "8A2B830D5461A0F3" | ||
| 1032 | "32DCE119BB6ECF3C" | ||
| 1033 | "E2", | ||
| 1034 | .oct_len = 33, | ||
| 1035 | .oct = { | ||
| 1036 | 0x04, 0xd5, 0xf5, 0x1c, 0x2f, 0x02, 0xc0, 0x39, | ||
| 1037 | 0xeb, 0x6c, 0x7b, 0x20, 0x2b, 0xcf, 0x67, 0xe0, | ||
| 1038 | 0x8a, 0x2b, 0x83, 0x0d, 0x54, 0x61, 0xa0, 0xf3, | ||
| 1039 | 0x32, 0xdc, 0xe1, 0x19, 0xbb, 0x6e, 0xcf, 0x3c, | ||
| 1040 | 0xe2, | ||
| 1041 | }, | ||
| 991 | }, | 1042 | }, |
| 992 | #if CORRECT_PRIV_KEY_PADDING | 1043 | #if CORRECT_PRIV_KEY_PADDING |
| 993 | { | 1044 | { |
| @@ -1006,6 +1057,21 @@ static const struct ec_private_key { | |||
| 1006 | 0x63, 0x8d, 0x7f, 0x17, 0x3e, 0x28, 0x49, 0xcc, | 1057 | 0x63, 0x8d, 0x7f, 0x17, 0x3e, 0x28, 0x49, 0xcc, |
| 1007 | 0xcd, 0x6e, 0xb0, | 1058 | 0xcd, 0x6e, 0xb0, |
| 1008 | }, | 1059 | }, |
| 1060 | .hex = "04FE46EFA6DE9520" | ||
| 1061 | "342E7C65E931EF5B" | ||
| 1062 | "D6B2800A03BAE8C6" | ||
| 1063 | "9C89FF3D6BA5638D" | ||
| 1064 | "7F173E2849CCCD6E" | ||
| 1065 | "B0", | ||
| 1066 | .oct_len = 41, | ||
| 1067 | .oct = { | ||
| 1068 | 0x04, 0xfe, 0x46, 0xef, 0xa6, 0xde, 0x95, 0x20, | ||
| 1069 | 0x34, 0x2e, 0x7c, 0x65, 0xe9, 0x31, 0xef, 0x5b, | ||
| 1070 | 0xd6, 0xb2, 0x80, 0x0a, 0x03, 0xba, 0xe8, 0xc6, | ||
| 1071 | 0x9c, 0x89, 0xff, 0x3d, 0x6b, 0xa5, 0x63, 0x8d, | ||
| 1072 | 0x7f, 0x17, 0x3e, 0x28, 0x49, 0xcc, 0xcd, 0x6e, | ||
| 1073 | 0xb0, | ||
| 1074 | }, | ||
| 1009 | }, | 1075 | }, |
| 1010 | { | 1076 | { |
| 1011 | .name = "secp160r1", | 1077 | .name = "secp160r1", |
| @@ -1023,6 +1089,21 @@ static const struct ec_private_key { | |||
| 1023 | 0xcb, 0xae, 0x9e, 0xe0, 0xa2, 0x7e, 0x26, 0x6b, | 1089 | 0xcb, 0xae, 0x9e, 0xe0, 0xa2, 0x7e, 0x26, 0x6b, |
| 1024 | 0xfe, 0xc4, 0xa7, | 1090 | 0xfe, 0xc4, 0xa7, |
| 1025 | }, | 1091 | }, |
| 1092 | .hex = "04DAF0DA8CAD13E1" | ||
| 1093 | "123B53EF9498A357" | ||
| 1094 | "85BB20C0D8B661AD" | ||
| 1095 | "4479D4BE3E6CCBAE" | ||
| 1096 | "9EE0A27E266BFEC4" | ||
| 1097 | "A7", | ||
| 1098 | .oct_len = 41, | ||
| 1099 | .oct = { | ||
| 1100 | 0x04, 0xda, 0xf0, 0xda, 0x8c, 0xad, 0x13, 0xe1, | ||
| 1101 | 0x12, 0x3b, 0x53, 0xef, 0x94, 0x98, 0xa3, 0x57, | ||
| 1102 | 0x85, 0xbb, 0x20, 0xc0, 0xd8, 0xb6, 0x61, 0xad, | ||
| 1103 | 0x44, 0x79, 0xd4, 0xbe, 0x3e, 0x6c, 0xcb, 0xae, | ||
| 1104 | 0x9e, 0xe0, 0xa2, 0x7e, 0x26, 0x6b, 0xfe, 0xc4, | ||
| 1105 | 0xa7, | ||
| 1106 | }, | ||
| 1026 | }, | 1107 | }, |
| 1027 | { | 1108 | { |
| 1028 | .name = "secp160r2", | 1109 | .name = "secp160r2", |
| @@ -1040,6 +1121,21 @@ static const struct ec_private_key { | |||
| 1040 | 0x79, 0x19, 0xdc, 0xb1, 0x03, 0xdc, 0xcb, 0x73, | 1121 | 0x79, 0x19, 0xdc, 0xb1, 0x03, 0xdc, 0xcb, 0x73, |
| 1041 | 0x2b, 0x02, 0x63, | 1122 | 0x2b, 0x02, 0x63, |
| 1042 | }, | 1123 | }, |
| 1124 | .hex = "0436CE2ABBEC29DF" | ||
| 1125 | "DA52218B8B4937E3" | ||
| 1126 | "D67FAB662081C730" | ||
| 1127 | "EB00F0AD667C7919" | ||
| 1128 | "DCB103DCCB732B02" | ||
| 1129 | "63", | ||
| 1130 | .oct_len = 41, | ||
| 1131 | .oct = { | ||
| 1132 | 0x04, 0x36, 0xce, 0x2a, 0xbb, 0xec, 0x29, 0xdf, | ||
| 1133 | 0xda, 0x52, 0x21, 0x8b, 0x8b, 0x49, 0x37, 0xe3, | ||
| 1134 | 0xd6, 0x7f, 0xab, 0x66, 0x20, 0x81, 0xc7, 0x30, | ||
| 1135 | 0xeb, 0x00, 0xf0, 0xad, 0x66, 0x7c, 0x79, 0x19, | ||
| 1136 | 0xdc, 0xb1, 0x03, 0xdc, 0xcb, 0x73, 0x2b, 0x02, | ||
| 1137 | 0x63, | ||
| 1138 | }, | ||
| 1043 | }, | 1139 | }, |
| 1044 | #endif | 1140 | #endif |
| 1045 | { | 1141 | { |
| @@ -1059,6 +1155,23 @@ static const struct ec_private_key { | |||
| 1059 | 0x95, 0xed, 0x6f, 0x61, 0x83, 0xc3, 0x06, 0x27, | 1155 | 0x95, 0xed, 0x6f, 0x61, 0x83, 0xc3, 0x06, 0x27, |
| 1060 | 0x0c, 0x73, 0x6e, 0x73, 0x7c, 0xdc, | 1156 | 0x0c, 0x73, 0x6e, 0x73, 0x7c, 0xdc, |
| 1061 | }, | 1157 | }, |
| 1158 | .hex = "04A87C1E15F01C8A" | ||
| 1159 | "8D7E14DB07D1ACAF" | ||
| 1160 | "2577E539BD595AED" | ||
| 1161 | "6414EFD3F233AB7B" | ||
| 1162 | "D59E2A95ED6F6183" | ||
| 1163 | "C306270C736E737C" | ||
| 1164 | "DC", | ||
| 1165 | .oct_len = 49, | ||
| 1166 | .oct = { | ||
| 1167 | 0x04, 0xa8, 0x7c, 0x1e, 0x15, 0xf0, 0x1c, 0x8a, | ||
| 1168 | 0x8d, 0x7e, 0x14, 0xdb, 0x07, 0xd1, 0xac, 0xaf, | ||
| 1169 | 0x25, 0x77, 0xe5, 0x39, 0xbd, 0x59, 0x5a, 0xed, | ||
| 1170 | 0x64, 0x14, 0xef, 0xd3, 0xf2, 0x33, 0xab, 0x7b, | ||
| 1171 | 0xd5, 0x9e, 0x2a, 0x95, 0xed, 0x6f, 0x61, 0x83, | ||
| 1172 | 0xc3, 0x06, 0x27, 0x0c, 0x73, 0x6e, 0x73, 0x7c, | ||
| 1173 | 0xdc, | ||
| 1174 | }, | ||
| 1062 | }, | 1175 | }, |
| 1063 | #if CORRECT_PRIV_KEY_PADDING | 1176 | #if CORRECT_PRIV_KEY_PADDING |
| 1064 | { | 1177 | { |
| @@ -1080,6 +1193,25 @@ static const struct ec_private_key { | |||
| 1080 | 0x34, 0xef, 0xfb, 0x04, 0xa1, 0x28, 0x7d, 0x51, | 1193 | 0x34, 0xef, 0xfb, 0x04, 0xa1, 0x28, 0x7d, 0x51, |
| 1081 | 0xbe, 0xe7, 0x0b, | 1194 | 0xbe, 0xe7, 0x0b, |
| 1082 | }, | 1195 | }, |
| 1196 | .hex = "0451C469DF2D497B" | ||
| 1197 | "056C125F9A83517D" | ||
| 1198 | "F34A6CE13AEA4435" | ||
| 1199 | "3E7AA440DFC49018" | ||
| 1200 | "FC2F5D4B1237874D" | ||
| 1201 | "2AF8BD29FB1334EF" | ||
| 1202 | "FB04A1287D51BEE7" | ||
| 1203 | "0B", | ||
| 1204 | .oct_len = 57, | ||
| 1205 | .oct = { | ||
| 1206 | 0x04, 0x51, 0xc4, 0x69, 0xdf, 0x2d, 0x49, 0x7b, | ||
| 1207 | 0x05, 0x6c, 0x12, 0x5f, 0x9a, 0x83, 0x51, 0x7d, | ||
| 1208 | 0xf3, 0x4a, 0x6c, 0xe1, 0x3a, 0xea, 0x44, 0x35, | ||
| 1209 | 0x3e, 0x7a, 0xa4, 0x40, 0xdf, 0xc4, 0x90, 0x18, | ||
| 1210 | 0xfc, 0x2f, 0x5d, 0x4b, 0x12, 0x37, 0x87, 0x4d, | ||
| 1211 | 0x2a, 0xf8, 0xbd, 0x29, 0xfb, 0x13, 0x34, 0xef, | ||
| 1212 | 0xfb, 0x04, 0xa1, 0x28, 0x7d, 0x51, 0xbe, 0xe7, | ||
| 1213 | 0x0b, | ||
| 1214 | }, | ||
| 1083 | }, | 1215 | }, |
| 1084 | #endif | 1216 | #endif |
| 1085 | { | 1217 | { |
| @@ -1101,6 +1233,25 @@ static const struct ec_private_key { | |||
| 1101 | 0xf4, 0x2d, 0x34, 0x25, 0xee, 0x4c, 0xec, 0xfb, | 1233 | 0xf4, 0x2d, 0x34, 0x25, 0xee, 0x4c, 0xec, 0xfb, |
| 1102 | 0x4d, 0x0b, | 1234 | 0x4d, 0x0b, |
| 1103 | }, | 1235 | }, |
| 1236 | .hex = "049484B0CD65EFC5" | ||
| 1237 | "5DC9E49171CBC7F1" | ||
| 1238 | "8E4439C2D307F06C" | ||
| 1239 | "B6EF77C084302CD2" | ||
| 1240 | "F2F0B5B66F0AF443" | ||
| 1241 | "AB5E5DD897BFABF4" | ||
| 1242 | "2D3425EE4CECFB4D" | ||
| 1243 | "0B", | ||
| 1244 | .oct_len = 57, | ||
| 1245 | .oct = { | ||
| 1246 | 0x04, 0x94, 0x84, 0xb0, 0xcd, 0x65, 0xef, 0xc5, | ||
| 1247 | 0x5d, 0xc9, 0xe4, 0x91, 0x71, 0xcb, 0xc7, 0xf1, | ||
| 1248 | 0x8e, 0x44, 0x39, 0xc2, 0xd3, 0x07, 0xf0, 0x6c, | ||
| 1249 | 0xb6, 0xef, 0x77, 0xc0, 0x84, 0x30, 0x2c, 0xd2, | ||
| 1250 | 0xf2, 0xf0, 0xb5, 0xb6, 0x6f, 0x0a, 0xf4, 0x43, | ||
| 1251 | 0xab, 0x5e, 0x5d, 0xd8, 0x97, 0xbf, 0xab, 0xf4, | ||
| 1252 | 0x2d, 0x34, 0x25, 0xee, 0x4c, 0xec, 0xfb, 0x4d, | ||
| 1253 | 0x0b, | ||
| 1254 | }, | ||
| 1104 | }, | 1255 | }, |
| 1105 | { | 1256 | { |
| 1106 | .name = "secp256k1", | 1257 | .name = "secp256k1", |
| @@ -1122,6 +1273,27 @@ static const struct ec_private_key { | |||
| 1122 | 0x5e, 0xb5, 0x37, 0x44, 0x40, 0x1c, 0x34, 0x6c, | 1273 | 0x5e, 0xb5, 0x37, 0x44, 0x40, 0x1c, 0x34, 0x6c, |
| 1123 | 0xf2, 0xdb, 0x44, 0x71, 0x26, 0xeb, | 1274 | 0xf2, 0xdb, 0x44, 0x71, 0x26, 0xeb, |
| 1124 | }, | 1275 | }, |
| 1276 | .hex = "049FD2BECCF800E8" | ||
| 1277 | "D0407311B9347668" | ||
| 1278 | "B26B88EAA66437E7" | ||
| 1279 | "06DF9F20B8C37F9F" | ||
| 1280 | "8FBC8065E973CB1D" | ||
| 1281 | "A1FA342366B94789" | ||
| 1282 | "E908925EB5374440" | ||
| 1283 | "1C346CF2DB447126" | ||
| 1284 | "EB", | ||
| 1285 | .oct_len = 65, | ||
| 1286 | .oct = { | ||
| 1287 | 0x04, 0x9f, 0xd2, 0xbe, 0xcc, 0xf8, 0x00, 0xe8, | ||
| 1288 | 0xd0, 0x40, 0x73, 0x11, 0xb9, 0x34, 0x76, 0x68, | ||
| 1289 | 0xb2, 0x6b, 0x88, 0xea, 0xa6, 0x64, 0x37, 0xe7, | ||
| 1290 | 0x06, 0xdf, 0x9f, 0x20, 0xb8, 0xc3, 0x7f, 0x9f, | ||
| 1291 | 0x8f, 0xbc, 0x80, 0x65, 0xe9, 0x73, 0xcb, 0x1d, | ||
| 1292 | 0xa1, 0xfa, 0x34, 0x23, 0x66, 0xb9, 0x47, 0x89, | ||
| 1293 | 0xe9, 0x08, 0x92, 0x5e, 0xb5, 0x37, 0x44, 0x40, | ||
| 1294 | 0x1c, 0x34, 0x6c, 0xf2, 0xdb, 0x44, 0x71, 0x26, | ||
| 1295 | 0xeb, | ||
| 1296 | }, | ||
| 1125 | }, | 1297 | }, |
| 1126 | { | 1298 | { |
| 1127 | .name = "secp384r1", | 1299 | .name = "secp384r1", |
| @@ -1149,6 +1321,35 @@ static const struct ec_private_key { | |||
| 1149 | 0xe5, 0xd2, 0xa2, 0x79, 0x47, 0xb0, 0x6e, 0x5f, | 1321 | 0xe5, 0xd2, 0xa2, 0x79, 0x47, 0xb0, 0x6e, 0x5f, |
| 1150 | 0x85, 0x39, 0x94, 0x57, 0xbf, 0x54, 0x76, | 1322 | 0x85, 0x39, 0x94, 0x57, 0xbf, 0x54, 0x76, |
| 1151 | }, | 1323 | }, |
| 1324 | .hex = "04CE9A3B4B01E6C4" | ||
| 1325 | "5AFA9703C1CE18D5" | ||
| 1326 | "6C47274D6C9ABD47" | ||
| 1327 | "AB200F9983198BCB" | ||
| 1328 | "18D7A3B2E73BD0F1" | ||
| 1329 | "F329B26D38D6CC8E" | ||
| 1330 | "5EF0B2B9BD852CAB" | ||
| 1331 | "4BB69D98A1CEF18A" | ||
| 1332 | "DB92757DF7824C0A" | ||
| 1333 | "C73B526E97C623C9" | ||
| 1334 | "6F3FE5D2A27947B0" | ||
| 1335 | "6E5F85399457BF54" | ||
| 1336 | "76", | ||
| 1337 | .oct_len = 97, | ||
| 1338 | .oct = { | ||
| 1339 | 0x04, 0xce, 0x9a, 0x3b, 0x4b, 0x01, 0xe6, 0xc4, | ||
| 1340 | 0x5a, 0xfa, 0x97, 0x03, 0xc1, 0xce, 0x18, 0xd5, | ||
| 1341 | 0x6c, 0x47, 0x27, 0x4d, 0x6c, 0x9a, 0xbd, 0x47, | ||
| 1342 | 0xab, 0x20, 0x0f, 0x99, 0x83, 0x19, 0x8b, 0xcb, | ||
| 1343 | 0x18, 0xd7, 0xa3, 0xb2, 0xe7, 0x3b, 0xd0, 0xf1, | ||
| 1344 | 0xf3, 0x29, 0xb2, 0x6d, 0x38, 0xd6, 0xcc, 0x8e, | ||
| 1345 | 0x5e, 0xf0, 0xb2, 0xb9, 0xbd, 0x85, 0x2c, 0xab, | ||
| 1346 | 0x4b, 0xb6, 0x9d, 0x98, 0xa1, 0xce, 0xf1, 0x8a, | ||
| 1347 | 0xdb, 0x92, 0x75, 0x7d, 0xf7, 0x82, 0x4c, 0x0a, | ||
| 1348 | 0xc7, 0x3b, 0x52, 0x6e, 0x97, 0xc6, 0x23, 0xc9, | ||
| 1349 | 0x6f, 0x3f, 0xe5, 0xd2, 0xa2, 0x79, 0x47, 0xb0, | ||
| 1350 | 0x6e, 0x5f, 0x85, 0x39, 0x94, 0x57, 0xbf, 0x54, | ||
| 1351 | 0x76, | ||
| 1352 | }, | ||
| 1152 | }, | 1353 | }, |
| 1153 | { | 1354 | { |
| 1154 | .name = "secp521r1", | 1355 | .name = "secp521r1", |
| @@ -1183,6 +1384,43 @@ static const struct ec_private_key { | |||
| 1183 | 0x8f, 0x89, 0xb6, 0x39, 0x2c, 0x2c, 0x23, 0x0a, | 1384 | 0x8f, 0x89, 0xb6, 0x39, 0x2c, 0x2c, 0x23, 0x0a, |
| 1184 | 0xb6, 0x95, 0x9c, 0x6b, 0xce, 0xc4, 0x8e, | 1385 | 0xb6, 0x95, 0x9c, 0x6b, 0xce, 0xc4, 0x8e, |
| 1185 | }, | 1386 | }, |
| 1387 | .hex = "0401D2C37841B186" | ||
| 1388 | "24CA6D805C97CF96" | ||
| 1389 | "F087B425BE379AF3" | ||
| 1390 | "E54A70D1E6369E69" | ||
| 1391 | "CCFB83D6A1626DA8" | ||
| 1392 | "E6CAE70E24E626CD" | ||
| 1393 | "C00D2A01816AD694" | ||
| 1394 | "F290CD2668282C57" | ||
| 1395 | "D3F03700BC5EFAF9" | ||
| 1396 | "36CD0FEB4F82176A" | ||
| 1397 | "A073D248FCFBF054" | ||
| 1398 | "C3232976C7219809" | ||
| 1399 | "298BCE6E6BE39794" | ||
| 1400 | "B230AAF6435C15D7" | ||
| 1401 | "B8DB0692A8368F89" | ||
| 1402 | "B6392C2C230AB695" | ||
| 1403 | "9C6BCEC48E", | ||
| 1404 | .oct_len = 133, | ||
| 1405 | .oct = { | ||
| 1406 | 0x04, 0x01, 0xd2, 0xc3, 0x78, 0x41, 0xb1, 0x86, | ||
| 1407 | 0x24, 0xca, 0x6d, 0x80, 0x5c, 0x97, 0xcf, 0x96, | ||
| 1408 | 0xf0, 0x87, 0xb4, 0x25, 0xbe, 0x37, 0x9a, 0xf3, | ||
| 1409 | 0xe5, 0x4a, 0x70, 0xd1, 0xe6, 0x36, 0x9e, 0x69, | ||
| 1410 | 0xcc, 0xfb, 0x83, 0xd6, 0xa1, 0x62, 0x6d, 0xa8, | ||
| 1411 | 0xe6, 0xca, 0xe7, 0x0e, 0x24, 0xe6, 0x26, 0xcd, | ||
| 1412 | 0xc0, 0x0d, 0x2a, 0x01, 0x81, 0x6a, 0xd6, 0x94, | ||
| 1413 | 0xf2, 0x90, 0xcd, 0x26, 0x68, 0x28, 0x2c, 0x57, | ||
| 1414 | 0xd3, 0xf0, 0x37, 0x00, 0xbc, 0x5e, 0xfa, 0xf9, | ||
| 1415 | 0x36, 0xcd, 0x0f, 0xeb, 0x4f, 0x82, 0x17, 0x6a, | ||
| 1416 | 0xa0, 0x73, 0xd2, 0x48, 0xfc, 0xfb, 0xf0, 0x54, | ||
| 1417 | 0xc3, 0x23, 0x29, 0x76, 0xc7, 0x21, 0x98, 0x09, | ||
| 1418 | 0x29, 0x8b, 0xce, 0x6e, 0x6b, 0xe3, 0x97, 0x94, | ||
| 1419 | 0xb2, 0x30, 0xaa, 0xf6, 0x43, 0x5c, 0x15, 0xd7, | ||
| 1420 | 0xb8, 0xdb, 0x06, 0x92, 0xa8, 0x36, 0x8f, 0x89, | ||
| 1421 | 0xb6, 0x39, 0x2c, 0x2c, 0x23, 0x0a, 0xb6, 0x95, | ||
| 1422 | 0x9c, 0x6b, 0xce, 0xc4, 0x8e, | ||
| 1423 | }, | ||
| 1186 | }, | 1424 | }, |
| 1187 | { | 1425 | { |
| 1188 | .name = "prime192v1", | 1426 | .name = "prime192v1", |
| @@ -1202,6 +1440,23 @@ static const struct ec_private_key { | |||
| 1202 | 0x6a, 0xba, 0x4e, 0x52, 0xeb, 0x29, 0x81, 0x87, | 1440 | 0x6a, 0xba, 0x4e, 0x52, 0xeb, 0x29, 0x81, 0x87, |
| 1203 | 0x92, | 1441 | 0x92, |
| 1204 | }, | 1442 | }, |
| 1443 | .hex = "046E8A842C8A39EE" | ||
| 1444 | "946BB28A178E965E" | ||
| 1445 | "A20F2EB073435646" | ||
| 1446 | "F102E8A681419374" | ||
| 1447 | "FEE64CF6B95A3918" | ||
| 1448 | "6ABA4E52EB298187" | ||
| 1449 | "92", | ||
| 1450 | .oct_len = 49, | ||
| 1451 | .oct = { | ||
| 1452 | 0x04, 0x6e, 0x8a, 0x84, 0x2c, 0x8a, 0x39, 0xee, | ||
| 1453 | 0x94, 0x6b, 0xb2, 0x8a, 0x17, 0x8e, 0x96, 0x5e, | ||
| 1454 | 0xa2, 0x0f, 0x2e, 0xb0, 0x73, 0x43, 0x56, 0x46, | ||
| 1455 | 0xf1, 0x02, 0xe8, 0xa6, 0x81, 0x41, 0x93, 0x74, | ||
| 1456 | 0xfe, 0xe6, 0x4c, 0xf6, 0xb9, 0x5a, 0x39, 0x18, | ||
| 1457 | 0x6a, 0xba, 0x4e, 0x52, 0xeb, 0x29, 0x81, 0x87, | ||
| 1458 | 0x92, | ||
| 1459 | }, | ||
| 1205 | }, | 1460 | }, |
| 1206 | { | 1461 | { |
| 1207 | .name = "prime192v2", | 1462 | .name = "prime192v2", |
| @@ -1221,6 +1476,23 @@ static const struct ec_private_key { | |||
| 1221 | 0x4b, 0xab, 0x5b, 0x66, 0xa7, 0x98, 0xa6, 0x9a, | 1476 | 0x4b, 0xab, 0x5b, 0x66, 0xa7, 0x98, 0xa6, 0x9a, |
| 1222 | 0xe6, | 1477 | 0xe6, |
| 1223 | }, | 1478 | }, |
| 1479 | .hex = "04625DFB0E5895D1" | ||
| 1480 | "E713669A0C5CEF2F" | ||
| 1481 | "2F33BB2BA0096E04" | ||
| 1482 | "3E013C605EC3BAFC" | ||
| 1483 | "1CB94D0DB5A99E56" | ||
| 1484 | "4BAB5B66A798A69A" | ||
| 1485 | "E6", | ||
| 1486 | .oct_len = 49, | ||
| 1487 | .oct = { | ||
| 1488 | 0x04, 0x62, 0x5d, 0xfb, 0x0e, 0x58, 0x95, 0xd1, | ||
| 1489 | 0xe7, 0x13, 0x66, 0x9a, 0x0c, 0x5c, 0xef, 0x2f, | ||
| 1490 | 0x2f, 0x33, 0xbb, 0x2b, 0xa0, 0x09, 0x6e, 0x04, | ||
| 1491 | 0x3e, 0x01, 0x3c, 0x60, 0x5e, 0xc3, 0xba, 0xfc, | ||
| 1492 | 0x1c, 0xb9, 0x4d, 0x0d, 0xb5, 0xa9, 0x9e, 0x56, | ||
| 1493 | 0x4b, 0xab, 0x5b, 0x66, 0xa7, 0x98, 0xa6, 0x9a, | ||
| 1494 | 0xe6, | ||
| 1495 | }, | ||
| 1224 | }, | 1496 | }, |
| 1225 | { | 1497 | { |
| 1226 | .name = "prime192v3", | 1498 | .name = "prime192v3", |
| @@ -1240,6 +1512,23 @@ static const struct ec_private_key { | |||
| 1240 | 0xc8, 0xd8, 0x3a, 0xc5, 0x7d, 0xfb, 0x9c, 0x78, | 1512 | 0xc8, 0xd8, 0x3a, 0xc5, 0x7d, 0xfb, 0x9c, 0x78, |
| 1241 | 0xd3, | 1513 | 0xd3, |
| 1242 | }, | 1514 | }, |
| 1515 | .hex = "0451389F964E130C" | ||
| 1516 | "E293EEC64410FDFF" | ||
| 1517 | "AED4080F3A7871DC" | ||
| 1518 | "FE6D460EE4E699D1" | ||
| 1519 | "258CB8C0E97C7AD3" | ||
| 1520 | "C8D83AC57DFB9C78" | ||
| 1521 | "D3", | ||
| 1522 | .oct_len = 49, | ||
| 1523 | .oct = { | ||
| 1524 | 0x04, 0x51, 0x38, 0x9f, 0x96, 0x4e, 0x13, 0x0c, | ||
| 1525 | 0xe2, 0x93, 0xee, 0xc6, 0x44, 0x10, 0xfd, 0xff, | ||
| 1526 | 0xae, 0xd4, 0x08, 0x0f, 0x3a, 0x78, 0x71, 0xdc, | ||
| 1527 | 0xfe, 0x6d, 0x46, 0x0e, 0xe4, 0xe6, 0x99, 0xd1, | ||
| 1528 | 0x25, 0x8c, 0xb8, 0xc0, 0xe9, 0x7c, 0x7a, 0xd3, | ||
| 1529 | 0xc8, 0xd8, 0x3a, 0xc5, 0x7d, 0xfb, 0x9c, 0x78, | ||
| 1530 | 0xd3, | ||
| 1531 | }, | ||
| 1243 | }, | 1532 | }, |
| 1244 | { | 1533 | { |
| 1245 | .name = "prime239v1", | 1534 | .name = "prime239v1", |
| @@ -1261,6 +1550,25 @@ static const struct ec_private_key { | |||
| 1261 | 0xe3, 0x04, 0xef, 0x5d, 0x65, 0x75, 0x98, 0x7f, | 1550 | 0xe3, 0x04, 0xef, 0x5d, 0x65, 0x75, 0x98, 0x7f, |
| 1262 | 0x2d, 0xd0, 0x68, | 1551 | 0x2d, 0xd0, 0x68, |
| 1263 | }, | 1552 | }, |
| 1553 | .hex = "0433C6E58AC18B7C" | ||
| 1554 | "9619C9E1547F819E" | ||
| 1555 | "5962ECC01EE553D5" | ||
| 1556 | "AE6BD3E00907C527" | ||
| 1557 | "81A68D398EFE01C2" | ||
| 1558 | "1DDADE7BDC762717" | ||
| 1559 | "F96FE304EF5D6575" | ||
| 1560 | "987F2DD068", | ||
| 1561 | .oct_len = 61, | ||
| 1562 | .oct = { | ||
| 1563 | 0x04, 0x33, 0xc6, 0xe5, 0x8a, 0xc1, 0x8b, 0x7c, | ||
| 1564 | 0x96, 0x19, 0xc9, 0xe1, 0x54, 0x7f, 0x81, 0x9e, | ||
| 1565 | 0x59, 0x62, 0xec, 0xc0, 0x1e, 0xe5, 0x53, 0xd5, | ||
| 1566 | 0xae, 0x6b, 0xd3, 0xe0, 0x09, 0x07, 0xc5, 0x27, | ||
| 1567 | 0x81, 0xa6, 0x8d, 0x39, 0x8e, 0xfe, 0x01, 0xc2, | ||
| 1568 | 0x1d, 0xda, 0xde, 0x7b, 0xdc, 0x76, 0x27, 0x17, | ||
| 1569 | 0xf9, 0x6f, 0xe3, 0x04, 0xef, 0x5d, 0x65, 0x75, | ||
| 1570 | 0x98, 0x7f, 0x2d, 0xd0, 0x68, | ||
| 1571 | }, | ||
| 1264 | }, | 1572 | }, |
| 1265 | { | 1573 | { |
| 1266 | .name = "prime239v2", | 1574 | .name = "prime239v2", |
| @@ -1282,6 +1590,25 @@ static const struct ec_private_key { | |||
| 1282 | 0xe0, 0xcc, 0xdd, 0x45, 0xd8, 0xa6, 0x29, 0x2f, | 1590 | 0xe0, 0xcc, 0xdd, 0x45, 0xd8, 0xa6, 0x29, 0x2f, |
| 1283 | 0xad, 0x6b, 0xf9, | 1591 | 0xad, 0x6b, 0xf9, |
| 1284 | }, | 1592 | }, |
| 1593 | .hex = "043C10277BACDF86" | ||
| 1594 | "C94FF839870239AF" | ||
| 1595 | "41BC4B67D85E0496" | ||
| 1596 | "84B56050486A201D" | ||
| 1597 | "2B7E9FAFF88E7EA4" | ||
| 1598 | "CD00ADB1AD226932" | ||
| 1599 | "106CE0CCDD45D8A6" | ||
| 1600 | "292FAD6BF9", | ||
| 1601 | .oct_len = 61, | ||
| 1602 | .oct = { | ||
| 1603 | 0x04, 0x3c, 0x10, 0x27, 0x7b, 0xac, 0xdf, 0x86, | ||
| 1604 | 0xc9, 0x4f, 0xf8, 0x39, 0x87, 0x02, 0x39, 0xaf, | ||
| 1605 | 0x41, 0xbc, 0x4b, 0x67, 0xd8, 0x5e, 0x04, 0x96, | ||
| 1606 | 0x84, 0xb5, 0x60, 0x50, 0x48, 0x6a, 0x20, 0x1d, | ||
| 1607 | 0x2b, 0x7e, 0x9f, 0xaf, 0xf8, 0x8e, 0x7e, 0xa4, | ||
| 1608 | 0xcd, 0x00, 0xad, 0xb1, 0xad, 0x22, 0x69, 0x32, | ||
| 1609 | 0x10, 0x6c, 0xe0, 0xcc, 0xdd, 0x45, 0xd8, 0xa6, | ||
| 1610 | 0x29, 0x2f, 0xad, 0x6b, 0xf9, | ||
| 1611 | }, | ||
| 1285 | }, | 1612 | }, |
| 1286 | { | 1613 | { |
| 1287 | .name = "prime239v3", | 1614 | .name = "prime239v3", |
| @@ -1303,6 +1630,25 @@ static const struct ec_private_key { | |||
| 1303 | 0x26, 0x81, 0x2a, 0x91, 0x14, 0x0f, 0xc7, 0x31, | 1630 | 0x26, 0x81, 0x2a, 0x91, 0x14, 0x0f, 0xc7, 0x31, |
| 1304 | 0x13, 0x78, 0x16, | 1631 | 0x13, 0x78, 0x16, |
| 1305 | }, | 1632 | }, |
| 1633 | .hex = "0437BA077FD9465A" | ||
| 1634 | "3303317738EFEECC" | ||
| 1635 | "3DE1AA57E38DB7CD" | ||
| 1636 | "E301F4D675497261" | ||
| 1637 | "4CBFC01F8B5F989B" | ||
| 1638 | "A7E56AB7FE63DBB0" | ||
| 1639 | "40CB26812A91140F" | ||
| 1640 | "C731137816", | ||
| 1641 | .oct_len = 61, | ||
| 1642 | .oct = { | ||
| 1643 | 0x04, 0x37, 0xba, 0x07, 0x7f, 0xd9, 0x46, 0x5a, | ||
| 1644 | 0x33, 0x03, 0x31, 0x77, 0x38, 0xef, 0xee, 0xcc, | ||
| 1645 | 0x3d, 0xe1, 0xaa, 0x57, 0xe3, 0x8d, 0xb7, 0xcd, | ||
| 1646 | 0xe3, 0x01, 0xf4, 0xd6, 0x75, 0x49, 0x72, 0x61, | ||
| 1647 | 0x4c, 0xbf, 0xc0, 0x1f, 0x8b, 0x5f, 0x98, 0x9b, | ||
| 1648 | 0xa7, 0xe5, 0x6a, 0xb7, 0xfe, 0x63, 0xdb, 0xb0, | ||
| 1649 | 0x40, 0xcb, 0x26, 0x81, 0x2a, 0x91, 0x14, 0x0f, | ||
| 1650 | 0xc7, 0x31, 0x13, 0x78, 0x16, | ||
| 1651 | }, | ||
| 1306 | }, | 1652 | }, |
| 1307 | { | 1653 | { |
| 1308 | .name = "prime256v1", | 1654 | .name = "prime256v1", |
| @@ -1325,6 +1671,27 @@ static const struct ec_private_key { | |||
| 1325 | 0x0b, 0xa6, 0xdd, 0x16, 0xc5, 0x8d, 0x5a, 0xcf, | 1671 | 0x0b, 0xa6, 0xdd, 0x16, 0xc5, 0x8d, 0x5a, 0xcf, |
| 1326 | 0xe3, | 1672 | 0xe3, |
| 1327 | }, | 1673 | }, |
| 1674 | .hex = "04968AC3661EF7CF" | ||
| 1675 | "F6CC4E73AEE264C4" | ||
| 1676 | "565F2DFEDEAC92BE" | ||
| 1677 | "104037CE24123019" | ||
| 1678 | "0866CF90C93703D1" | ||
| 1679 | "D58DAA182ABCED82" | ||
| 1680 | "32C9434B987FDCB1" | ||
| 1681 | "0BA6DD16C58D5ACF" | ||
| 1682 | "E3", | ||
| 1683 | .oct_len = 65, | ||
| 1684 | .oct = { | ||
| 1685 | 0x04, 0x96, 0x8a, 0xc3, 0x66, 0x1e, 0xf7, 0xcf, | ||
| 1686 | 0xf6, 0xcc, 0x4e, 0x73, 0xae, 0xe2, 0x64, 0xc4, | ||
| 1687 | 0x56, 0x5f, 0x2d, 0xfe, 0xde, 0xac, 0x92, 0xbe, | ||
| 1688 | 0x10, 0x40, 0x37, 0xce, 0x24, 0x12, 0x30, 0x19, | ||
| 1689 | 0x08, 0x66, 0xcf, 0x90, 0xc9, 0x37, 0x03, 0xd1, | ||
| 1690 | 0xd5, 0x8d, 0xaa, 0x18, 0x2a, 0xbc, 0xed, 0x82, | ||
| 1691 | 0x32, 0xc9, 0x43, 0x4b, 0x98, 0x7f, 0xdc, 0xb1, | ||
| 1692 | 0x0b, 0xa6, 0xdd, 0x16, 0xc5, 0x8d, 0x5a, 0xcf, | ||
| 1693 | 0xe3, | ||
| 1694 | }, | ||
| 1328 | }, | 1695 | }, |
| 1329 | { | 1696 | { |
| 1330 | .name = "wap-wsg-idm-ecid-wtls6", | 1697 | .name = "wap-wsg-idm-ecid-wtls6", |
| @@ -1339,6 +1706,17 @@ static const struct ec_private_key { | |||
| 1339 | 0x43, 0x15, 0x6e, 0x27, 0x8a, 0x4f, 0x28, 0x11, | 1706 | 0x43, 0x15, 0x6e, 0x27, 0x8a, 0x4f, 0x28, 0x11, |
| 1340 | 0xb8, 0xf6, 0x80, 0xfe, 0x7a, 0xb1, 0xa2, 0x74, | 1707 | 0xb8, 0xf6, 0x80, 0xfe, 0x7a, 0xb1, 0xa2, 0x74, |
| 1341 | }, | 1708 | }, |
| 1709 | .hex = "04563F72F1B5EE7A" | ||
| 1710 | "4C5976D49743156E" | ||
| 1711 | "278A4F2811B8F680" | ||
| 1712 | "FE7AB1A274", | ||
| 1713 | .oct_len = 29, | ||
| 1714 | .oct = { | ||
| 1715 | 0x04, 0x56, 0x3f, 0x72, 0xf1, 0xb5, 0xee, 0x7a, | ||
| 1716 | 0x4c, 0x59, 0x76, 0xd4, 0x97, 0x43, 0x15, 0x6e, | ||
| 1717 | 0x27, 0x8a, 0x4f, 0x28, 0x11, 0xb8, 0xf6, 0x80, | ||
| 1718 | 0xfe, 0x7a, 0xb1, 0xa2, 0x74, | ||
| 1719 | }, | ||
| 1342 | }, | 1720 | }, |
| 1343 | #if CORRECT_PRIV_KEY_PADDING | 1721 | #if CORRECT_PRIV_KEY_PADDING |
| 1344 | { | 1722 | { |
| @@ -1357,6 +1735,21 @@ static const struct ec_private_key { | |||
| 1357 | 0x92, 0x2e, 0x9a, 0xa9, 0x73, 0x2b, 0xc3, 0x06, | 1735 | 0x92, 0x2e, 0x9a, 0xa9, 0x73, 0x2b, 0xc3, 0x06, |
| 1358 | 0x0e, 0x4e, 0x69, | 1736 | 0x0e, 0x4e, 0x69, |
| 1359 | }, | 1737 | }, |
| 1738 | .hex = "04AF842D08CBE2F2" | ||
| 1739 | "A3AC20B0995C38D7" | ||
| 1740 | "5ECEB90B2E38DDCF" | ||
| 1741 | "137F5AFAAC1D922E" | ||
| 1742 | "9AA9732BC3060E4E" | ||
| 1743 | "69", | ||
| 1744 | .oct_len = 41, | ||
| 1745 | .oct = { | ||
| 1746 | 0x04, 0xaf, 0x84, 0x2d, 0x08, 0xcb, 0xe2, 0xf2, | ||
| 1747 | 0xa3, 0xac, 0x20, 0xb0, 0x99, 0x5c, 0x38, 0xd7, | ||
| 1748 | 0x5e, 0xce, 0xb9, 0x0b, 0x2e, 0x38, 0xdd, 0xcf, | ||
| 1749 | 0x13, 0x7f, 0x5a, 0xfa, 0xac, 0x1d, 0x92, 0x2e, | ||
| 1750 | 0x9a, 0xa9, 0x73, 0x2b, 0xc3, 0x06, 0x0e, 0x4e, | ||
| 1751 | 0x69, | ||
| 1752 | }, | ||
| 1360 | }, | 1753 | }, |
| 1361 | { | 1754 | { |
| 1362 | .name = "wap-wsg-idm-ecid-wtls8", | 1755 | .name = "wap-wsg-idm-ecid-wtls8", |
| @@ -1372,6 +1765,17 @@ static const struct ec_private_key { | |||
| 1372 | 0x52, 0x3c, 0x6a, 0x6a, 0x2f, 0x69, 0x1a, 0x06, | 1765 | 0x52, 0x3c, 0x6a, 0x6a, 0x2f, 0x69, 0x1a, 0x06, |
| 1373 | 0x56, | 1766 | 0x56, |
| 1374 | }, | 1767 | }, |
| 1768 | .hex = "0448814BAE65F8DA" | ||
| 1769 | "022C66C60B1DA698" | ||
| 1770 | "4225F231523C6A6A" | ||
| 1771 | "2F691A0656", | ||
| 1772 | .oct_len = 29, | ||
| 1773 | .oct = { | ||
| 1774 | 0x04, 0x48, 0x81, 0x4b, 0xae, 0x65, 0xf8, 0xda, | ||
| 1775 | 0x02, 0x2c, 0x66, 0xc6, 0x0b, 0x1d, 0xa6, 0x98, | ||
| 1776 | 0x42, 0x25, 0xf2, 0x31, 0x52, 0x3c, 0x6a, 0x6a, | ||
| 1777 | 0x2f, 0x69, 0x1a, 0x06, 0x56, | ||
| 1778 | }, | ||
| 1375 | }, | 1779 | }, |
| 1376 | { | 1780 | { |
| 1377 | .name = "wap-wsg-idm-ecid-wtls9", | 1781 | .name = "wap-wsg-idm-ecid-wtls9", |
| @@ -1389,6 +1793,21 @@ static const struct ec_private_key { | |||
| 1389 | 0xfa, 0x7e, 0xdc, 0x50, 0xc4, 0xac, 0xea, 0x84, | 1793 | 0xfa, 0x7e, 0xdc, 0x50, 0xc4, 0xac, 0xea, 0x84, |
| 1390 | 0x2f, 0xba, 0x3c, | 1794 | 0x2f, 0xba, 0x3c, |
| 1391 | }, | 1795 | }, |
| 1796 | .hex = "04AAFCE4FEF89148" | ||
| 1797 | "F1CC4944353D4971" | ||
| 1798 | "44DC74735B5F014B" | ||
| 1799 | "AB8B5C84EC2BFA7E" | ||
| 1800 | "DC50C4ACEA842FBA" | ||
| 1801 | "3C", | ||
| 1802 | .oct_len = 41, | ||
| 1803 | .oct = { | ||
| 1804 | 0x04, 0xaa, 0xfc, 0xe4, 0xfe, 0xf8, 0x91, 0x48, | ||
| 1805 | 0xf1, 0xcc, 0x49, 0x44, 0x35, 0x3d, 0x49, 0x71, | ||
| 1806 | 0x44, 0xdc, 0x74, 0x73, 0x5b, 0x5f, 0x01, 0x4b, | ||
| 1807 | 0xab, 0x8b, 0x5c, 0x84, 0xec, 0x2b, 0xfa, 0x7e, | ||
| 1808 | 0xdc, 0x50, 0xc4, 0xac, 0xea, 0x84, 0x2f, 0xba, | ||
| 1809 | 0x3c, | ||
| 1810 | }, | ||
| 1392 | }, | 1811 | }, |
| 1393 | #endif | 1812 | #endif |
| 1394 | { | 1813 | { |
| @@ -1410,6 +1829,25 @@ static const struct ec_private_key { | |||
| 1410 | 0x00, 0xaf, 0xdc, 0x4a, 0xe7, 0xc6, 0x61, 0x44, | 1829 | 0x00, 0xaf, 0xdc, 0x4a, 0xe7, 0xc6, 0x61, 0x44, |
| 1411 | 0x50, 0xc6, | 1830 | 0x50, 0xc6, |
| 1412 | }, | 1831 | }, |
| 1832 | .hex = "0447D66327E1AD30" | ||
| 1833 | "ACBAAB86D663B5D9" | ||
| 1834 | "C59C243AD96A7A5D" | ||
| 1835 | "2B45718D7ED23275" | ||
| 1836 | "65C43725C71FEB33" | ||
| 1837 | "F76829168296D900" | ||
| 1838 | "AFDC4AE7C6614450" | ||
| 1839 | "C6", | ||
| 1840 | .oct_len = 57, | ||
| 1841 | .oct = { | ||
| 1842 | 0x04, 0x47, 0xd6, 0x63, 0x27, 0xe1, 0xad, 0x30, | ||
| 1843 | 0xac, 0xba, 0xab, 0x86, 0xd6, 0x63, 0xb5, 0xd9, | ||
| 1844 | 0xc5, 0x9c, 0x24, 0x3a, 0xd9, 0x6a, 0x7a, 0x5d, | ||
| 1845 | 0x2b, 0x45, 0x71, 0x8d, 0x7e, 0xd2, 0x32, 0x75, | ||
| 1846 | 0x65, 0xc4, 0x37, 0x25, 0xc7, 0x1f, 0xeb, 0x33, | ||
| 1847 | 0xf7, 0x68, 0x29, 0x16, 0x82, 0x96, 0xd9, 0x00, | ||
| 1848 | 0xaf, 0xdc, 0x4a, 0xe7, 0xc6, 0x61, 0x44, 0x50, | ||
| 1849 | 0xc6, | ||
| 1850 | }, | ||
| 1413 | }, | 1851 | }, |
| 1414 | { | 1852 | { |
| 1415 | .name = "brainpoolP160r1", | 1853 | .name = "brainpoolP160r1", |
| @@ -1427,6 +1865,21 @@ static const struct ec_private_key { | |||
| 1427 | 0xa2, 0xcc, 0xc4, 0xd0, 0x1d, 0xd6, 0xe6, 0xcf, | 1865 | 0xa2, 0xcc, 0xc4, 0xd0, 0x1d, 0xd6, 0xe6, 0xcf, |
| 1428 | 0x11, 0x6e, 0x59, 0x12, 0xbb, 0x14, | 1866 | 0x11, 0x6e, 0x59, 0x12, 0xbb, 0x14, |
| 1429 | }, | 1867 | }, |
| 1868 | .hex = "044C15498194F56E" | ||
| 1869 | "808EC865EA48FA29" | ||
| 1870 | "C259F136D68DA4C5" | ||
| 1871 | "E07DE5A2CCC4D01D" | ||
| 1872 | "D6E6CF116E5912BB" | ||
| 1873 | "14", | ||
| 1874 | .oct_len = 41, | ||
| 1875 | .oct = { | ||
| 1876 | 0x04, 0x4c, 0x15, 0x49, 0x81, 0x94, 0xf5, 0x6e, | ||
| 1877 | 0x80, 0x8e, 0xc8, 0x65, 0xea, 0x48, 0xfa, 0x29, | ||
| 1878 | 0xc2, 0x59, 0xf1, 0x36, 0xd6, 0x8d, 0xa4, 0xc5, | ||
| 1879 | 0xe0, 0x7d, 0xe5, 0xa2, 0xcc, 0xc4, 0xd0, 0x1d, | ||
| 1880 | 0xd6, 0xe6, 0xcf, 0x11, 0x6e, 0x59, 0x12, 0xbb, | ||
| 1881 | 0x14, | ||
| 1882 | }, | ||
| 1430 | }, | 1883 | }, |
| 1431 | { | 1884 | { |
| 1432 | .name = "brainpoolP160t1", | 1885 | .name = "brainpoolP160t1", |
| @@ -1444,6 +1897,21 @@ static const struct ec_private_key { | |||
| 1444 | 0xcf, 0x8f, 0x31, 0xb1, 0x69, 0x99, 0xc6, 0x11, | 1897 | 0xcf, 0x8f, 0x31, 0xb1, 0x69, 0x99, 0xc6, 0x11, |
| 1445 | 0x80, 0x0d, 0x40, 0x25, 0xf0, 0x90, | 1898 | 0x80, 0x0d, 0x40, 0x25, 0xf0, 0x90, |
| 1446 | }, | 1899 | }, |
| 1900 | .hex = "04964B2C8AED9B18" | ||
| 1901 | "30C11CBC16567BC0" | ||
| 1902 | "3A6C52F871DF5420" | ||
| 1903 | "96E3E9CF8F31B169" | ||
| 1904 | "99C611800D4025F0" | ||
| 1905 | "90", | ||
| 1906 | .oct_len = 41, | ||
| 1907 | .oct = { | ||
| 1908 | 0x04, 0x96, 0x4b, 0x2c, 0x8a, 0xed, 0x9b, 0x18, | ||
| 1909 | 0x30, 0xc1, 0x1c, 0xbc, 0x16, 0x56, 0x7b, 0xc0, | ||
| 1910 | 0x3a, 0x6c, 0x52, 0xf8, 0x71, 0xdf, 0x54, 0x20, | ||
| 1911 | 0x96, 0xe3, 0xe9, 0xcf, 0x8f, 0x31, 0xb1, 0x69, | ||
| 1912 | 0x99, 0xc6, 0x11, 0x80, 0x0d, 0x40, 0x25, 0xf0, | ||
| 1913 | 0x90, | ||
| 1914 | }, | ||
| 1447 | }, | 1915 | }, |
| 1448 | { | 1916 | { |
| 1449 | .name = "brainpoolP192r1", | 1917 | .name = "brainpoolP192r1", |
| @@ -1463,6 +1931,23 @@ static const struct ec_private_key { | |||
| 1463 | 0x3c, 0xf1, 0x96, 0x94, 0x1f, 0x9c, 0x04, 0x2a, | 1931 | 0x3c, 0xf1, 0x96, 0x94, 0x1f, 0x9c, 0x04, 0x2a, |
| 1464 | 0x43, 0x27, | 1932 | 0x43, 0x27, |
| 1465 | }, | 1933 | }, |
| 1934 | .hex = "0471609C629876C9" | ||
| 1935 | "149175C6C81632C2" | ||
| 1936 | "294764A359A745DB" | ||
| 1937 | "D75195BAA433466E" | ||
| 1938 | "4F86ED1EEAF6F13C" | ||
| 1939 | "F196941F9C042A43" | ||
| 1940 | "27", | ||
| 1941 | .oct_len = 49, | ||
| 1942 | .oct = { | ||
| 1943 | 0x04, 0x71, 0x60, 0x9c, 0x62, 0x98, 0x76, 0xc9, | ||
| 1944 | 0x14, 0x91, 0x75, 0xc6, 0xc8, 0x16, 0x32, 0xc2, | ||
| 1945 | 0x29, 0x47, 0x64, 0xa3, 0x59, 0xa7, 0x45, 0xdb, | ||
| 1946 | 0xd7, 0x51, 0x95, 0xba, 0xa4, 0x33, 0x46, 0x6e, | ||
| 1947 | 0x4f, 0x86, 0xed, 0x1e, 0xea, 0xf6, 0xf1, 0x3c, | ||
| 1948 | 0xf1, 0x96, 0x94, 0x1f, 0x9c, 0x04, 0x2a, 0x43, | ||
| 1949 | 0x27, | ||
| 1950 | }, | ||
| 1466 | }, | 1951 | }, |
| 1467 | { | 1952 | { |
| 1468 | .name = "brainpoolP192t1", | 1953 | .name = "brainpoolP192t1", |
| @@ -1482,6 +1967,23 @@ static const struct ec_private_key { | |||
| 1482 | 0x6d, 0x1b, 0x15, 0xd7, 0x4b, 0x79, 0xc1, 0xb5, | 1967 | 0x6d, 0x1b, 0x15, 0xd7, 0x4b, 0x79, 0xc1, 0xb5, |
| 1483 | 0x28, 0xc7, | 1968 | 0x28, 0xc7, |
| 1484 | }, | 1969 | }, |
| 1970 | .hex = "048D2B0CEEEA4B63" | ||
| 1971 | "AF6336B23A554085" | ||
| 1972 | "3395C11D37D3FC5C" | ||
| 1973 | "258A0AC5EC7FE07F" | ||
| 1974 | "085EDF89E6EE216D" | ||
| 1975 | "1B15D74B79C1B528" | ||
| 1976 | "C7", | ||
| 1977 | .oct_len = 49, | ||
| 1978 | .oct = { | ||
| 1979 | 0x04, 0x8d, 0x2b, 0x0c, 0xee, 0xea, 0x4b, 0x63, | ||
| 1980 | 0xaf, 0x63, 0x36, 0xb2, 0x3a, 0x55, 0x40, 0x85, | ||
| 1981 | 0x33, 0x95, 0xc1, 0x1d, 0x37, 0xd3, 0xfc, 0x5c, | ||
| 1982 | 0x25, 0x8a, 0x0a, 0xc5, 0xec, 0x7f, 0xe0, 0x7f, | ||
| 1983 | 0x08, 0x5e, 0xdf, 0x89, 0xe6, 0xee, 0x21, 0x6d, | ||
| 1984 | 0x1b, 0x15, 0xd7, 0x4b, 0x79, 0xc1, 0xb5, 0x28, | ||
| 1985 | 0xc7, | ||
| 1986 | }, | ||
| 1485 | }, | 1987 | }, |
| 1486 | { | 1988 | { |
| 1487 | .name = "brainpoolP224r1", | 1989 | .name = "brainpoolP224r1", |
| @@ -1502,6 +2004,25 @@ static const struct ec_private_key { | |||
| 1502 | 0x71, 0x50, 0x6b, 0xed, 0xe3, 0xc5, 0xd4, 0xe9, | 2004 | 0x71, 0x50, 0x6b, 0xed, 0xe3, 0xc5, 0xd4, 0xe9, |
| 1503 | 0x1b, 0x59, 0x92, 0xa4, 0xa8, 0x81, | 2005 | 0x1b, 0x59, 0x92, 0xa4, 0xa8, 0x81, |
| 1504 | }, | 2006 | }, |
| 2007 | .hex = "04308820B3472E40" | ||
| 2008 | "1E68AEE10058A24B" | ||
| 2009 | "B9ACF75DC1EEF5FB" | ||
| 2010 | "DD34AEBE3C93DDC2" | ||
| 2011 | "D83A9A726541ACCC" | ||
| 2012 | "256ACF71506BEDE3" | ||
| 2013 | "C5D4E91B5992A4A8" | ||
| 2014 | "81", | ||
| 2015 | .oct_len = 57, | ||
| 2016 | .oct = { | ||
| 2017 | 0x04, 0x30, 0x88, 0x20, 0xb3, 0x47, 0x2e, 0x40, | ||
| 2018 | 0x1e, 0x68, 0xae, 0xe1, 0x00, 0x58, 0xa2, 0x4b, | ||
| 2019 | 0xb9, 0xac, 0xf7, 0x5d, 0xc1, 0xee, 0xf5, 0xfb, | ||
| 2020 | 0xdd, 0x34, 0xae, 0xbe, 0x3c, 0x93, 0xdd, 0xc2, | ||
| 2021 | 0xd8, 0x3a, 0x9a, 0x72, 0x65, 0x41, 0xac, 0xcc, | ||
| 2022 | 0x25, 0x6a, 0xcf, 0x71, 0x50, 0x6b, 0xed, 0xe3, | ||
| 2023 | 0xc5, 0xd4, 0xe9, 0x1b, 0x59, 0x92, 0xa4, 0xa8, | ||
| 2024 | 0x81, | ||
| 2025 | }, | ||
| 1505 | }, | 2026 | }, |
| 1506 | { | 2027 | { |
| 1507 | .name = "brainpoolP224t1", | 2028 | .name = "brainpoolP224t1", |
| @@ -1522,6 +2043,25 @@ static const struct ec_private_key { | |||
| 1522 | 0x59, 0xb2, 0xfd, 0xe7, 0xdf, 0x41, 0xff, 0x4f, | 2043 | 0x59, 0xb2, 0xfd, 0xe7, 0xdf, 0x41, 0xff, 0x4f, |
| 1523 | 0x36, 0xe9, 0x56, 0xe9, 0x07, 0xc2, | 2044 | 0x36, 0xe9, 0x56, 0xe9, 0x07, 0xc2, |
| 1524 | }, | 2045 | }, |
| 2046 | .hex = "040BBF95EA8BA824" | ||
| 2047 | "94685469D955A536" | ||
| 2048 | "34F14A45F99F667B" | ||
| 2049 | "5DC98B0A7A5DEF25" | ||
| 2050 | "9AA386E1981B5BE3" | ||
| 2051 | "E355A059B2FDE7DF" | ||
| 2052 | "41FF4F36E956E907" | ||
| 2053 | "C2", | ||
| 2054 | .oct_len = 57, | ||
| 2055 | .oct = { | ||
| 2056 | 0x04, 0x0b, 0xbf, 0x95, 0xea, 0x8b, 0xa8, 0x24, | ||
| 2057 | 0x94, 0x68, 0x54, 0x69, 0xd9, 0x55, 0xa5, 0x36, | ||
| 2058 | 0x34, 0xf1, 0x4a, 0x45, 0xf9, 0x9f, 0x66, 0x7b, | ||
| 2059 | 0x5d, 0xc9, 0x8b, 0x0a, 0x7a, 0x5d, 0xef, 0x25, | ||
| 2060 | 0x9a, 0xa3, 0x86, 0xe1, 0x98, 0x1b, 0x5b, 0xe3, | ||
| 2061 | 0xe3, 0x55, 0xa0, 0x59, 0xb2, 0xfd, 0xe7, 0xdf, | ||
| 2062 | 0x41, 0xff, 0x4f, 0x36, 0xe9, 0x56, 0xe9, 0x07, | ||
| 2063 | 0xc2, | ||
| 2064 | }, | ||
| 1525 | }, | 2065 | }, |
| 1526 | { | 2066 | { |
| 1527 | .name = "brainpoolP256r1", | 2067 | .name = "brainpoolP256r1", |
| @@ -1544,6 +2084,27 @@ static const struct ec_private_key { | |||
| 1544 | 0xcf, 0xe3, 0x38, 0xa0, 0xb7, 0x95, 0x85, 0x26, | 2084 | 0xcf, 0xe3, 0x38, 0xa0, 0xb7, 0x95, 0x85, 0x26, |
| 1545 | 0xf5, 0xb2, | 2085 | 0xf5, 0xb2, |
| 1546 | }, | 2086 | }, |
| 2087 | .hex = "0408D777F510A983" | ||
| 2088 | "D9DFFD40E442CED8" | ||
| 2089 | "3B9BEFE64D4ECA2D" | ||
| 2090 | "EAE669FED3A93F30" | ||
| 2091 | "FA7EA7149D3777C5" | ||
| 2092 | "CC1E32F6CE17911B" | ||
| 2093 | "EBA38FCE7055C1CF" | ||
| 2094 | "E338A0B7958526F5" | ||
| 2095 | "B2", | ||
| 2096 | .oct_len = 65, | ||
| 2097 | .oct = { | ||
| 2098 | 0x04, 0x08, 0xd7, 0x77, 0xf5, 0x10, 0xa9, 0x83, | ||
| 2099 | 0xd9, 0xdf, 0xfd, 0x40, 0xe4, 0x42, 0xce, 0xd8, | ||
| 2100 | 0x3b, 0x9b, 0xef, 0xe6, 0x4d, 0x4e, 0xca, 0x2d, | ||
| 2101 | 0xea, 0xe6, 0x69, 0xfe, 0xd3, 0xa9, 0x3f, 0x30, | ||
| 2102 | 0xfa, 0x7e, 0xa7, 0x14, 0x9d, 0x37, 0x77, 0xc5, | ||
| 2103 | 0xcc, 0x1e, 0x32, 0xf6, 0xce, 0x17, 0x91, 0x1b, | ||
| 2104 | 0xeb, 0xa3, 0x8f, 0xce, 0x70, 0x55, 0xc1, 0xcf, | ||
| 2105 | 0xe3, 0x38, 0xa0, 0xb7, 0x95, 0x85, 0x26, 0xf5, | ||
| 2106 | 0xb2, | ||
| 2107 | }, | ||
| 1547 | }, | 2108 | }, |
| 1548 | { | 2109 | { |
| 1549 | .name = "brainpoolP256t1", | 2110 | .name = "brainpoolP256t1", |
| @@ -1566,6 +2127,27 @@ static const struct ec_private_key { | |||
| 1566 | 0xbd, 0x1e, 0x53, 0x8d, 0x26, 0x96, 0xab, 0x44, | 2127 | 0xbd, 0x1e, 0x53, 0x8d, 0x26, 0x96, 0xab, 0x44, |
| 1567 | 0x6b, 0x84, | 2128 | 0x6b, 0x84, |
| 1568 | }, | 2129 | }, |
| 2130 | .hex = "047B1D55290B0A0D" | ||
| 2131 | "027A1D7253C184B9" | ||
| 2132 | "9000B945E5A5D4EE" | ||
| 2133 | "D69A1DB03A91A895" | ||
| 2134 | "565832CBF32895A6" | ||
| 2135 | "8246E60A3300D10C" | ||
| 2136 | "61AC1EA0B0AD3ABD" | ||
| 2137 | "1E538D2696AB446B" | ||
| 2138 | "84", | ||
| 2139 | .oct_len = 65, | ||
| 2140 | .oct = { | ||
| 2141 | 0x04, 0x7b, 0x1d, 0x55, 0x29, 0x0b, 0x0a, 0x0d, | ||
| 2142 | 0x02, 0x7a, 0x1d, 0x72, 0x53, 0xc1, 0x84, 0xb9, | ||
| 2143 | 0x90, 0x00, 0xb9, 0x45, 0xe5, 0xa5, 0xd4, 0xee, | ||
| 2144 | 0xd6, 0x9a, 0x1d, 0xb0, 0x3a, 0x91, 0xa8, 0x95, | ||
| 2145 | 0x56, 0x58, 0x32, 0xcb, 0xf3, 0x28, 0x95, 0xa6, | ||
| 2146 | 0x82, 0x46, 0xe6, 0x0a, 0x33, 0x00, 0xd1, 0x0c, | ||
| 2147 | 0x61, 0xac, 0x1e, 0xa0, 0xb0, 0xad, 0x3a, 0xbd, | ||
| 2148 | 0x1e, 0x53, 0x8d, 0x26, 0x96, 0xab, 0x44, 0x6b, | ||
| 2149 | 0x84, | ||
| 2150 | }, | ||
| 1569 | }, | 2151 | }, |
| 1570 | { | 2152 | { |
| 1571 | .name = "brainpoolP320r1", | 2153 | .name = "brainpoolP320r1", |
| @@ -1591,6 +2173,31 @@ static const struct ec_private_key { | |||
| 1591 | 0x54, 0xcc, 0x11, 0x2a, 0x84, 0xc6, 0x79, 0x10, | 2173 | 0x54, 0xcc, 0x11, 0x2a, 0x84, 0xc6, 0x79, 0x10, |
| 1592 | 0x7b, 0x20, 0x26, | 2174 | 0x7b, 0x20, 0x26, |
| 1593 | }, | 2175 | }, |
| 2176 | .hex = "04A33785E2F25FA1" | ||
| 2177 | "71A675FEA1EA6635" | ||
| 2178 | "7A53712483CDC95D" | ||
| 2179 | "3F43C4976DCC0CED" | ||
| 2180 | "9A51517D1ED0EAD2" | ||
| 2181 | "8C36B09362EB26DA" | ||
| 2182 | "E1EFC71AFA0CEA84" | ||
| 2183 | "7AF1502CEEF1B3CC" | ||
| 2184 | "B7A0985DDEC254CC" | ||
| 2185 | "112A84C679107B20" | ||
| 2186 | "26", | ||
| 2187 | .oct_len = 81, | ||
| 2188 | .oct = { | ||
| 2189 | 0x04, 0xa3, 0x37, 0x85, 0xe2, 0xf2, 0x5f, 0xa1, | ||
| 2190 | 0x71, 0xa6, 0x75, 0xfe, 0xa1, 0xea, 0x66, 0x35, | ||
| 2191 | 0x7a, 0x53, 0x71, 0x24, 0x83, 0xcd, 0xc9, 0x5d, | ||
| 2192 | 0x3f, 0x43, 0xc4, 0x97, 0x6d, 0xcc, 0x0c, 0xed, | ||
| 2193 | 0x9a, 0x51, 0x51, 0x7d, 0x1e, 0xd0, 0xea, 0xd2, | ||
| 2194 | 0x8c, 0x36, 0xb0, 0x93, 0x62, 0xeb, 0x26, 0xda, | ||
| 2195 | 0xe1, 0xef, 0xc7, 0x1a, 0xfa, 0x0c, 0xea, 0x84, | ||
| 2196 | 0x7a, 0xf1, 0x50, 0x2c, 0xee, 0xf1, 0xb3, 0xcc, | ||
| 2197 | 0xb7, 0xa0, 0x98, 0x5d, 0xde, 0xc2, 0x54, 0xcc, | ||
| 2198 | 0x11, 0x2a, 0x84, 0xc6, 0x79, 0x10, 0x7b, 0x20, | ||
| 2199 | 0x26, | ||
| 2200 | }, | ||
| 1594 | }, | 2201 | }, |
| 1595 | { | 2202 | { |
| 1596 | .name = "brainpoolP320t1", | 2203 | .name = "brainpoolP320t1", |
| @@ -1616,6 +2223,31 @@ static const struct ec_private_key { | |||
| 1616 | 0x03, 0xbe, 0xa5, 0x05, 0x88, 0x16, 0x47, 0x9f, | 2223 | 0x03, 0xbe, 0xa5, 0x05, 0x88, 0x16, 0x47, 0x9f, |
| 1617 | 0xe5, 0x3b, 0xb8, | 2224 | 0xe5, 0x3b, 0xb8, |
| 1618 | }, | 2225 | }, |
| 2226 | .hex = "043D8C4CBB303FA0" | ||
| 2227 | "846143502370E370" | ||
| 2228 | "B64D89C895A009AE" | ||
| 2229 | "FC559C2FEF16C072" | ||
| 2230 | "3C3E07A1BBD88AFA" | ||
| 2231 | "AF9FAF077C154D75" | ||
| 2232 | "6BF525655BC47859" | ||
| 2233 | "22E5925CC28FDC97" | ||
| 2234 | "5982C50D247003BE" | ||
| 2235 | "A5058816479FE53B" | ||
| 2236 | "B8", | ||
| 2237 | .oct_len = 81, | ||
| 2238 | .oct = { | ||
| 2239 | 0x04, 0x3d, 0x8c, 0x4c, 0xbb, 0x30, 0x3f, 0xa0, | ||
| 2240 | 0x84, 0x61, 0x43, 0x50, 0x23, 0x70, 0xe3, 0x70, | ||
| 2241 | 0xb6, 0x4d, 0x89, 0xc8, 0x95, 0xa0, 0x09, 0xae, | ||
| 2242 | 0xfc, 0x55, 0x9c, 0x2f, 0xef, 0x16, 0xc0, 0x72, | ||
| 2243 | 0x3c, 0x3e, 0x07, 0xa1, 0xbb, 0xd8, 0x8a, 0xfa, | ||
| 2244 | 0xaf, 0x9f, 0xaf, 0x07, 0x7c, 0x15, 0x4d, 0x75, | ||
| 2245 | 0x6b, 0xf5, 0x25, 0x65, 0x5b, 0xc4, 0x78, 0x59, | ||
| 2246 | 0x22, 0xe5, 0x92, 0x5c, 0xc2, 0x8f, 0xdc, 0x97, | ||
| 2247 | 0x59, 0x82, 0xc5, 0x0d, 0x24, 0x70, 0x03, 0xbe, | ||
| 2248 | 0xa5, 0x05, 0x88, 0x16, 0x47, 0x9f, 0xe5, 0x3b, | ||
| 2249 | 0xb8, | ||
| 2250 | }, | ||
| 1619 | }, | 2251 | }, |
| 1620 | { | 2252 | { |
| 1621 | .name = "brainpoolP384r1", | 2253 | .name = "brainpoolP384r1", |
| @@ -1644,6 +2276,35 @@ static const struct ec_private_key { | |||
| 1644 | 0x92, 0x00, 0xaf, 0x3d, 0xe8, 0x5a, 0x7d, 0x7b, | 2276 | 0x92, 0x00, 0xaf, 0x3d, 0xe8, 0x5a, 0x7d, 0x7b, |
| 1645 | 0x63, 0xc2, 0xde, | 2277 | 0x63, 0xc2, 0xde, |
| 1646 | }, | 2278 | }, |
| 2279 | .hex = "044F79E0E7F95733" | ||
| 2280 | "F99D6A5C006EB8BC" | ||
| 2281 | "E64F701D73025C87" | ||
| 2282 | "A188EAE3575C1A27" | ||
| 2283 | "40CFCC6F7E6DFD96" | ||
| 2284 | "0BAAC50292106D7E" | ||
| 2285 | "D517DAAB529BCD87" | ||
| 2286 | "08642A6103C9FE97" | ||
| 2287 | "79F05C8472505395" | ||
| 2288 | "567A97CE36132378" | ||
| 2289 | "3182360745AD9200" | ||
| 2290 | "AF3DE85A7D7B63C2" | ||
| 2291 | "DE", | ||
| 2292 | .oct_len = 97, | ||
| 2293 | .oct = { | ||
| 2294 | 0x04, 0x4f, 0x79, 0xe0, 0xe7, 0xf9, 0x57, 0x33, | ||
| 2295 | 0xf9, 0x9d, 0x6a, 0x5c, 0x00, 0x6e, 0xb8, 0xbc, | ||
| 2296 | 0xe6, 0x4f, 0x70, 0x1d, 0x73, 0x02, 0x5c, 0x87, | ||
| 2297 | 0xa1, 0x88, 0xea, 0xe3, 0x57, 0x5c, 0x1a, 0x27, | ||
| 2298 | 0x40, 0xcf, 0xcc, 0x6f, 0x7e, 0x6d, 0xfd, 0x96, | ||
| 2299 | 0x0b, 0xaa, 0xc5, 0x02, 0x92, 0x10, 0x6d, 0x7e, | ||
| 2300 | 0xd5, 0x17, 0xda, 0xab, 0x52, 0x9b, 0xcd, 0x87, | ||
| 2301 | 0x08, 0x64, 0x2a, 0x61, 0x03, 0xc9, 0xfe, 0x97, | ||
| 2302 | 0x79, 0xf0, 0x5c, 0x84, 0x72, 0x50, 0x53, 0x95, | ||
| 2303 | 0x56, 0x7a, 0x97, 0xce, 0x36, 0x13, 0x23, 0x78, | ||
| 2304 | 0x31, 0x82, 0x36, 0x07, 0x45, 0xad, 0x92, 0x00, | ||
| 2305 | 0xaf, 0x3d, 0xe8, 0x5a, 0x7d, 0x7b, 0x63, 0xc2, | ||
| 2306 | 0xde, | ||
| 2307 | }, | ||
| 1647 | }, | 2308 | }, |
| 1648 | { | 2309 | { |
| 1649 | .name = "brainpoolP384t1", | 2310 | .name = "brainpoolP384t1", |
| @@ -1672,6 +2333,35 @@ static const struct ec_private_key { | |||
| 1672 | 0x88, 0x76, 0x72, 0x9a, 0xb4, 0xea, 0xc0, 0x48, | 2333 | 0x88, 0x76, 0x72, 0x9a, 0xb4, 0xea, 0xc0, 0x48, |
| 1673 | 0x01, 0x5d, 0x8e, | 2334 | 0x01, 0x5d, 0x8e, |
| 1674 | }, | 2335 | }, |
| 2336 | .hex = "0485DB574B71B165" | ||
| 2337 | "9351837CB324076B" | ||
| 2338 | "7B5733733AA61486" | ||
| 2339 | "83A88881F290DF93" | ||
| 2340 | "4F6741EFCB3514AD" | ||
| 2341 | "4C670BDB86035E6D" | ||
| 2342 | "5E7E4B0F739E7350" | ||
| 2343 | "8629097C38FCBEAF" | ||
| 2344 | "599C69DFB460143E" | ||
| 2345 | "B21A728657CB6B42" | ||
| 2346 | "20677FBCA8578876" | ||
| 2347 | "729AB4EAC048015D" | ||
| 2348 | "8E", | ||
| 2349 | .oct_len = 97, | ||
| 2350 | .oct = { | ||
| 2351 | 0x04, 0x85, 0xdb, 0x57, 0x4b, 0x71, 0xb1, 0x65, | ||
| 2352 | 0x93, 0x51, 0x83, 0x7c, 0xb3, 0x24, 0x07, 0x6b, | ||
| 2353 | 0x7b, 0x57, 0x33, 0x73, 0x3a, 0xa6, 0x14, 0x86, | ||
| 2354 | 0x83, 0xa8, 0x88, 0x81, 0xf2, 0x90, 0xdf, 0x93, | ||
| 2355 | 0x4f, 0x67, 0x41, 0xef, 0xcb, 0x35, 0x14, 0xad, | ||
| 2356 | 0x4c, 0x67, 0x0b, 0xdb, 0x86, 0x03, 0x5e, 0x6d, | ||
| 2357 | 0x5e, 0x7e, 0x4b, 0x0f, 0x73, 0x9e, 0x73, 0x50, | ||
| 2358 | 0x86, 0x29, 0x09, 0x7c, 0x38, 0xfc, 0xbe, 0xaf, | ||
| 2359 | 0x59, 0x9c, 0x69, 0xdf, 0xb4, 0x60, 0x14, 0x3e, | ||
| 2360 | 0xb2, 0x1a, 0x72, 0x86, 0x57, 0xcb, 0x6b, 0x42, | ||
| 2361 | 0x20, 0x67, 0x7f, 0xbc, 0xa8, 0x57, 0x88, 0x76, | ||
| 2362 | 0x72, 0x9a, 0xb4, 0xea, 0xc0, 0x48, 0x01, 0x5d, | ||
| 2363 | 0x8e, | ||
| 2364 | }, | ||
| 1675 | }, | 2365 | }, |
| 1676 | { | 2366 | { |
| 1677 | .name = "brainpoolP512r1", | 2367 | .name = "brainpoolP512r1", |
| @@ -1706,6 +2396,43 @@ static const struct ec_private_key { | |||
| 1706 | 0x68, 0xe7, 0x19, 0xc1, 0x7d, 0xb6, 0x9d, 0xb9, | 2396 | 0x68, 0xe7, 0x19, 0xc1, 0x7d, 0xb6, 0x9d, 0xb9, |
| 1707 | 0xc6, 0xc2, 0x1b, 0x48, 0x7f, | 2397 | 0xc6, 0xc2, 0x1b, 0x48, 0x7f, |
| 1708 | }, | 2398 | }, |
| 2399 | .hex = "041E99EA54B61A4F" | ||
| 2400 | "4425F4F8BE337CD1" | ||
| 2401 | "6235F5D18E9FAEA8" | ||
| 2402 | "8F6D61272D2AB196" | ||
| 2403 | "486DB263059FECA1" | ||
| 2404 | "CD6545C8CDF1A4BA" | ||
| 2405 | "20B7E4C7923C1F16" | ||
| 2406 | "F45B75E42A2E4472" | ||
| 2407 | "6563C3785450CB50" | ||
| 2408 | "E0BEE76F2ADC247B" | ||
| 2409 | "F84BA8E21B27002D" | ||
| 2410 | "E899DC5FA443A8F7" | ||
| 2411 | "B155EAD702090897" | ||
| 2412 | "5F211E16A0D827E4" | ||
| 2413 | "5E3AA55168E719C1" | ||
| 2414 | "7DB69DB9C6C21B48" | ||
| 2415 | "7F", | ||
| 2416 | .oct_len = 129, | ||
| 2417 | .oct = { | ||
| 2418 | 0x04, 0x1e, 0x99, 0xea, 0x54, 0xb6, 0x1a, 0x4f, | ||
| 2419 | 0x44, 0x25, 0xf4, 0xf8, 0xbe, 0x33, 0x7c, 0xd1, | ||
| 2420 | 0x62, 0x35, 0xf5, 0xd1, 0x8e, 0x9f, 0xae, 0xa8, | ||
| 2421 | 0x8f, 0x6d, 0x61, 0x27, 0x2d, 0x2a, 0xb1, 0x96, | ||
| 2422 | 0x48, 0x6d, 0xb2, 0x63, 0x05, 0x9f, 0xec, 0xa1, | ||
| 2423 | 0xcd, 0x65, 0x45, 0xc8, 0xcd, 0xf1, 0xa4, 0xba, | ||
| 2424 | 0x20, 0xb7, 0xe4, 0xc7, 0x92, 0x3c, 0x1f, 0x16, | ||
| 2425 | 0xf4, 0x5b, 0x75, 0xe4, 0x2a, 0x2e, 0x44, 0x72, | ||
| 2426 | 0x65, 0x63, 0xc3, 0x78, 0x54, 0x50, 0xcb, 0x50, | ||
| 2427 | 0xe0, 0xbe, 0xe7, 0x6f, 0x2a, 0xdc, 0x24, 0x7b, | ||
| 2428 | 0xf8, 0x4b, 0xa8, 0xe2, 0x1b, 0x27, 0x00, 0x2d, | ||
| 2429 | 0xe8, 0x99, 0xdc, 0x5f, 0xa4, 0x43, 0xa8, 0xf7, | ||
| 2430 | 0xb1, 0x55, 0xea, 0xd7, 0x02, 0x09, 0x08, 0x97, | ||
| 2431 | 0x5f, 0x21, 0x1e, 0x16, 0xa0, 0xd8, 0x27, 0xe4, | ||
| 2432 | 0x5e, 0x3a, 0xa5, 0x51, 0x68, 0xe7, 0x19, 0xc1, | ||
| 2433 | 0x7d, 0xb6, 0x9d, 0xb9, 0xc6, 0xc2, 0x1b, 0x48, | ||
| 2434 | 0x7f, | ||
| 2435 | }, | ||
| 1709 | }, | 2436 | }, |
| 1710 | { | 2437 | { |
| 1711 | .name = "brainpoolP512t1", | 2438 | .name = "brainpoolP512t1", |
| @@ -1740,6 +2467,43 @@ static const struct ec_private_key { | |||
| 1740 | 0x68, 0x0f, 0x3f, 0x34, 0xee, 0x90, 0x4e, 0xab, | 2467 | 0x68, 0x0f, 0x3f, 0x34, 0xee, 0x90, 0x4e, 0xab, |
| 1741 | 0x80, 0x7c, 0x41, 0xd7, 0x8f, | 2468 | 0x80, 0x7c, 0x41, 0xd7, 0x8f, |
| 1742 | }, | 2469 | }, |
| 2470 | .hex = "045B2B478361EA80" | ||
| 2471 | "148506E703BD2404" | ||
| 2472 | "475D334EDE0C9209" | ||
| 2473 | "5477530E333073C0" | ||
| 2474 | "C06AF2B5B5D4D302" | ||
| 2475 | "2F20E288B2074A9F" | ||
| 2476 | "90BFBAB53DC45B65" | ||
| 2477 | "76B5E5A17D633957" | ||
| 2478 | "AA1D1F9952435D0B" | ||
| 2479 | "58A6511E6F7B9E2F" | ||
| 2480 | "455A2D6FAA2BFCE1" | ||
| 2481 | "9F78117080F8FE51" | ||
| 2482 | "4512BF79D8AF0559" | ||
| 2483 | "1401819C125C8D4D" | ||
| 2484 | "EDC74461680F3F34" | ||
| 2485 | "EE904EAB807C41D7" | ||
| 2486 | "8F", | ||
| 2487 | .oct_len = 129, | ||
| 2488 | .oct = { | ||
| 2489 | 0x04, 0x5b, 0x2b, 0x47, 0x83, 0x61, 0xea, 0x80, | ||
| 2490 | 0x14, 0x85, 0x06, 0xe7, 0x03, 0xbd, 0x24, 0x04, | ||
| 2491 | 0x47, 0x5d, 0x33, 0x4e, 0xde, 0x0c, 0x92, 0x09, | ||
| 2492 | 0x54, 0x77, 0x53, 0x0e, 0x33, 0x30, 0x73, 0xc0, | ||
| 2493 | 0xc0, 0x6a, 0xf2, 0xb5, 0xb5, 0xd4, 0xd3, 0x02, | ||
| 2494 | 0x2f, 0x20, 0xe2, 0x88, 0xb2, 0x07, 0x4a, 0x9f, | ||
| 2495 | 0x90, 0xbf, 0xba, 0xb5, 0x3d, 0xc4, 0x5b, 0x65, | ||
| 2496 | 0x76, 0xb5, 0xe5, 0xa1, 0x7d, 0x63, 0x39, 0x57, | ||
| 2497 | 0xaa, 0x1d, 0x1f, 0x99, 0x52, 0x43, 0x5d, 0x0b, | ||
| 2498 | 0x58, 0xa6, 0x51, 0x1e, 0x6f, 0x7b, 0x9e, 0x2f, | ||
| 2499 | 0x45, 0x5a, 0x2d, 0x6f, 0xaa, 0x2b, 0xfc, 0xe1, | ||
| 2500 | 0x9f, 0x78, 0x11, 0x70, 0x80, 0xf8, 0xfe, 0x51, | ||
| 2501 | 0x45, 0x12, 0xbf, 0x79, 0xd8, 0xaf, 0x05, 0x59, | ||
| 2502 | 0x14, 0x01, 0x81, 0x9c, 0x12, 0x5c, 0x8d, 0x4d, | ||
| 2503 | 0xed, 0xc7, 0x44, 0x61, 0x68, 0x0f, 0x3f, 0x34, | ||
| 2504 | 0xee, 0x90, 0x4e, 0xab, 0x80, 0x7c, 0x41, 0xd7, | ||
| 2505 | 0x8f, | ||
| 2506 | }, | ||
| 1743 | }, | 2507 | }, |
| 1744 | { | 2508 | { |
| 1745 | .name = "FRP256v1", | 2509 | .name = "FRP256v1", |
| @@ -1762,6 +2526,27 @@ static const struct ec_private_key { | |||
| 1762 | 0xa7, 0xe0, 0x31, 0x1c, 0x4d, 0x1c, 0xa8, 0x2a, | 2526 | 0xa7, 0xe0, 0x31, 0x1c, 0x4d, 0x1c, 0xa8, 0x2a, |
| 1763 | 0x51, 0x11, 0x24, | 2527 | 0x51, 0x11, 0x24, |
| 1764 | }, | 2528 | }, |
| 2529 | .hex = "0417C7AE1BE4C6D6" | ||
| 2530 | "3ACF6B7E43299FDC" | ||
| 2531 | "C2A3905362426EA3" | ||
| 2532 | "A4CAD3F65353D4A6" | ||
| 2533 | "1FA8031F6DD47577" | ||
| 2534 | "23F792A47C5A4CC7" | ||
| 2535 | "C6965462949BA7E0" | ||
| 2536 | "311C4D1CA82A5111" | ||
| 2537 | "24", | ||
| 2538 | .oct_len = 65, | ||
| 2539 | .oct = { | ||
| 2540 | 0x04, 0x17, 0xc7, 0xae, 0x1b, 0xe4, 0xc6, 0xd6, | ||
| 2541 | 0x3a, 0xcf, 0x6b, 0x7e, 0x43, 0x29, 0x9f, 0xdc, | ||
| 2542 | 0xc2, 0xa3, 0x90, 0x53, 0x62, 0x42, 0x6e, 0xa3, | ||
| 2543 | 0xa4, 0xca, 0xd3, 0xf6, 0x53, 0x53, 0xd4, 0xa6, | ||
| 2544 | 0x1f, 0xa8, 0x03, 0x1f, 0x6d, 0xd4, 0x75, 0x77, | ||
| 2545 | 0x23, 0xf7, 0x92, 0xa4, 0x7c, 0x5a, 0x4c, 0xc7, | ||
| 2546 | 0xc6, 0x96, 0x54, 0x62, 0x94, 0x9b, 0xa7, 0xe0, | ||
| 2547 | 0x31, 0x1c, 0x4d, 0x1c, 0xa8, 0x2a, 0x51, 0x11, | ||
| 2548 | 0x24, | ||
| 2549 | }, | ||
| 1765 | }, | 2550 | }, |
| 1766 | }; | 2551 | }; |
| 1767 | 2552 | ||
| @@ -1771,10 +2556,15 @@ static int | |||
| 1771 | ec_group_check_private_key(const struct ec_private_key *key) | 2556 | ec_group_check_private_key(const struct ec_private_key *key) |
| 1772 | { | 2557 | { |
| 1773 | EC_KEY *ec_key = NULL, *ec_pub_key = NULL; | 2558 | EC_KEY *ec_key = NULL, *ec_pub_key = NULL; |
| 2559 | const EC_GROUP *group; | ||
| 2560 | const EC_POINT *ec_public_point; | ||
| 2561 | EC_POINT *point = NULL; | ||
| 2562 | BIGNUM *hex_bn = NULL, *point_bn = NULL; | ||
| 1774 | const unsigned char *p; | 2563 | const unsigned char *p; |
| 1775 | unsigned int flags; | 2564 | unsigned int flags; |
| 1776 | unsigned char *der = NULL, *ostr = NULL; | 2565 | unsigned char *der = NULL, *ostr = NULL; |
| 1777 | int der_len = 0, ostr_len = 0; | 2566 | char *hex = NULL; |
| 2567 | int der_len = 0, hex_len = 0, ostr_len = 0; | ||
| 1778 | uint8_t form; | 2568 | uint8_t form; |
| 1779 | int rv; | 2569 | int rv; |
| 1780 | int failed = 1; | 2570 | int failed = 1; |
| @@ -1790,6 +2580,11 @@ ec_group_check_private_key(const struct ec_private_key *key) | |||
| 1790 | flags, key->name); | 2580 | flags, key->name); |
| 1791 | goto err; | 2581 | goto err; |
| 1792 | } | 2582 | } |
| 2583 | if ((form = EC_KEY_get_conv_form(ec_key)) != POINT_CONVERSION_UNCOMPRESSED) { | ||
| 2584 | fprintf(stderr, "FAIL: got conversion form %02x, want %02x\n", | ||
| 2585 | form, POINT_CONVERSION_UNCOMPRESSED); | ||
| 2586 | goto err; | ||
| 2587 | } | ||
| 1793 | 2588 | ||
| 1794 | ERR_clear_error(); | 2589 | ERR_clear_error(); |
| 1795 | if (!EC_KEY_check_key(ec_key)) { | 2590 | if (!EC_KEY_check_key(ec_key)) { |
| @@ -1811,6 +2606,92 @@ ec_group_check_private_key(const struct ec_private_key *key) | |||
| 1811 | der = NULL; | 2606 | der = NULL; |
| 1812 | 2607 | ||
| 1813 | /* | 2608 | /* |
| 2609 | * Check the outputs of EC_POINT_point2hex() and i2o_ECPublicKey(). | ||
| 2610 | */ | ||
| 2611 | |||
| 2612 | if ((group = EC_KEY_get0_group(ec_key)) == NULL) { | ||
| 2613 | fprintf(stderr, "FAIL: EC_KEY_get0_group() for %s\n", key->name); | ||
| 2614 | goto err; | ||
| 2615 | } | ||
| 2616 | if ((ec_public_point = EC_KEY_get0_public_key(ec_key)) == NULL) { | ||
| 2617 | fprintf(stderr, "FAIL: EC_KEY_get0_public_key() for %s\n", key->name); | ||
| 2618 | goto err; | ||
| 2619 | } | ||
| 2620 | |||
| 2621 | if ((hex = EC_POINT_point2hex(group, ec_public_point, | ||
| 2622 | POINT_CONVERSION_UNCOMPRESSED, NULL)) == NULL) { | ||
| 2623 | fprintf(stderr, "FAIL: EC_POINT_point2hex() for %s\n", key->name); | ||
| 2624 | goto err; | ||
| 2625 | } | ||
| 2626 | |||
| 2627 | if ((hex_len = strlen(hex)) != 2 * key->oct_len) { | ||
| 2628 | fprintf(stderr, "FAIL: hex_len: %d, oct_len %d for %s\n", | ||
| 2629 | hex_len, key->oct_len, key->name); | ||
| 2630 | goto err; | ||
| 2631 | } | ||
| 2632 | |||
| 2633 | freezero(ostr, ostr_len); | ||
| 2634 | ostr = NULL; | ||
| 2635 | if ((ostr_len = i2o_ECPublicKey(ec_key, &ostr)) <= 0) { | ||
| 2636 | fprintf(stderr, "FAIL: i2o_ECPublicKey for %s\n", key->name); | ||
| 2637 | goto err; | ||
| 2638 | } | ||
| 2639 | |||
| 2640 | if (compare_data(key->name, ostr, ostr_len, key->oct, key->oct_len) == -1) { | ||
| 2641 | fprintf(stderr, "FAIL: i2o_ECPublicKey comparison for %s\n", | ||
| 2642 | key->name); | ||
| 2643 | goto err; | ||
| 2644 | } | ||
| 2645 | |||
| 2646 | /* | ||
| 2647 | * Now compare the octet string placed into a bignum with what we got | ||
| 2648 | * from point2hex (what a wonderful idea). | ||
| 2649 | */ | ||
| 2650 | |||
| 2651 | if ((point_bn = BN_new()) == NULL) | ||
| 2652 | err(1, "BN_new()"); | ||
| 2653 | if ((EC_POINT_point2bn(group, ec_public_point, | ||
| 2654 | POINT_CONVERSION_UNCOMPRESSED, point_bn, NULL)) == NULL) { | ||
| 2655 | fprintf(stderr, "FAIL: EC_POINT_point2bn() for %s\n", key->name); | ||
| 2656 | goto err; | ||
| 2657 | } | ||
| 2658 | |||
| 2659 | if ((BN_hex2bn(&hex_bn, hex)) != hex_len) { | ||
| 2660 | fprintf(stderr, "FAIL: BN_hex2bn() for %s\n", key->name); | ||
| 2661 | goto err; | ||
| 2662 | } | ||
| 2663 | |||
| 2664 | if (BN_cmp(hex_bn, point_bn) != 0) { | ||
| 2665 | fprintf(stderr, "FAIL: mismatch between " | ||
| 2666 | "hex point and curve point for %s\n", key->name); | ||
| 2667 | goto err; | ||
| 2668 | } | ||
| 2669 | |||
| 2670 | /* | ||
| 2671 | * And translate back to a point on the curve. | ||
| 2672 | */ | ||
| 2673 | |||
| 2674 | EC_POINT_free(point); | ||
| 2675 | point = NULL; | ||
| 2676 | if ((point = EC_POINT_hex2point(group, hex, NULL, NULL)) == NULL) { | ||
| 2677 | fprintf(stderr, "FAIL: EC_POINT_hex2point() failed for %s\n", | ||
| 2678 | key->name); | ||
| 2679 | goto err; | ||
| 2680 | } | ||
| 2681 | |||
| 2682 | if ((rv = EC_POINT_cmp(group, ec_public_point, point, NULL)) != 0) { | ||
| 2683 | fprintf(stderr, "FAIL: EC_POINT_cmp() returned %d for %s\n", | ||
| 2684 | rv, key->name); | ||
| 2685 | goto err; | ||
| 2686 | } | ||
| 2687 | |||
| 2688 | free(hex); | ||
| 2689 | hex = NULL; | ||
| 2690 | |||
| 2691 | freezero(ostr, ostr_len); | ||
| 2692 | ostr = NULL; | ||
| 2693 | |||
| 2694 | /* | ||
| 1814 | * Round trip the public key through i2o and o2i in compressed form. | 2695 | * Round trip the public key through i2o and o2i in compressed form. |
| 1815 | */ | 2696 | */ |
| 1816 | 2697 | ||
| @@ -1911,6 +2792,12 @@ ec_group_check_private_key(const struct ec_private_key *key) | |||
| 1911 | 2792 | ||
| 1912 | freezero(der, der_len); | 2793 | freezero(der, der_len); |
| 1913 | freezero(ostr, ostr_len); | 2794 | freezero(ostr, ostr_len); |
| 2795 | free(hex); | ||
| 2796 | |||
| 2797 | BN_free(hex_bn); | ||
| 2798 | BN_free(point_bn); | ||
| 2799 | |||
| 2800 | EC_POINT_free(point); | ||
| 1914 | 2801 | ||
| 1915 | return failed; | 2802 | return failed; |
| 1916 | } | 2803 | } |
