diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/libcrypto/asn1/n_pkey.c | 54 | ||||
| -rw-r--r-- | src/lib/libcrypto/asn1/tasn_typ.c | 106 | ||||
| -rw-r--r-- | src/lib/libcrypto/ec/ec_asn1.c | 54 | ||||
| -rw-r--r-- | src/lib/libcrypto/ecdsa/ecs_asn1.c | 28 | ||||
| -rw-r--r-- | src/lib/libcrypto/ts/ts_asn1.c | 236 | ||||
| -rw-r--r-- | src/lib/libssl/src/crypto/asn1/n_pkey.c | 54 | ||||
| -rw-r--r-- | src/lib/libssl/src/crypto/asn1/tasn_typ.c | 106 | ||||
| -rw-r--r-- | src/lib/libssl/src/crypto/ec/ec_asn1.c | 54 | ||||
| -rw-r--r-- | src/lib/libssl/src/crypto/ecdsa/ecs_asn1.c | 28 | ||||
| -rw-r--r-- | src/lib/libssl/src/crypto/ts/ts_asn1.c | 236 |
10 files changed, 910 insertions, 46 deletions
diff --git a/src/lib/libcrypto/asn1/n_pkey.c b/src/lib/libcrypto/asn1/n_pkey.c index 42431b6e24..198ca97c09 100644 --- a/src/lib/libcrypto/asn1/n_pkey.c +++ b/src/lib/libcrypto/asn1/n_pkey.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: n_pkey.c,v 1.22 2014/07/12 22:26:01 miod Exp $ */ | 1 | /* $OpenBSD: n_pkey.c,v 1.23 2015/02/10 04:01:26 jsing Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -94,7 +94,31 @@ ASN1_BROKEN_SEQUENCE(NETSCAPE_ENCRYPTED_PKEY) = { | |||
| 94 | 94 | ||
| 95 | DECLARE_ASN1_FUNCTIONS_const(NETSCAPE_ENCRYPTED_PKEY) | 95 | DECLARE_ASN1_FUNCTIONS_const(NETSCAPE_ENCRYPTED_PKEY) |
| 96 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(NETSCAPE_ENCRYPTED_PKEY, NETSCAPE_ENCRYPTED_PKEY) | 96 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(NETSCAPE_ENCRYPTED_PKEY, NETSCAPE_ENCRYPTED_PKEY) |
| 97 | IMPLEMENT_ASN1_FUNCTIONS_const(NETSCAPE_ENCRYPTED_PKEY) | 97 | |
| 98 | NETSCAPE_ENCRYPTED_PKEY * | ||
| 99 | d2i_NETSCAPE_ENCRYPTED_PKEY(NETSCAPE_ENCRYPTED_PKEY **a, const unsigned char **in, long len) | ||
| 100 | { | ||
| 101 | return (NETSCAPE_ENCRYPTED_PKEY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 102 | &NETSCAPE_ENCRYPTED_PKEY_it); | ||
| 103 | } | ||
| 104 | |||
| 105 | int | ||
| 106 | i2d_NETSCAPE_ENCRYPTED_PKEY(const NETSCAPE_ENCRYPTED_PKEY *a, unsigned char **out) | ||
| 107 | { | ||
| 108 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_ENCRYPTED_PKEY_it); | ||
| 109 | } | ||
| 110 | |||
| 111 | NETSCAPE_ENCRYPTED_PKEY * | ||
| 112 | NETSCAPE_ENCRYPTED_PKEY_new(void) | ||
| 113 | { | ||
| 114 | return (NETSCAPE_ENCRYPTED_PKEY *)ASN1_item_new(&NETSCAPE_ENCRYPTED_PKEY_it); | ||
| 115 | } | ||
| 116 | |||
| 117 | void | ||
| 118 | NETSCAPE_ENCRYPTED_PKEY_free(NETSCAPE_ENCRYPTED_PKEY *a) | ||
| 119 | { | ||
| 120 | ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_ENCRYPTED_PKEY_it); | ||
| 121 | } | ||
| 98 | 122 | ||
| 99 | ASN1_SEQUENCE(NETSCAPE_PKEY) = { | 123 | ASN1_SEQUENCE(NETSCAPE_PKEY) = { |
| 100 | ASN1_SIMPLE(NETSCAPE_PKEY, version, LONG), | 124 | ASN1_SIMPLE(NETSCAPE_PKEY, version, LONG), |
| @@ -104,7 +128,31 @@ ASN1_SEQUENCE(NETSCAPE_PKEY) = { | |||
| 104 | 128 | ||
| 105 | DECLARE_ASN1_FUNCTIONS_const(NETSCAPE_PKEY) | 129 | DECLARE_ASN1_FUNCTIONS_const(NETSCAPE_PKEY) |
| 106 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(NETSCAPE_PKEY, NETSCAPE_PKEY) | 130 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(NETSCAPE_PKEY, NETSCAPE_PKEY) |
| 107 | IMPLEMENT_ASN1_FUNCTIONS_const(NETSCAPE_PKEY) | 131 | |
| 132 | NETSCAPE_PKEY * | ||
| 133 | d2i_NETSCAPE_PKEY(NETSCAPE_PKEY **a, const unsigned char **in, long len) | ||
| 134 | { | ||
| 135 | return (NETSCAPE_PKEY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 136 | &NETSCAPE_PKEY_it); | ||
| 137 | } | ||
| 138 | |||
| 139 | int | ||
| 140 | i2d_NETSCAPE_PKEY(const NETSCAPE_PKEY *a, unsigned char **out) | ||
| 141 | { | ||
| 142 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_PKEY_it); | ||
| 143 | } | ||
| 144 | |||
| 145 | NETSCAPE_PKEY * | ||
| 146 | NETSCAPE_PKEY_new(void) | ||
| 147 | { | ||
| 148 | return (NETSCAPE_PKEY *)ASN1_item_new(&NETSCAPE_PKEY_it); | ||
| 149 | } | ||
| 150 | |||
| 151 | void | ||
| 152 | NETSCAPE_PKEY_free(NETSCAPE_PKEY *a) | ||
| 153 | { | ||
| 154 | ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_PKEY_it); | ||
| 155 | } | ||
| 108 | 156 | ||
| 109 | static RSA *d2i_RSA_NET_2(RSA **a, ASN1_OCTET_STRING *os, | 157 | static RSA *d2i_RSA_NET_2(RSA **a, ASN1_OCTET_STRING *os, |
| 110 | int (*cb)(char *buf, int len, const char *prompt, int verify), int sgckey); | 158 | int (*cb)(char *buf, int len, const char *prompt, int verify), int sgckey); |
diff --git a/src/lib/libcrypto/asn1/tasn_typ.c b/src/lib/libcrypto/asn1/tasn_typ.c index 2f44b4229b..6e4650c089 100644 --- a/src/lib/libcrypto/asn1/tasn_typ.c +++ b/src/lib/libcrypto/asn1/tasn_typ.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: tasn_typ.c,v 1.7 2015/02/09 15:05:59 jsing Exp $ */ | 1 | /* $OpenBSD: tasn_typ.c,v 1.8 2015/02/10 04:01:26 jsing Exp $ */ |
| 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
| 3 | * project 2000. | 3 | * project 2000. |
| 4 | */ | 4 | */ |
| @@ -474,18 +474,114 @@ IMPLEMENT_ASN1_TYPE(ASN1_ANY) | |||
| 474 | /* Just swallow an ASN1_SEQUENCE in an ASN1_STRING */ | 474 | /* Just swallow an ASN1_SEQUENCE in an ASN1_STRING */ |
| 475 | IMPLEMENT_ASN1_TYPE(ASN1_SEQUENCE) | 475 | IMPLEMENT_ASN1_TYPE(ASN1_SEQUENCE) |
| 476 | 476 | ||
| 477 | IMPLEMENT_ASN1_FUNCTIONS_fname(ASN1_TYPE, ASN1_ANY, ASN1_TYPE) | 477 | |
| 478 | ASN1_TYPE * | ||
| 479 | d2i_ASN1_TYPE(ASN1_TYPE **a, const unsigned char **in, long len) | ||
| 480 | { | ||
| 481 | return (ASN1_TYPE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 482 | &ASN1_ANY_it); | ||
| 483 | } | ||
| 484 | |||
| 485 | int | ||
| 486 | i2d_ASN1_TYPE(ASN1_TYPE *a, unsigned char **out) | ||
| 487 | { | ||
| 488 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_ANY_it); | ||
| 489 | } | ||
| 490 | |||
| 491 | ASN1_TYPE * | ||
| 492 | ASN1_TYPE_new(void) | ||
| 493 | { | ||
| 494 | return (ASN1_TYPE *)ASN1_item_new(&ASN1_ANY_it); | ||
| 495 | } | ||
| 496 | |||
| 497 | void | ||
| 498 | ASN1_TYPE_free(ASN1_TYPE *a) | ||
| 499 | { | ||
| 500 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_ANY_it); | ||
| 501 | } | ||
| 478 | 502 | ||
| 479 | /* Multistring types */ | 503 | /* Multistring types */ |
| 480 | 504 | ||
| 481 | IMPLEMENT_ASN1_MSTRING(ASN1_PRINTABLE, B_ASN1_PRINTABLE) | 505 | IMPLEMENT_ASN1_MSTRING(ASN1_PRINTABLE, B_ASN1_PRINTABLE) |
| 482 | IMPLEMENT_ASN1_FUNCTIONS_name(ASN1_STRING, ASN1_PRINTABLE) | 506 | |
| 507 | ASN1_STRING * | ||
| 508 | d2i_ASN1_PRINTABLE(ASN1_STRING **a, const unsigned char **in, long len) | ||
| 509 | { | ||
| 510 | return (ASN1_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 511 | &ASN1_PRINTABLE_it); | ||
| 512 | } | ||
| 513 | |||
| 514 | int | ||
| 515 | i2d_ASN1_PRINTABLE(ASN1_STRING *a, unsigned char **out) | ||
| 516 | { | ||
| 517 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_PRINTABLE_it); | ||
| 518 | } | ||
| 519 | |||
| 520 | ASN1_STRING * | ||
| 521 | ASN1_PRINTABLE_new(void) | ||
| 522 | { | ||
| 523 | return (ASN1_STRING *)ASN1_item_new(&ASN1_PRINTABLE_it); | ||
| 524 | } | ||
| 525 | |||
| 526 | void | ||
| 527 | ASN1_PRINTABLE_free(ASN1_STRING *a) | ||
| 528 | { | ||
| 529 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_PRINTABLE_it); | ||
| 530 | } | ||
| 483 | 531 | ||
| 484 | IMPLEMENT_ASN1_MSTRING(DISPLAYTEXT, B_ASN1_DISPLAYTEXT) | 532 | IMPLEMENT_ASN1_MSTRING(DISPLAYTEXT, B_ASN1_DISPLAYTEXT) |
| 485 | IMPLEMENT_ASN1_FUNCTIONS_name(ASN1_STRING, DISPLAYTEXT) | 533 | |
| 534 | ASN1_STRING * | ||
| 535 | d2i_DISPLAYTEXT(ASN1_STRING **a, const unsigned char **in, long len) | ||
| 536 | { | ||
| 537 | return (ASN1_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 538 | &DISPLAYTEXT_it); | ||
| 539 | } | ||
| 540 | |||
| 541 | int | ||
| 542 | i2d_DISPLAYTEXT(ASN1_STRING *a, unsigned char **out) | ||
| 543 | { | ||
| 544 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &DISPLAYTEXT_it); | ||
| 545 | } | ||
| 546 | |||
| 547 | ASN1_STRING * | ||
| 548 | DISPLAYTEXT_new(void) | ||
| 549 | { | ||
| 550 | return (ASN1_STRING *)ASN1_item_new(&DISPLAYTEXT_it); | ||
| 551 | } | ||
| 552 | |||
| 553 | void | ||
| 554 | DISPLAYTEXT_free(ASN1_STRING *a) | ||
| 555 | { | ||
| 556 | ASN1_item_free((ASN1_VALUE *)a, &DISPLAYTEXT_it); | ||
| 557 | } | ||
| 486 | 558 | ||
| 487 | IMPLEMENT_ASN1_MSTRING(DIRECTORYSTRING, B_ASN1_DIRECTORYSTRING) | 559 | IMPLEMENT_ASN1_MSTRING(DIRECTORYSTRING, B_ASN1_DIRECTORYSTRING) |
| 488 | IMPLEMENT_ASN1_FUNCTIONS_name(ASN1_STRING, DIRECTORYSTRING) | 560 | |
| 561 | ASN1_STRING * | ||
| 562 | d2i_DIRECTORYSTRING(ASN1_STRING **a, const unsigned char **in, long len) | ||
| 563 | { | ||
| 564 | return (ASN1_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 565 | &DIRECTORYSTRING_it); | ||
| 566 | } | ||
| 567 | |||
| 568 | int | ||
| 569 | i2d_DIRECTORYSTRING(ASN1_STRING *a, unsigned char **out) | ||
| 570 | { | ||
| 571 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &DIRECTORYSTRING_it); | ||
| 572 | } | ||
| 573 | |||
| 574 | ASN1_STRING * | ||
| 575 | DIRECTORYSTRING_new(void) | ||
| 576 | { | ||
| 577 | return (ASN1_STRING *)ASN1_item_new(&DIRECTORYSTRING_it); | ||
| 578 | } | ||
| 579 | |||
| 580 | void | ||
| 581 | DIRECTORYSTRING_free(ASN1_STRING *a) | ||
| 582 | { | ||
| 583 | ASN1_item_free((ASN1_VALUE *)a, &DIRECTORYSTRING_it); | ||
| 584 | } | ||
| 489 | 585 | ||
| 490 | /* Three separate BOOLEAN type: normal, DEFAULT TRUE and DEFAULT FALSE */ | 586 | /* Three separate BOOLEAN type: normal, DEFAULT TRUE and DEFAULT FALSE */ |
| 491 | IMPLEMENT_ASN1_TYPE_ex(ASN1_BOOLEAN, ASN1_BOOLEAN, -1) | 587 | IMPLEMENT_ASN1_TYPE_ex(ASN1_BOOLEAN, ASN1_BOOLEAN, -1) |
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 */ |
diff --git a/src/lib/libcrypto/ecdsa/ecs_asn1.c b/src/lib/libcrypto/ecdsa/ecs_asn1.c index f62df3a817..4cd5c1bd21 100644 --- a/src/lib/libcrypto/ecdsa/ecs_asn1.c +++ b/src/lib/libcrypto/ecdsa/ecs_asn1.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ecs_asn1.c,v 1.3 2015/02/08 13:35:07 jsing Exp $ */ | 1 | /* $OpenBSD: ecs_asn1.c,v 1.4 2015/02/10 04:01:26 jsing Exp $ */ |
| 2 | /* ==================================================================== | 2 | /* ==================================================================== |
| 3 | * Copyright (c) 2000-2002 The OpenSSL Project. All rights reserved. | 3 | * Copyright (c) 2000-2002 The OpenSSL Project. All rights reserved. |
| 4 | * | 4 | * |
| @@ -64,4 +64,28 @@ ASN1_SEQUENCE(ECDSA_SIG) = { | |||
| 64 | 64 | ||
| 65 | DECLARE_ASN1_FUNCTIONS_const(ECDSA_SIG) | 65 | DECLARE_ASN1_FUNCTIONS_const(ECDSA_SIG) |
| 66 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(ECDSA_SIG, ECDSA_SIG) | 66 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(ECDSA_SIG, ECDSA_SIG) |
| 67 | IMPLEMENT_ASN1_FUNCTIONS_const(ECDSA_SIG) | 67 | |
| 68 | ECDSA_SIG * | ||
| 69 | d2i_ECDSA_SIG(ECDSA_SIG **a, const unsigned char **in, long len) | ||
| 70 | { | ||
| 71 | return (ECDSA_SIG *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 72 | &ECDSA_SIG_it); | ||
| 73 | } | ||
| 74 | |||
| 75 | int | ||
| 76 | i2d_ECDSA_SIG(const ECDSA_SIG *a, unsigned char **out) | ||
| 77 | { | ||
| 78 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ECDSA_SIG_it); | ||
| 79 | } | ||
| 80 | |||
| 81 | ECDSA_SIG * | ||
| 82 | ECDSA_SIG_new(void) | ||
| 83 | { | ||
| 84 | return (ECDSA_SIG *)ASN1_item_new(&ECDSA_SIG_it); | ||
| 85 | } | ||
| 86 | |||
| 87 | void | ||
| 88 | ECDSA_SIG_free(ECDSA_SIG *a) | ||
| 89 | { | ||
| 90 | ASN1_item_free((ASN1_VALUE *)a, &ECDSA_SIG_it); | ||
| 91 | } | ||
diff --git a/src/lib/libcrypto/ts/ts_asn1.c b/src/lib/libcrypto/ts/ts_asn1.c index bb87aa1d88..3ef882cf05 100644 --- a/src/lib/libcrypto/ts/ts_asn1.c +++ b/src/lib/libcrypto/ts/ts_asn1.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ts_asn1.c,v 1.5 2014/07/10 22:45:58 jsing Exp $ */ | 1 | /* $OpenBSD: ts_asn1.c,v 1.6 2015/02/10 04:01:26 jsing Exp $ */ |
| 2 | /* Written by Nils Larsch for the OpenSSL project 2004. | 2 | /* Written by Nils Larsch for the OpenSSL project 2004. |
| 3 | */ | 3 | */ |
| 4 | /* ==================================================================== | 4 | /* ==================================================================== |
| @@ -66,7 +66,31 @@ ASN1_SEQUENCE(TS_MSG_IMPRINT) = { | |||
| 66 | ASN1_SIMPLE(TS_MSG_IMPRINT, hashed_msg, ASN1_OCTET_STRING) | 66 | ASN1_SIMPLE(TS_MSG_IMPRINT, hashed_msg, ASN1_OCTET_STRING) |
| 67 | } ASN1_SEQUENCE_END(TS_MSG_IMPRINT) | 67 | } ASN1_SEQUENCE_END(TS_MSG_IMPRINT) |
| 68 | 68 | ||
| 69 | IMPLEMENT_ASN1_FUNCTIONS_const(TS_MSG_IMPRINT) | 69 | |
| 70 | TS_MSG_IMPRINT * | ||
| 71 | d2i_TS_MSG_IMPRINT(TS_MSG_IMPRINT **a, const unsigned char **in, long len) | ||
| 72 | { | ||
| 73 | return (TS_MSG_IMPRINT *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 74 | &TS_MSG_IMPRINT_it); | ||
| 75 | } | ||
| 76 | |||
| 77 | int | ||
| 78 | i2d_TS_MSG_IMPRINT(const TS_MSG_IMPRINT *a, unsigned char **out) | ||
| 79 | { | ||
| 80 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &TS_MSG_IMPRINT_it); | ||
| 81 | } | ||
| 82 | |||
| 83 | TS_MSG_IMPRINT * | ||
| 84 | TS_MSG_IMPRINT_new(void) | ||
| 85 | { | ||
| 86 | return (TS_MSG_IMPRINT *)ASN1_item_new(&TS_MSG_IMPRINT_it); | ||
| 87 | } | ||
| 88 | |||
| 89 | void | ||
| 90 | TS_MSG_IMPRINT_free(TS_MSG_IMPRINT *a) | ||
| 91 | { | ||
| 92 | ASN1_item_free((ASN1_VALUE *)a, &TS_MSG_IMPRINT_it); | ||
| 93 | } | ||
| 70 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_MSG_IMPRINT) | 94 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_MSG_IMPRINT) |
| 71 | 95 | ||
| 72 | #ifndef OPENSSL_NO_BIO | 96 | #ifndef OPENSSL_NO_BIO |
| @@ -106,7 +130,31 @@ ASN1_SEQUENCE(TS_REQ) = { | |||
| 106 | ASN1_IMP_SEQUENCE_OF_OPT(TS_REQ, extensions, X509_EXTENSION, 0) | 130 | ASN1_IMP_SEQUENCE_OF_OPT(TS_REQ, extensions, X509_EXTENSION, 0) |
| 107 | } ASN1_SEQUENCE_END(TS_REQ) | 131 | } ASN1_SEQUENCE_END(TS_REQ) |
| 108 | 132 | ||
| 109 | IMPLEMENT_ASN1_FUNCTIONS_const(TS_REQ) | 133 | |
| 134 | TS_REQ * | ||
| 135 | d2i_TS_REQ(TS_REQ **a, const unsigned char **in, long len) | ||
| 136 | { | ||
| 137 | return (TS_REQ *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 138 | &TS_REQ_it); | ||
| 139 | } | ||
| 140 | |||
| 141 | int | ||
| 142 | i2d_TS_REQ(const TS_REQ *a, unsigned char **out) | ||
| 143 | { | ||
| 144 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &TS_REQ_it); | ||
| 145 | } | ||
| 146 | |||
| 147 | TS_REQ * | ||
| 148 | TS_REQ_new(void) | ||
| 149 | { | ||
| 150 | return (TS_REQ *)ASN1_item_new(&TS_REQ_it); | ||
| 151 | } | ||
| 152 | |||
| 153 | void | ||
| 154 | TS_REQ_free(TS_REQ *a) | ||
| 155 | { | ||
| 156 | ASN1_item_free((ASN1_VALUE *)a, &TS_REQ_it); | ||
| 157 | } | ||
| 110 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_REQ) | 158 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_REQ) |
| 111 | 159 | ||
| 112 | #ifndef OPENSSL_NO_BIO | 160 | #ifndef OPENSSL_NO_BIO |
| @@ -141,7 +189,31 @@ ASN1_SEQUENCE(TS_ACCURACY) = { | |||
| 141 | ASN1_IMP_OPT(TS_ACCURACY, micros, ASN1_INTEGER, 1) | 189 | ASN1_IMP_OPT(TS_ACCURACY, micros, ASN1_INTEGER, 1) |
| 142 | } ASN1_SEQUENCE_END(TS_ACCURACY) | 190 | } ASN1_SEQUENCE_END(TS_ACCURACY) |
| 143 | 191 | ||
| 144 | IMPLEMENT_ASN1_FUNCTIONS_const(TS_ACCURACY) | 192 | |
| 193 | TS_ACCURACY * | ||
| 194 | d2i_TS_ACCURACY(TS_ACCURACY **a, const unsigned char **in, long len) | ||
| 195 | { | ||
| 196 | return (TS_ACCURACY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 197 | &TS_ACCURACY_it); | ||
| 198 | } | ||
| 199 | |||
| 200 | int | ||
| 201 | i2d_TS_ACCURACY(const TS_ACCURACY *a, unsigned char **out) | ||
| 202 | { | ||
| 203 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &TS_ACCURACY_it); | ||
| 204 | } | ||
| 205 | |||
| 206 | TS_ACCURACY * | ||
| 207 | TS_ACCURACY_new(void) | ||
| 208 | { | ||
| 209 | return (TS_ACCURACY *)ASN1_item_new(&TS_ACCURACY_it); | ||
| 210 | } | ||
| 211 | |||
| 212 | void | ||
| 213 | TS_ACCURACY_free(TS_ACCURACY *a) | ||
| 214 | { | ||
| 215 | ASN1_item_free((ASN1_VALUE *)a, &TS_ACCURACY_it); | ||
| 216 | } | ||
| 145 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_ACCURACY) | 217 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_ACCURACY) |
| 146 | 218 | ||
| 147 | ASN1_SEQUENCE(TS_TST_INFO) = { | 219 | ASN1_SEQUENCE(TS_TST_INFO) = { |
| @@ -157,7 +229,31 @@ ASN1_SEQUENCE(TS_TST_INFO) = { | |||
| 157 | ASN1_IMP_SEQUENCE_OF_OPT(TS_TST_INFO, extensions, X509_EXTENSION, 1) | 229 | ASN1_IMP_SEQUENCE_OF_OPT(TS_TST_INFO, extensions, X509_EXTENSION, 1) |
| 158 | } ASN1_SEQUENCE_END(TS_TST_INFO) | 230 | } ASN1_SEQUENCE_END(TS_TST_INFO) |
| 159 | 231 | ||
| 160 | IMPLEMENT_ASN1_FUNCTIONS_const(TS_TST_INFO) | 232 | |
| 233 | TS_TST_INFO * | ||
| 234 | d2i_TS_TST_INFO(TS_TST_INFO **a, const unsigned char **in, long len) | ||
| 235 | { | ||
| 236 | return (TS_TST_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 237 | &TS_TST_INFO_it); | ||
| 238 | } | ||
| 239 | |||
| 240 | int | ||
| 241 | i2d_TS_TST_INFO(const TS_TST_INFO *a, unsigned char **out) | ||
| 242 | { | ||
| 243 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &TS_TST_INFO_it); | ||
| 244 | } | ||
| 245 | |||
| 246 | TS_TST_INFO * | ||
| 247 | TS_TST_INFO_new(void) | ||
| 248 | { | ||
| 249 | return (TS_TST_INFO *)ASN1_item_new(&TS_TST_INFO_it); | ||
| 250 | } | ||
| 251 | |||
| 252 | void | ||
| 253 | TS_TST_INFO_free(TS_TST_INFO *a) | ||
| 254 | { | ||
| 255 | ASN1_item_free((ASN1_VALUE *)a, &TS_TST_INFO_it); | ||
| 256 | } | ||
| 161 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_TST_INFO) | 257 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_TST_INFO) |
| 162 | 258 | ||
| 163 | #ifndef OPENSSL_NO_BIO | 259 | #ifndef OPENSSL_NO_BIO |
| @@ -194,7 +290,31 @@ ASN1_SEQUENCE(TS_STATUS_INFO) = { | |||
| 194 | ASN1_OPT(TS_STATUS_INFO, failure_info, ASN1_BIT_STRING) | 290 | ASN1_OPT(TS_STATUS_INFO, failure_info, ASN1_BIT_STRING) |
| 195 | } ASN1_SEQUENCE_END(TS_STATUS_INFO) | 291 | } ASN1_SEQUENCE_END(TS_STATUS_INFO) |
| 196 | 292 | ||
| 197 | IMPLEMENT_ASN1_FUNCTIONS_const(TS_STATUS_INFO) | 293 | |
| 294 | TS_STATUS_INFO * | ||
| 295 | d2i_TS_STATUS_INFO(TS_STATUS_INFO **a, const unsigned char **in, long len) | ||
| 296 | { | ||
| 297 | return (TS_STATUS_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 298 | &TS_STATUS_INFO_it); | ||
| 299 | } | ||
| 300 | |||
| 301 | int | ||
| 302 | i2d_TS_STATUS_INFO(const TS_STATUS_INFO *a, unsigned char **out) | ||
| 303 | { | ||
| 304 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &TS_STATUS_INFO_it); | ||
| 305 | } | ||
| 306 | |||
| 307 | TS_STATUS_INFO * | ||
| 308 | TS_STATUS_INFO_new(void) | ||
| 309 | { | ||
| 310 | return (TS_STATUS_INFO *)ASN1_item_new(&TS_STATUS_INFO_it); | ||
| 311 | } | ||
| 312 | |||
| 313 | void | ||
| 314 | TS_STATUS_INFO_free(TS_STATUS_INFO *a) | ||
| 315 | { | ||
| 316 | ASN1_item_free((ASN1_VALUE *)a, &TS_STATUS_INFO_it); | ||
| 317 | } | ||
| 198 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_STATUS_INFO) | 318 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_STATUS_INFO) |
| 199 | 319 | ||
| 200 | static int | 320 | static int |
| @@ -247,7 +367,31 @@ ASN1_SEQUENCE_cb(TS_RESP, ts_resp_cb) = { | |||
| 247 | ASN1_OPT(TS_RESP, token, PKCS7), | 367 | ASN1_OPT(TS_RESP, token, PKCS7), |
| 248 | } ASN1_SEQUENCE_END_cb(TS_RESP, TS_RESP) | 368 | } ASN1_SEQUENCE_END_cb(TS_RESP, TS_RESP) |
| 249 | 369 | ||
| 250 | IMPLEMENT_ASN1_FUNCTIONS_const(TS_RESP) | 370 | |
| 371 | TS_RESP * | ||
| 372 | d2i_TS_RESP(TS_RESP **a, const unsigned char **in, long len) | ||
| 373 | { | ||
| 374 | return (TS_RESP *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 375 | &TS_RESP_it); | ||
| 376 | } | ||
| 377 | |||
| 378 | int | ||
| 379 | i2d_TS_RESP(const TS_RESP *a, unsigned char **out) | ||
| 380 | { | ||
| 381 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &TS_RESP_it); | ||
| 382 | } | ||
| 383 | |||
| 384 | TS_RESP * | ||
| 385 | TS_RESP_new(void) | ||
| 386 | { | ||
| 387 | return (TS_RESP *)ASN1_item_new(&TS_RESP_it); | ||
| 388 | } | ||
| 389 | |||
| 390 | void | ||
| 391 | TS_RESP_free(TS_RESP *a) | ||
| 392 | { | ||
| 393 | ASN1_item_free((ASN1_VALUE *)a, &TS_RESP_it); | ||
| 394 | } | ||
| 251 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_RESP) | 395 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_RESP) |
| 252 | 396 | ||
| 253 | #ifndef OPENSSL_NO_BIO | 397 | #ifndef OPENSSL_NO_BIO |
| @@ -281,7 +425,31 @@ ASN1_SEQUENCE(ESS_ISSUER_SERIAL) = { | |||
| 281 | ASN1_SIMPLE(ESS_ISSUER_SERIAL, serial, ASN1_INTEGER) | 425 | ASN1_SIMPLE(ESS_ISSUER_SERIAL, serial, ASN1_INTEGER) |
| 282 | } ASN1_SEQUENCE_END(ESS_ISSUER_SERIAL) | 426 | } ASN1_SEQUENCE_END(ESS_ISSUER_SERIAL) |
| 283 | 427 | ||
| 284 | IMPLEMENT_ASN1_FUNCTIONS_const(ESS_ISSUER_SERIAL) | 428 | |
| 429 | ESS_ISSUER_SERIAL * | ||
| 430 | d2i_ESS_ISSUER_SERIAL(ESS_ISSUER_SERIAL **a, const unsigned char **in, long len) | ||
| 431 | { | ||
| 432 | return (ESS_ISSUER_SERIAL *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 433 | &ESS_ISSUER_SERIAL_it); | ||
| 434 | } | ||
| 435 | |||
| 436 | int | ||
| 437 | i2d_ESS_ISSUER_SERIAL(const ESS_ISSUER_SERIAL *a, unsigned char **out) | ||
| 438 | { | ||
| 439 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ESS_ISSUER_SERIAL_it); | ||
| 440 | } | ||
| 441 | |||
| 442 | ESS_ISSUER_SERIAL * | ||
| 443 | ESS_ISSUER_SERIAL_new(void) | ||
| 444 | { | ||
| 445 | return (ESS_ISSUER_SERIAL *)ASN1_item_new(&ESS_ISSUER_SERIAL_it); | ||
| 446 | } | ||
| 447 | |||
| 448 | void | ||
| 449 | ESS_ISSUER_SERIAL_free(ESS_ISSUER_SERIAL *a) | ||
| 450 | { | ||
| 451 | ASN1_item_free((ASN1_VALUE *)a, &ESS_ISSUER_SERIAL_it); | ||
| 452 | } | ||
| 285 | IMPLEMENT_ASN1_DUP_FUNCTION(ESS_ISSUER_SERIAL) | 453 | IMPLEMENT_ASN1_DUP_FUNCTION(ESS_ISSUER_SERIAL) |
| 286 | 454 | ||
| 287 | ASN1_SEQUENCE(ESS_CERT_ID) = { | 455 | ASN1_SEQUENCE(ESS_CERT_ID) = { |
| @@ -289,7 +457,31 @@ ASN1_SEQUENCE(ESS_CERT_ID) = { | |||
| 289 | ASN1_OPT(ESS_CERT_ID, issuer_serial, ESS_ISSUER_SERIAL) | 457 | ASN1_OPT(ESS_CERT_ID, issuer_serial, ESS_ISSUER_SERIAL) |
| 290 | } ASN1_SEQUENCE_END(ESS_CERT_ID) | 458 | } ASN1_SEQUENCE_END(ESS_CERT_ID) |
| 291 | 459 | ||
| 292 | IMPLEMENT_ASN1_FUNCTIONS_const(ESS_CERT_ID) | 460 | |
| 461 | ESS_CERT_ID * | ||
| 462 | d2i_ESS_CERT_ID(ESS_CERT_ID **a, const unsigned char **in, long len) | ||
| 463 | { | ||
| 464 | return (ESS_CERT_ID *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 465 | &ESS_CERT_ID_it); | ||
| 466 | } | ||
| 467 | |||
| 468 | int | ||
| 469 | i2d_ESS_CERT_ID(const ESS_CERT_ID *a, unsigned char **out) | ||
| 470 | { | ||
| 471 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ESS_CERT_ID_it); | ||
| 472 | } | ||
| 473 | |||
| 474 | ESS_CERT_ID * | ||
| 475 | ESS_CERT_ID_new(void) | ||
| 476 | { | ||
| 477 | return (ESS_CERT_ID *)ASN1_item_new(&ESS_CERT_ID_it); | ||
| 478 | } | ||
| 479 | |||
| 480 | void | ||
| 481 | ESS_CERT_ID_free(ESS_CERT_ID *a) | ||
| 482 | { | ||
| 483 | ASN1_item_free((ASN1_VALUE *)a, &ESS_CERT_ID_it); | ||
| 484 | } | ||
| 293 | IMPLEMENT_ASN1_DUP_FUNCTION(ESS_CERT_ID) | 485 | IMPLEMENT_ASN1_DUP_FUNCTION(ESS_CERT_ID) |
| 294 | 486 | ||
| 295 | ASN1_SEQUENCE(ESS_SIGNING_CERT) = { | 487 | ASN1_SEQUENCE(ESS_SIGNING_CERT) = { |
| @@ -297,7 +489,31 @@ ASN1_SEQUENCE(ESS_SIGNING_CERT) = { | |||
| 297 | ASN1_SEQUENCE_OF_OPT(ESS_SIGNING_CERT, policy_info, POLICYINFO) | 489 | ASN1_SEQUENCE_OF_OPT(ESS_SIGNING_CERT, policy_info, POLICYINFO) |
| 298 | } ASN1_SEQUENCE_END(ESS_SIGNING_CERT) | 490 | } ASN1_SEQUENCE_END(ESS_SIGNING_CERT) |
| 299 | 491 | ||
| 300 | IMPLEMENT_ASN1_FUNCTIONS_const(ESS_SIGNING_CERT) | 492 | |
| 493 | ESS_SIGNING_CERT * | ||
| 494 | d2i_ESS_SIGNING_CERT(ESS_SIGNING_CERT **a, const unsigned char **in, long len) | ||
| 495 | { | ||
| 496 | return (ESS_SIGNING_CERT *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 497 | &ESS_SIGNING_CERT_it); | ||
| 498 | } | ||
| 499 | |||
| 500 | int | ||
| 501 | i2d_ESS_SIGNING_CERT(const ESS_SIGNING_CERT *a, unsigned char **out) | ||
| 502 | { | ||
| 503 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ESS_SIGNING_CERT_it); | ||
| 504 | } | ||
| 505 | |||
| 506 | ESS_SIGNING_CERT * | ||
| 507 | ESS_SIGNING_CERT_new(void) | ||
| 508 | { | ||
| 509 | return (ESS_SIGNING_CERT *)ASN1_item_new(&ESS_SIGNING_CERT_it); | ||
| 510 | } | ||
| 511 | |||
| 512 | void | ||
| 513 | ESS_SIGNING_CERT_free(ESS_SIGNING_CERT *a) | ||
| 514 | { | ||
| 515 | ASN1_item_free((ASN1_VALUE *)a, &ESS_SIGNING_CERT_it); | ||
| 516 | } | ||
| 301 | IMPLEMENT_ASN1_DUP_FUNCTION(ESS_SIGNING_CERT) | 517 | IMPLEMENT_ASN1_DUP_FUNCTION(ESS_SIGNING_CERT) |
| 302 | 518 | ||
| 303 | /* Getting encapsulated TS_TST_INFO object from PKCS7. */ | 519 | /* Getting encapsulated TS_TST_INFO object from PKCS7. */ |
diff --git a/src/lib/libssl/src/crypto/asn1/n_pkey.c b/src/lib/libssl/src/crypto/asn1/n_pkey.c index 42431b6e24..198ca97c09 100644 --- a/src/lib/libssl/src/crypto/asn1/n_pkey.c +++ b/src/lib/libssl/src/crypto/asn1/n_pkey.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: n_pkey.c,v 1.22 2014/07/12 22:26:01 miod Exp $ */ | 1 | /* $OpenBSD: n_pkey.c,v 1.23 2015/02/10 04:01:26 jsing Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -94,7 +94,31 @@ ASN1_BROKEN_SEQUENCE(NETSCAPE_ENCRYPTED_PKEY) = { | |||
| 94 | 94 | ||
| 95 | DECLARE_ASN1_FUNCTIONS_const(NETSCAPE_ENCRYPTED_PKEY) | 95 | DECLARE_ASN1_FUNCTIONS_const(NETSCAPE_ENCRYPTED_PKEY) |
| 96 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(NETSCAPE_ENCRYPTED_PKEY, NETSCAPE_ENCRYPTED_PKEY) | 96 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(NETSCAPE_ENCRYPTED_PKEY, NETSCAPE_ENCRYPTED_PKEY) |
| 97 | IMPLEMENT_ASN1_FUNCTIONS_const(NETSCAPE_ENCRYPTED_PKEY) | 97 | |
| 98 | NETSCAPE_ENCRYPTED_PKEY * | ||
| 99 | d2i_NETSCAPE_ENCRYPTED_PKEY(NETSCAPE_ENCRYPTED_PKEY **a, const unsigned char **in, long len) | ||
| 100 | { | ||
| 101 | return (NETSCAPE_ENCRYPTED_PKEY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 102 | &NETSCAPE_ENCRYPTED_PKEY_it); | ||
| 103 | } | ||
| 104 | |||
| 105 | int | ||
| 106 | i2d_NETSCAPE_ENCRYPTED_PKEY(const NETSCAPE_ENCRYPTED_PKEY *a, unsigned char **out) | ||
| 107 | { | ||
| 108 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_ENCRYPTED_PKEY_it); | ||
| 109 | } | ||
| 110 | |||
| 111 | NETSCAPE_ENCRYPTED_PKEY * | ||
| 112 | NETSCAPE_ENCRYPTED_PKEY_new(void) | ||
| 113 | { | ||
| 114 | return (NETSCAPE_ENCRYPTED_PKEY *)ASN1_item_new(&NETSCAPE_ENCRYPTED_PKEY_it); | ||
| 115 | } | ||
| 116 | |||
| 117 | void | ||
| 118 | NETSCAPE_ENCRYPTED_PKEY_free(NETSCAPE_ENCRYPTED_PKEY *a) | ||
| 119 | { | ||
| 120 | ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_ENCRYPTED_PKEY_it); | ||
| 121 | } | ||
| 98 | 122 | ||
| 99 | ASN1_SEQUENCE(NETSCAPE_PKEY) = { | 123 | ASN1_SEQUENCE(NETSCAPE_PKEY) = { |
| 100 | ASN1_SIMPLE(NETSCAPE_PKEY, version, LONG), | 124 | ASN1_SIMPLE(NETSCAPE_PKEY, version, LONG), |
| @@ -104,7 +128,31 @@ ASN1_SEQUENCE(NETSCAPE_PKEY) = { | |||
| 104 | 128 | ||
| 105 | DECLARE_ASN1_FUNCTIONS_const(NETSCAPE_PKEY) | 129 | DECLARE_ASN1_FUNCTIONS_const(NETSCAPE_PKEY) |
| 106 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(NETSCAPE_PKEY, NETSCAPE_PKEY) | 130 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(NETSCAPE_PKEY, NETSCAPE_PKEY) |
| 107 | IMPLEMENT_ASN1_FUNCTIONS_const(NETSCAPE_PKEY) | 131 | |
| 132 | NETSCAPE_PKEY * | ||
| 133 | d2i_NETSCAPE_PKEY(NETSCAPE_PKEY **a, const unsigned char **in, long len) | ||
| 134 | { | ||
| 135 | return (NETSCAPE_PKEY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 136 | &NETSCAPE_PKEY_it); | ||
| 137 | } | ||
| 138 | |||
| 139 | int | ||
| 140 | i2d_NETSCAPE_PKEY(const NETSCAPE_PKEY *a, unsigned char **out) | ||
| 141 | { | ||
| 142 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &NETSCAPE_PKEY_it); | ||
| 143 | } | ||
| 144 | |||
| 145 | NETSCAPE_PKEY * | ||
| 146 | NETSCAPE_PKEY_new(void) | ||
| 147 | { | ||
| 148 | return (NETSCAPE_PKEY *)ASN1_item_new(&NETSCAPE_PKEY_it); | ||
| 149 | } | ||
| 150 | |||
| 151 | void | ||
| 152 | NETSCAPE_PKEY_free(NETSCAPE_PKEY *a) | ||
| 153 | { | ||
| 154 | ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_PKEY_it); | ||
| 155 | } | ||
| 108 | 156 | ||
| 109 | static RSA *d2i_RSA_NET_2(RSA **a, ASN1_OCTET_STRING *os, | 157 | static RSA *d2i_RSA_NET_2(RSA **a, ASN1_OCTET_STRING *os, |
| 110 | int (*cb)(char *buf, int len, const char *prompt, int verify), int sgckey); | 158 | int (*cb)(char *buf, int len, const char *prompt, int verify), int sgckey); |
diff --git a/src/lib/libssl/src/crypto/asn1/tasn_typ.c b/src/lib/libssl/src/crypto/asn1/tasn_typ.c index 2f44b4229b..6e4650c089 100644 --- a/src/lib/libssl/src/crypto/asn1/tasn_typ.c +++ b/src/lib/libssl/src/crypto/asn1/tasn_typ.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: tasn_typ.c,v 1.7 2015/02/09 15:05:59 jsing Exp $ */ | 1 | /* $OpenBSD: tasn_typ.c,v 1.8 2015/02/10 04:01:26 jsing Exp $ */ |
| 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
| 3 | * project 2000. | 3 | * project 2000. |
| 4 | */ | 4 | */ |
| @@ -474,18 +474,114 @@ IMPLEMENT_ASN1_TYPE(ASN1_ANY) | |||
| 474 | /* Just swallow an ASN1_SEQUENCE in an ASN1_STRING */ | 474 | /* Just swallow an ASN1_SEQUENCE in an ASN1_STRING */ |
| 475 | IMPLEMENT_ASN1_TYPE(ASN1_SEQUENCE) | 475 | IMPLEMENT_ASN1_TYPE(ASN1_SEQUENCE) |
| 476 | 476 | ||
| 477 | IMPLEMENT_ASN1_FUNCTIONS_fname(ASN1_TYPE, ASN1_ANY, ASN1_TYPE) | 477 | |
| 478 | ASN1_TYPE * | ||
| 479 | d2i_ASN1_TYPE(ASN1_TYPE **a, const unsigned char **in, long len) | ||
| 480 | { | ||
| 481 | return (ASN1_TYPE *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 482 | &ASN1_ANY_it); | ||
| 483 | } | ||
| 484 | |||
| 485 | int | ||
| 486 | i2d_ASN1_TYPE(ASN1_TYPE *a, unsigned char **out) | ||
| 487 | { | ||
| 488 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_ANY_it); | ||
| 489 | } | ||
| 490 | |||
| 491 | ASN1_TYPE * | ||
| 492 | ASN1_TYPE_new(void) | ||
| 493 | { | ||
| 494 | return (ASN1_TYPE *)ASN1_item_new(&ASN1_ANY_it); | ||
| 495 | } | ||
| 496 | |||
| 497 | void | ||
| 498 | ASN1_TYPE_free(ASN1_TYPE *a) | ||
| 499 | { | ||
| 500 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_ANY_it); | ||
| 501 | } | ||
| 478 | 502 | ||
| 479 | /* Multistring types */ | 503 | /* Multistring types */ |
| 480 | 504 | ||
| 481 | IMPLEMENT_ASN1_MSTRING(ASN1_PRINTABLE, B_ASN1_PRINTABLE) | 505 | IMPLEMENT_ASN1_MSTRING(ASN1_PRINTABLE, B_ASN1_PRINTABLE) |
| 482 | IMPLEMENT_ASN1_FUNCTIONS_name(ASN1_STRING, ASN1_PRINTABLE) | 506 | |
| 507 | ASN1_STRING * | ||
| 508 | d2i_ASN1_PRINTABLE(ASN1_STRING **a, const unsigned char **in, long len) | ||
| 509 | { | ||
| 510 | return (ASN1_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 511 | &ASN1_PRINTABLE_it); | ||
| 512 | } | ||
| 513 | |||
| 514 | int | ||
| 515 | i2d_ASN1_PRINTABLE(ASN1_STRING *a, unsigned char **out) | ||
| 516 | { | ||
| 517 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ASN1_PRINTABLE_it); | ||
| 518 | } | ||
| 519 | |||
| 520 | ASN1_STRING * | ||
| 521 | ASN1_PRINTABLE_new(void) | ||
| 522 | { | ||
| 523 | return (ASN1_STRING *)ASN1_item_new(&ASN1_PRINTABLE_it); | ||
| 524 | } | ||
| 525 | |||
| 526 | void | ||
| 527 | ASN1_PRINTABLE_free(ASN1_STRING *a) | ||
| 528 | { | ||
| 529 | ASN1_item_free((ASN1_VALUE *)a, &ASN1_PRINTABLE_it); | ||
| 530 | } | ||
| 483 | 531 | ||
| 484 | IMPLEMENT_ASN1_MSTRING(DISPLAYTEXT, B_ASN1_DISPLAYTEXT) | 532 | IMPLEMENT_ASN1_MSTRING(DISPLAYTEXT, B_ASN1_DISPLAYTEXT) |
| 485 | IMPLEMENT_ASN1_FUNCTIONS_name(ASN1_STRING, DISPLAYTEXT) | 533 | |
| 534 | ASN1_STRING * | ||
| 535 | d2i_DISPLAYTEXT(ASN1_STRING **a, const unsigned char **in, long len) | ||
| 536 | { | ||
| 537 | return (ASN1_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 538 | &DISPLAYTEXT_it); | ||
| 539 | } | ||
| 540 | |||
| 541 | int | ||
| 542 | i2d_DISPLAYTEXT(ASN1_STRING *a, unsigned char **out) | ||
| 543 | { | ||
| 544 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &DISPLAYTEXT_it); | ||
| 545 | } | ||
| 546 | |||
| 547 | ASN1_STRING * | ||
| 548 | DISPLAYTEXT_new(void) | ||
| 549 | { | ||
| 550 | return (ASN1_STRING *)ASN1_item_new(&DISPLAYTEXT_it); | ||
| 551 | } | ||
| 552 | |||
| 553 | void | ||
| 554 | DISPLAYTEXT_free(ASN1_STRING *a) | ||
| 555 | { | ||
| 556 | ASN1_item_free((ASN1_VALUE *)a, &DISPLAYTEXT_it); | ||
| 557 | } | ||
| 486 | 558 | ||
| 487 | IMPLEMENT_ASN1_MSTRING(DIRECTORYSTRING, B_ASN1_DIRECTORYSTRING) | 559 | IMPLEMENT_ASN1_MSTRING(DIRECTORYSTRING, B_ASN1_DIRECTORYSTRING) |
| 488 | IMPLEMENT_ASN1_FUNCTIONS_name(ASN1_STRING, DIRECTORYSTRING) | 560 | |
| 561 | ASN1_STRING * | ||
| 562 | d2i_DIRECTORYSTRING(ASN1_STRING **a, const unsigned char **in, long len) | ||
| 563 | { | ||
| 564 | return (ASN1_STRING *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 565 | &DIRECTORYSTRING_it); | ||
| 566 | } | ||
| 567 | |||
| 568 | int | ||
| 569 | i2d_DIRECTORYSTRING(ASN1_STRING *a, unsigned char **out) | ||
| 570 | { | ||
| 571 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &DIRECTORYSTRING_it); | ||
| 572 | } | ||
| 573 | |||
| 574 | ASN1_STRING * | ||
| 575 | DIRECTORYSTRING_new(void) | ||
| 576 | { | ||
| 577 | return (ASN1_STRING *)ASN1_item_new(&DIRECTORYSTRING_it); | ||
| 578 | } | ||
| 579 | |||
| 580 | void | ||
| 581 | DIRECTORYSTRING_free(ASN1_STRING *a) | ||
| 582 | { | ||
| 583 | ASN1_item_free((ASN1_VALUE *)a, &DIRECTORYSTRING_it); | ||
| 584 | } | ||
| 489 | 585 | ||
| 490 | /* Three separate BOOLEAN type: normal, DEFAULT TRUE and DEFAULT FALSE */ | 586 | /* Three separate BOOLEAN type: normal, DEFAULT TRUE and DEFAULT FALSE */ |
| 491 | IMPLEMENT_ASN1_TYPE_ex(ASN1_BOOLEAN, ASN1_BOOLEAN, -1) | 587 | IMPLEMENT_ASN1_TYPE_ex(ASN1_BOOLEAN, ASN1_BOOLEAN, -1) |
diff --git a/src/lib/libssl/src/crypto/ec/ec_asn1.c b/src/lib/libssl/src/crypto/ec/ec_asn1.c index c54f6593d5..11d924d30f 100644 --- a/src/lib/libssl/src/crypto/ec/ec_asn1.c +++ b/src/lib/libssl/src/crypto/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 */ |
diff --git a/src/lib/libssl/src/crypto/ecdsa/ecs_asn1.c b/src/lib/libssl/src/crypto/ecdsa/ecs_asn1.c index f62df3a817..4cd5c1bd21 100644 --- a/src/lib/libssl/src/crypto/ecdsa/ecs_asn1.c +++ b/src/lib/libssl/src/crypto/ecdsa/ecs_asn1.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ecs_asn1.c,v 1.3 2015/02/08 13:35:07 jsing Exp $ */ | 1 | /* $OpenBSD: ecs_asn1.c,v 1.4 2015/02/10 04:01:26 jsing Exp $ */ |
| 2 | /* ==================================================================== | 2 | /* ==================================================================== |
| 3 | * Copyright (c) 2000-2002 The OpenSSL Project. All rights reserved. | 3 | * Copyright (c) 2000-2002 The OpenSSL Project. All rights reserved. |
| 4 | * | 4 | * |
| @@ -64,4 +64,28 @@ ASN1_SEQUENCE(ECDSA_SIG) = { | |||
| 64 | 64 | ||
| 65 | DECLARE_ASN1_FUNCTIONS_const(ECDSA_SIG) | 65 | DECLARE_ASN1_FUNCTIONS_const(ECDSA_SIG) |
| 66 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(ECDSA_SIG, ECDSA_SIG) | 66 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(ECDSA_SIG, ECDSA_SIG) |
| 67 | IMPLEMENT_ASN1_FUNCTIONS_const(ECDSA_SIG) | 67 | |
| 68 | ECDSA_SIG * | ||
| 69 | d2i_ECDSA_SIG(ECDSA_SIG **a, const unsigned char **in, long len) | ||
| 70 | { | ||
| 71 | return (ECDSA_SIG *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 72 | &ECDSA_SIG_it); | ||
| 73 | } | ||
| 74 | |||
| 75 | int | ||
| 76 | i2d_ECDSA_SIG(const ECDSA_SIG *a, unsigned char **out) | ||
| 77 | { | ||
| 78 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ECDSA_SIG_it); | ||
| 79 | } | ||
| 80 | |||
| 81 | ECDSA_SIG * | ||
| 82 | ECDSA_SIG_new(void) | ||
| 83 | { | ||
| 84 | return (ECDSA_SIG *)ASN1_item_new(&ECDSA_SIG_it); | ||
| 85 | } | ||
| 86 | |||
| 87 | void | ||
| 88 | ECDSA_SIG_free(ECDSA_SIG *a) | ||
| 89 | { | ||
| 90 | ASN1_item_free((ASN1_VALUE *)a, &ECDSA_SIG_it); | ||
| 91 | } | ||
diff --git a/src/lib/libssl/src/crypto/ts/ts_asn1.c b/src/lib/libssl/src/crypto/ts/ts_asn1.c index bb87aa1d88..3ef882cf05 100644 --- a/src/lib/libssl/src/crypto/ts/ts_asn1.c +++ b/src/lib/libssl/src/crypto/ts/ts_asn1.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: ts_asn1.c,v 1.5 2014/07/10 22:45:58 jsing Exp $ */ | 1 | /* $OpenBSD: ts_asn1.c,v 1.6 2015/02/10 04:01:26 jsing Exp $ */ |
| 2 | /* Written by Nils Larsch for the OpenSSL project 2004. | 2 | /* Written by Nils Larsch for the OpenSSL project 2004. |
| 3 | */ | 3 | */ |
| 4 | /* ==================================================================== | 4 | /* ==================================================================== |
| @@ -66,7 +66,31 @@ ASN1_SEQUENCE(TS_MSG_IMPRINT) = { | |||
| 66 | ASN1_SIMPLE(TS_MSG_IMPRINT, hashed_msg, ASN1_OCTET_STRING) | 66 | ASN1_SIMPLE(TS_MSG_IMPRINT, hashed_msg, ASN1_OCTET_STRING) |
| 67 | } ASN1_SEQUENCE_END(TS_MSG_IMPRINT) | 67 | } ASN1_SEQUENCE_END(TS_MSG_IMPRINT) |
| 68 | 68 | ||
| 69 | IMPLEMENT_ASN1_FUNCTIONS_const(TS_MSG_IMPRINT) | 69 | |
| 70 | TS_MSG_IMPRINT * | ||
| 71 | d2i_TS_MSG_IMPRINT(TS_MSG_IMPRINT **a, const unsigned char **in, long len) | ||
| 72 | { | ||
| 73 | return (TS_MSG_IMPRINT *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 74 | &TS_MSG_IMPRINT_it); | ||
| 75 | } | ||
| 76 | |||
| 77 | int | ||
| 78 | i2d_TS_MSG_IMPRINT(const TS_MSG_IMPRINT *a, unsigned char **out) | ||
| 79 | { | ||
| 80 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &TS_MSG_IMPRINT_it); | ||
| 81 | } | ||
| 82 | |||
| 83 | TS_MSG_IMPRINT * | ||
| 84 | TS_MSG_IMPRINT_new(void) | ||
| 85 | { | ||
| 86 | return (TS_MSG_IMPRINT *)ASN1_item_new(&TS_MSG_IMPRINT_it); | ||
| 87 | } | ||
| 88 | |||
| 89 | void | ||
| 90 | TS_MSG_IMPRINT_free(TS_MSG_IMPRINT *a) | ||
| 91 | { | ||
| 92 | ASN1_item_free((ASN1_VALUE *)a, &TS_MSG_IMPRINT_it); | ||
| 93 | } | ||
| 70 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_MSG_IMPRINT) | 94 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_MSG_IMPRINT) |
| 71 | 95 | ||
| 72 | #ifndef OPENSSL_NO_BIO | 96 | #ifndef OPENSSL_NO_BIO |
| @@ -106,7 +130,31 @@ ASN1_SEQUENCE(TS_REQ) = { | |||
| 106 | ASN1_IMP_SEQUENCE_OF_OPT(TS_REQ, extensions, X509_EXTENSION, 0) | 130 | ASN1_IMP_SEQUENCE_OF_OPT(TS_REQ, extensions, X509_EXTENSION, 0) |
| 107 | } ASN1_SEQUENCE_END(TS_REQ) | 131 | } ASN1_SEQUENCE_END(TS_REQ) |
| 108 | 132 | ||
| 109 | IMPLEMENT_ASN1_FUNCTIONS_const(TS_REQ) | 133 | |
| 134 | TS_REQ * | ||
| 135 | d2i_TS_REQ(TS_REQ **a, const unsigned char **in, long len) | ||
| 136 | { | ||
| 137 | return (TS_REQ *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 138 | &TS_REQ_it); | ||
| 139 | } | ||
| 140 | |||
| 141 | int | ||
| 142 | i2d_TS_REQ(const TS_REQ *a, unsigned char **out) | ||
| 143 | { | ||
| 144 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &TS_REQ_it); | ||
| 145 | } | ||
| 146 | |||
| 147 | TS_REQ * | ||
| 148 | TS_REQ_new(void) | ||
| 149 | { | ||
| 150 | return (TS_REQ *)ASN1_item_new(&TS_REQ_it); | ||
| 151 | } | ||
| 152 | |||
| 153 | void | ||
| 154 | TS_REQ_free(TS_REQ *a) | ||
| 155 | { | ||
| 156 | ASN1_item_free((ASN1_VALUE *)a, &TS_REQ_it); | ||
| 157 | } | ||
| 110 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_REQ) | 158 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_REQ) |
| 111 | 159 | ||
| 112 | #ifndef OPENSSL_NO_BIO | 160 | #ifndef OPENSSL_NO_BIO |
| @@ -141,7 +189,31 @@ ASN1_SEQUENCE(TS_ACCURACY) = { | |||
| 141 | ASN1_IMP_OPT(TS_ACCURACY, micros, ASN1_INTEGER, 1) | 189 | ASN1_IMP_OPT(TS_ACCURACY, micros, ASN1_INTEGER, 1) |
| 142 | } ASN1_SEQUENCE_END(TS_ACCURACY) | 190 | } ASN1_SEQUENCE_END(TS_ACCURACY) |
| 143 | 191 | ||
| 144 | IMPLEMENT_ASN1_FUNCTIONS_const(TS_ACCURACY) | 192 | |
| 193 | TS_ACCURACY * | ||
| 194 | d2i_TS_ACCURACY(TS_ACCURACY **a, const unsigned char **in, long len) | ||
| 195 | { | ||
| 196 | return (TS_ACCURACY *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 197 | &TS_ACCURACY_it); | ||
| 198 | } | ||
| 199 | |||
| 200 | int | ||
| 201 | i2d_TS_ACCURACY(const TS_ACCURACY *a, unsigned char **out) | ||
| 202 | { | ||
| 203 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &TS_ACCURACY_it); | ||
| 204 | } | ||
| 205 | |||
| 206 | TS_ACCURACY * | ||
| 207 | TS_ACCURACY_new(void) | ||
| 208 | { | ||
| 209 | return (TS_ACCURACY *)ASN1_item_new(&TS_ACCURACY_it); | ||
| 210 | } | ||
| 211 | |||
| 212 | void | ||
| 213 | TS_ACCURACY_free(TS_ACCURACY *a) | ||
| 214 | { | ||
| 215 | ASN1_item_free((ASN1_VALUE *)a, &TS_ACCURACY_it); | ||
| 216 | } | ||
| 145 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_ACCURACY) | 217 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_ACCURACY) |
| 146 | 218 | ||
| 147 | ASN1_SEQUENCE(TS_TST_INFO) = { | 219 | ASN1_SEQUENCE(TS_TST_INFO) = { |
| @@ -157,7 +229,31 @@ ASN1_SEQUENCE(TS_TST_INFO) = { | |||
| 157 | ASN1_IMP_SEQUENCE_OF_OPT(TS_TST_INFO, extensions, X509_EXTENSION, 1) | 229 | ASN1_IMP_SEQUENCE_OF_OPT(TS_TST_INFO, extensions, X509_EXTENSION, 1) |
| 158 | } ASN1_SEQUENCE_END(TS_TST_INFO) | 230 | } ASN1_SEQUENCE_END(TS_TST_INFO) |
| 159 | 231 | ||
| 160 | IMPLEMENT_ASN1_FUNCTIONS_const(TS_TST_INFO) | 232 | |
| 233 | TS_TST_INFO * | ||
| 234 | d2i_TS_TST_INFO(TS_TST_INFO **a, const unsigned char **in, long len) | ||
| 235 | { | ||
| 236 | return (TS_TST_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 237 | &TS_TST_INFO_it); | ||
| 238 | } | ||
| 239 | |||
| 240 | int | ||
| 241 | i2d_TS_TST_INFO(const TS_TST_INFO *a, unsigned char **out) | ||
| 242 | { | ||
| 243 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &TS_TST_INFO_it); | ||
| 244 | } | ||
| 245 | |||
| 246 | TS_TST_INFO * | ||
| 247 | TS_TST_INFO_new(void) | ||
| 248 | { | ||
| 249 | return (TS_TST_INFO *)ASN1_item_new(&TS_TST_INFO_it); | ||
| 250 | } | ||
| 251 | |||
| 252 | void | ||
| 253 | TS_TST_INFO_free(TS_TST_INFO *a) | ||
| 254 | { | ||
| 255 | ASN1_item_free((ASN1_VALUE *)a, &TS_TST_INFO_it); | ||
| 256 | } | ||
| 161 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_TST_INFO) | 257 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_TST_INFO) |
| 162 | 258 | ||
| 163 | #ifndef OPENSSL_NO_BIO | 259 | #ifndef OPENSSL_NO_BIO |
| @@ -194,7 +290,31 @@ ASN1_SEQUENCE(TS_STATUS_INFO) = { | |||
| 194 | ASN1_OPT(TS_STATUS_INFO, failure_info, ASN1_BIT_STRING) | 290 | ASN1_OPT(TS_STATUS_INFO, failure_info, ASN1_BIT_STRING) |
| 195 | } ASN1_SEQUENCE_END(TS_STATUS_INFO) | 291 | } ASN1_SEQUENCE_END(TS_STATUS_INFO) |
| 196 | 292 | ||
| 197 | IMPLEMENT_ASN1_FUNCTIONS_const(TS_STATUS_INFO) | 293 | |
| 294 | TS_STATUS_INFO * | ||
| 295 | d2i_TS_STATUS_INFO(TS_STATUS_INFO **a, const unsigned char **in, long len) | ||
| 296 | { | ||
| 297 | return (TS_STATUS_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 298 | &TS_STATUS_INFO_it); | ||
| 299 | } | ||
| 300 | |||
| 301 | int | ||
| 302 | i2d_TS_STATUS_INFO(const TS_STATUS_INFO *a, unsigned char **out) | ||
| 303 | { | ||
| 304 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &TS_STATUS_INFO_it); | ||
| 305 | } | ||
| 306 | |||
| 307 | TS_STATUS_INFO * | ||
| 308 | TS_STATUS_INFO_new(void) | ||
| 309 | { | ||
| 310 | return (TS_STATUS_INFO *)ASN1_item_new(&TS_STATUS_INFO_it); | ||
| 311 | } | ||
| 312 | |||
| 313 | void | ||
| 314 | TS_STATUS_INFO_free(TS_STATUS_INFO *a) | ||
| 315 | { | ||
| 316 | ASN1_item_free((ASN1_VALUE *)a, &TS_STATUS_INFO_it); | ||
| 317 | } | ||
| 198 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_STATUS_INFO) | 318 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_STATUS_INFO) |
| 199 | 319 | ||
| 200 | static int | 320 | static int |
| @@ -247,7 +367,31 @@ ASN1_SEQUENCE_cb(TS_RESP, ts_resp_cb) = { | |||
| 247 | ASN1_OPT(TS_RESP, token, PKCS7), | 367 | ASN1_OPT(TS_RESP, token, PKCS7), |
| 248 | } ASN1_SEQUENCE_END_cb(TS_RESP, TS_RESP) | 368 | } ASN1_SEQUENCE_END_cb(TS_RESP, TS_RESP) |
| 249 | 369 | ||
| 250 | IMPLEMENT_ASN1_FUNCTIONS_const(TS_RESP) | 370 | |
| 371 | TS_RESP * | ||
| 372 | d2i_TS_RESP(TS_RESP **a, const unsigned char **in, long len) | ||
| 373 | { | ||
| 374 | return (TS_RESP *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 375 | &TS_RESP_it); | ||
| 376 | } | ||
| 377 | |||
| 378 | int | ||
| 379 | i2d_TS_RESP(const TS_RESP *a, unsigned char **out) | ||
| 380 | { | ||
| 381 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &TS_RESP_it); | ||
| 382 | } | ||
| 383 | |||
| 384 | TS_RESP * | ||
| 385 | TS_RESP_new(void) | ||
| 386 | { | ||
| 387 | return (TS_RESP *)ASN1_item_new(&TS_RESP_it); | ||
| 388 | } | ||
| 389 | |||
| 390 | void | ||
| 391 | TS_RESP_free(TS_RESP *a) | ||
| 392 | { | ||
| 393 | ASN1_item_free((ASN1_VALUE *)a, &TS_RESP_it); | ||
| 394 | } | ||
| 251 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_RESP) | 395 | IMPLEMENT_ASN1_DUP_FUNCTION(TS_RESP) |
| 252 | 396 | ||
| 253 | #ifndef OPENSSL_NO_BIO | 397 | #ifndef OPENSSL_NO_BIO |
| @@ -281,7 +425,31 @@ ASN1_SEQUENCE(ESS_ISSUER_SERIAL) = { | |||
| 281 | ASN1_SIMPLE(ESS_ISSUER_SERIAL, serial, ASN1_INTEGER) | 425 | ASN1_SIMPLE(ESS_ISSUER_SERIAL, serial, ASN1_INTEGER) |
| 282 | } ASN1_SEQUENCE_END(ESS_ISSUER_SERIAL) | 426 | } ASN1_SEQUENCE_END(ESS_ISSUER_SERIAL) |
| 283 | 427 | ||
| 284 | IMPLEMENT_ASN1_FUNCTIONS_const(ESS_ISSUER_SERIAL) | 428 | |
| 429 | ESS_ISSUER_SERIAL * | ||
| 430 | d2i_ESS_ISSUER_SERIAL(ESS_ISSUER_SERIAL **a, const unsigned char **in, long len) | ||
| 431 | { | ||
| 432 | return (ESS_ISSUER_SERIAL *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 433 | &ESS_ISSUER_SERIAL_it); | ||
| 434 | } | ||
| 435 | |||
| 436 | int | ||
| 437 | i2d_ESS_ISSUER_SERIAL(const ESS_ISSUER_SERIAL *a, unsigned char **out) | ||
| 438 | { | ||
| 439 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ESS_ISSUER_SERIAL_it); | ||
| 440 | } | ||
| 441 | |||
| 442 | ESS_ISSUER_SERIAL * | ||
| 443 | ESS_ISSUER_SERIAL_new(void) | ||
| 444 | { | ||
| 445 | return (ESS_ISSUER_SERIAL *)ASN1_item_new(&ESS_ISSUER_SERIAL_it); | ||
| 446 | } | ||
| 447 | |||
| 448 | void | ||
| 449 | ESS_ISSUER_SERIAL_free(ESS_ISSUER_SERIAL *a) | ||
| 450 | { | ||
| 451 | ASN1_item_free((ASN1_VALUE *)a, &ESS_ISSUER_SERIAL_it); | ||
| 452 | } | ||
| 285 | IMPLEMENT_ASN1_DUP_FUNCTION(ESS_ISSUER_SERIAL) | 453 | IMPLEMENT_ASN1_DUP_FUNCTION(ESS_ISSUER_SERIAL) |
| 286 | 454 | ||
| 287 | ASN1_SEQUENCE(ESS_CERT_ID) = { | 455 | ASN1_SEQUENCE(ESS_CERT_ID) = { |
| @@ -289,7 +457,31 @@ ASN1_SEQUENCE(ESS_CERT_ID) = { | |||
| 289 | ASN1_OPT(ESS_CERT_ID, issuer_serial, ESS_ISSUER_SERIAL) | 457 | ASN1_OPT(ESS_CERT_ID, issuer_serial, ESS_ISSUER_SERIAL) |
| 290 | } ASN1_SEQUENCE_END(ESS_CERT_ID) | 458 | } ASN1_SEQUENCE_END(ESS_CERT_ID) |
| 291 | 459 | ||
| 292 | IMPLEMENT_ASN1_FUNCTIONS_const(ESS_CERT_ID) | 460 | |
| 461 | ESS_CERT_ID * | ||
| 462 | d2i_ESS_CERT_ID(ESS_CERT_ID **a, const unsigned char **in, long len) | ||
| 463 | { | ||
| 464 | return (ESS_CERT_ID *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 465 | &ESS_CERT_ID_it); | ||
| 466 | } | ||
| 467 | |||
| 468 | int | ||
| 469 | i2d_ESS_CERT_ID(const ESS_CERT_ID *a, unsigned char **out) | ||
| 470 | { | ||
| 471 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ESS_CERT_ID_it); | ||
| 472 | } | ||
| 473 | |||
| 474 | ESS_CERT_ID * | ||
| 475 | ESS_CERT_ID_new(void) | ||
| 476 | { | ||
| 477 | return (ESS_CERT_ID *)ASN1_item_new(&ESS_CERT_ID_it); | ||
| 478 | } | ||
| 479 | |||
| 480 | void | ||
| 481 | ESS_CERT_ID_free(ESS_CERT_ID *a) | ||
| 482 | { | ||
| 483 | ASN1_item_free((ASN1_VALUE *)a, &ESS_CERT_ID_it); | ||
| 484 | } | ||
| 293 | IMPLEMENT_ASN1_DUP_FUNCTION(ESS_CERT_ID) | 485 | IMPLEMENT_ASN1_DUP_FUNCTION(ESS_CERT_ID) |
| 294 | 486 | ||
| 295 | ASN1_SEQUENCE(ESS_SIGNING_CERT) = { | 487 | ASN1_SEQUENCE(ESS_SIGNING_CERT) = { |
| @@ -297,7 +489,31 @@ ASN1_SEQUENCE(ESS_SIGNING_CERT) = { | |||
| 297 | ASN1_SEQUENCE_OF_OPT(ESS_SIGNING_CERT, policy_info, POLICYINFO) | 489 | ASN1_SEQUENCE_OF_OPT(ESS_SIGNING_CERT, policy_info, POLICYINFO) |
| 298 | } ASN1_SEQUENCE_END(ESS_SIGNING_CERT) | 490 | } ASN1_SEQUENCE_END(ESS_SIGNING_CERT) |
| 299 | 491 | ||
| 300 | IMPLEMENT_ASN1_FUNCTIONS_const(ESS_SIGNING_CERT) | 492 | |
| 493 | ESS_SIGNING_CERT * | ||
| 494 | d2i_ESS_SIGNING_CERT(ESS_SIGNING_CERT **a, const unsigned char **in, long len) | ||
| 495 | { | ||
| 496 | return (ESS_SIGNING_CERT *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, | ||
| 497 | &ESS_SIGNING_CERT_it); | ||
| 498 | } | ||
| 499 | |||
| 500 | int | ||
| 501 | i2d_ESS_SIGNING_CERT(const ESS_SIGNING_CERT *a, unsigned char **out) | ||
| 502 | { | ||
| 503 | return ASN1_item_i2d((ASN1_VALUE *)a, out, &ESS_SIGNING_CERT_it); | ||
| 504 | } | ||
| 505 | |||
| 506 | ESS_SIGNING_CERT * | ||
| 507 | ESS_SIGNING_CERT_new(void) | ||
| 508 | { | ||
| 509 | return (ESS_SIGNING_CERT *)ASN1_item_new(&ESS_SIGNING_CERT_it); | ||
| 510 | } | ||
| 511 | |||
| 512 | void | ||
| 513 | ESS_SIGNING_CERT_free(ESS_SIGNING_CERT *a) | ||
| 514 | { | ||
| 515 | ASN1_item_free((ASN1_VALUE *)a, &ESS_SIGNING_CERT_it); | ||
| 516 | } | ||
| 301 | IMPLEMENT_ASN1_DUP_FUNCTION(ESS_SIGNING_CERT) | 517 | IMPLEMENT_ASN1_DUP_FUNCTION(ESS_SIGNING_CERT) |
| 302 | 518 | ||
| 303 | /* Getting encapsulated TS_TST_INFO object from PKCS7. */ | 519 | /* Getting encapsulated TS_TST_INFO object from PKCS7. */ |
