diff options
Diffstat (limited to 'src/lib/libcrypto/ec/ec_asn1.c')
-rw-r--r-- | src/lib/libcrypto/ec/ec_asn1.c | 54 |
1 files changed, 51 insertions, 3 deletions
diff --git a/src/lib/libcrypto/ec/ec_asn1.c b/src/lib/libcrypto/ec/ec_asn1.c index c54f6593d5..11d924d30f 100644 --- a/src/lib/libcrypto/ec/ec_asn1.c +++ b/src/lib/libcrypto/ec/ec_asn1.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ec_asn1.c,v 1.10 2014/07/12 16:03:37 miod Exp $ */ | 1 | /* $OpenBSD: ec_asn1.c,v 1.11 2015/02/10 04:01:26 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Written by Nils Larsch for the OpenSSL project. | 3 | * Written by Nils Larsch for the OpenSSL project. |
4 | */ | 4 | */ |
@@ -258,7 +258,31 @@ ASN1_CHOICE(ECPKPARAMETERS) = { | |||
258 | } ASN1_CHOICE_END(ECPKPARAMETERS) | 258 | } ASN1_CHOICE_END(ECPKPARAMETERS) |
259 | DECLARE_ASN1_FUNCTIONS_const(ECPKPARAMETERS) | 259 | DECLARE_ASN1_FUNCTIONS_const(ECPKPARAMETERS) |
260 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(ECPKPARAMETERS, ECPKPARAMETERS) | 260 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(ECPKPARAMETERS, ECPKPARAMETERS) |
261 | IMPLEMENT_ASN1_FUNCTIONS_const(ECPKPARAMETERS) | 261 | |
262 | ECPKPARAMETERS * | ||
263 | d2i_ECPKPARAMETERS(ECPKPARAMETERS **a, const unsigned char **in, long len) | ||
264 | { | ||
265 | return (ECPKPARAMETERS *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
266 | &ECPKPARAMETERS_it); | ||
267 | } | ||
268 | |||
269 | int | ||
270 | i2d_ECPKPARAMETERS(const ECPKPARAMETERS *a, unsigned char **out) | ||
271 | { | ||
272 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ECPKPARAMETERS_it); | ||
273 | } | ||
274 | |||
275 | ECPKPARAMETERS * | ||
276 | ECPKPARAMETERS_new(void) | ||
277 | { | ||
278 | return (ECPKPARAMETERS *)ASN1_item_new(&ECPKPARAMETERS_it); | ||
279 | } | ||
280 | |||
281 | void | ||
282 | ECPKPARAMETERS_free(ECPKPARAMETERS *a) | ||
283 | { | ||
284 | ASN1_item_free((ASN1_VALUE *)a, &ECPKPARAMETERS_it); | ||
285 | } | ||
262 | 286 | ||
263 | ASN1_SEQUENCE(EC_PRIVATEKEY) = { | 287 | ASN1_SEQUENCE(EC_PRIVATEKEY) = { |
264 | ASN1_SIMPLE(EC_PRIVATEKEY, version, LONG), | 288 | ASN1_SIMPLE(EC_PRIVATEKEY, version, LONG), |
@@ -268,7 +292,31 @@ ASN1_SEQUENCE(EC_PRIVATEKEY) = { | |||
268 | } ASN1_SEQUENCE_END(EC_PRIVATEKEY) | 292 | } ASN1_SEQUENCE_END(EC_PRIVATEKEY) |
269 | DECLARE_ASN1_FUNCTIONS_const(EC_PRIVATEKEY) | 293 | DECLARE_ASN1_FUNCTIONS_const(EC_PRIVATEKEY) |
270 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(EC_PRIVATEKEY, EC_PRIVATEKEY) | 294 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(EC_PRIVATEKEY, EC_PRIVATEKEY) |
271 | IMPLEMENT_ASN1_FUNCTIONS_const(EC_PRIVATEKEY) | 295 | |
296 | EC_PRIVATEKEY * | ||
297 | d2i_EC_PRIVATEKEY(EC_PRIVATEKEY **a, const unsigned char **in, long len) | ||
298 | { | ||
299 | return (EC_PRIVATEKEY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
300 | &EC_PRIVATEKEY_it); | ||
301 | } | ||
302 | |||
303 | int | ||
304 | i2d_EC_PRIVATEKEY(const EC_PRIVATEKEY *a, unsigned char **out) | ||
305 | { | ||
306 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &EC_PRIVATEKEY_it); | ||
307 | } | ||
308 | |||
309 | EC_PRIVATEKEY * | ||
310 | EC_PRIVATEKEY_new(void) | ||
311 | { | ||
312 | return (EC_PRIVATEKEY *)ASN1_item_new(&EC_PRIVATEKEY_it); | ||
313 | } | ||
314 | |||
315 | void | ||
316 | EC_PRIVATEKEY_free(EC_PRIVATEKEY *a) | ||
317 | { | ||
318 | ASN1_item_free((ASN1_VALUE *)a, &EC_PRIVATEKEY_it); | ||
319 | } | ||
272 | /* some declarations of internal function */ | 320 | /* some declarations of internal function */ |
273 | 321 | ||
274 | /* ec_asn1_group2field() sets the values in a X9_62_FIELDID object */ | 322 | /* ec_asn1_group2field() sets the values in a X9_62_FIELDID object */ |