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