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 */ |
