diff options
Diffstat (limited to 'src/lib/libcrypto/asn1/n_pkey.c')
-rw-r--r-- | src/lib/libcrypto/asn1/n_pkey.c | 78 |
1 files changed, 68 insertions, 10 deletions
diff --git a/src/lib/libcrypto/asn1/n_pkey.c b/src/lib/libcrypto/asn1/n_pkey.c index 198ca97c09..8f65a4b926 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.23 2015/02/10 04:01:26 jsing Exp $ */ | 1 | /* $OpenBSD: n_pkey.c,v 1.24 2015/02/11 03:39:51 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 | * |
@@ -87,10 +87,40 @@ typedef struct netscape_encrypted_pkey_st { | |||
87 | } NETSCAPE_ENCRYPTED_PKEY; | 87 | } NETSCAPE_ENCRYPTED_PKEY; |
88 | 88 | ||
89 | 89 | ||
90 | ASN1_BROKEN_SEQUENCE(NETSCAPE_ENCRYPTED_PKEY) = { | 90 | static const ASN1_AUX NETSCAPE_ENCRYPTED_PKEY_aux = { |
91 | ASN1_SIMPLE(NETSCAPE_ENCRYPTED_PKEY, os, ASN1_OCTET_STRING), | 91 | .app_data = NULL, |
92 | ASN1_SIMPLE(NETSCAPE_ENCRYPTED_PKEY, enckey, X509_SIG) | 92 | .flags = ASN1_AFLG_BROKEN, |
93 | } ASN1_BROKEN_SEQUENCE_END(NETSCAPE_ENCRYPTED_PKEY) | 93 | .ref_offset = 0, |
94 | .ref_lock = 0, | ||
95 | .asn1_cb = NULL, | ||
96 | .enc_offset = 0, | ||
97 | }; | ||
98 | static const ASN1_TEMPLATE NETSCAPE_ENCRYPTED_PKEY_seq_tt[] = { | ||
99 | { | ||
100 | .flags = 0, | ||
101 | .tag = 0, | ||
102 | .offset = offsetof(NETSCAPE_ENCRYPTED_PKEY, os), | ||
103 | .field_name = "os", | ||
104 | .item = &ASN1_OCTET_STRING_it, | ||
105 | }, | ||
106 | { | ||
107 | .flags = 0, | ||
108 | .tag = 0, | ||
109 | .offset = offsetof(NETSCAPE_ENCRYPTED_PKEY, enckey), | ||
110 | .field_name = "enckey", | ||
111 | .item = &X509_SIG_it, | ||
112 | }, | ||
113 | }; | ||
114 | |||
115 | const ASN1_ITEM NETSCAPE_ENCRYPTED_PKEY_it = { | ||
116 | .itype = ASN1_ITYPE_SEQUENCE, | ||
117 | .utype = V_ASN1_SEQUENCE, | ||
118 | .templates = NETSCAPE_ENCRYPTED_PKEY_seq_tt, | ||
119 | .tcount = sizeof(NETSCAPE_ENCRYPTED_PKEY_seq_tt) / sizeof(ASN1_TEMPLATE), | ||
120 | .funcs = &NETSCAPE_ENCRYPTED_PKEY_aux, | ||
121 | .size = sizeof(NETSCAPE_ENCRYPTED_PKEY), | ||
122 | .sname = "NETSCAPE_ENCRYPTED_PKEY", | ||
123 | }; | ||
94 | 124 | ||
95 | DECLARE_ASN1_FUNCTIONS_const(NETSCAPE_ENCRYPTED_PKEY) | 125 | DECLARE_ASN1_FUNCTIONS_const(NETSCAPE_ENCRYPTED_PKEY) |
96 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(NETSCAPE_ENCRYPTED_PKEY, NETSCAPE_ENCRYPTED_PKEY) | 126 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(NETSCAPE_ENCRYPTED_PKEY, NETSCAPE_ENCRYPTED_PKEY) |
@@ -120,11 +150,39 @@ NETSCAPE_ENCRYPTED_PKEY_free(NETSCAPE_ENCRYPTED_PKEY *a) | |||
120 | ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_ENCRYPTED_PKEY_it); | 150 | ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_ENCRYPTED_PKEY_it); |
121 | } | 151 | } |
122 | 152 | ||
123 | ASN1_SEQUENCE(NETSCAPE_PKEY) = { | 153 | static const ASN1_TEMPLATE NETSCAPE_PKEY_seq_tt[] = { |
124 | ASN1_SIMPLE(NETSCAPE_PKEY, version, LONG), | 154 | { |
125 | ASN1_SIMPLE(NETSCAPE_PKEY, algor, X509_ALGOR), | 155 | .flags = 0, |
126 | ASN1_SIMPLE(NETSCAPE_PKEY, private_key, ASN1_OCTET_STRING) | 156 | .tag = 0, |
127 | } ASN1_SEQUENCE_END(NETSCAPE_PKEY) | 157 | .offset = offsetof(NETSCAPE_PKEY, version), |
158 | .field_name = "version", | ||
159 | .item = &LONG_it, | ||
160 | }, | ||
161 | { | ||
162 | .flags = 0, | ||
163 | .tag = 0, | ||
164 | .offset = offsetof(NETSCAPE_PKEY, algor), | ||
165 | .field_name = "algor", | ||
166 | .item = &X509_ALGOR_it, | ||
167 | }, | ||
168 | { | ||
169 | .flags = 0, | ||
170 | .tag = 0, | ||
171 | .offset = offsetof(NETSCAPE_PKEY, private_key), | ||
172 | .field_name = "private_key", | ||
173 | .item = &ASN1_OCTET_STRING_it, | ||
174 | }, | ||
175 | }; | ||
176 | |||
177 | const ASN1_ITEM NETSCAPE_PKEY_it = { | ||
178 | .itype = ASN1_ITYPE_SEQUENCE, | ||
179 | .utype = V_ASN1_SEQUENCE, | ||
180 | .templates = NETSCAPE_PKEY_seq_tt, | ||
181 | .tcount = sizeof(NETSCAPE_PKEY_seq_tt) / sizeof(ASN1_TEMPLATE), | ||
182 | .funcs = NULL, | ||
183 | .size = sizeof(NETSCAPE_PKEY), | ||
184 | .sname = "NETSCAPE_PKEY", | ||
185 | }; | ||
128 | 186 | ||
129 | DECLARE_ASN1_FUNCTIONS_const(NETSCAPE_PKEY) | 187 | DECLARE_ASN1_FUNCTIONS_const(NETSCAPE_PKEY) |
130 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(NETSCAPE_PKEY, NETSCAPE_PKEY) | 188 | DECLARE_ASN1_ENCODE_FUNCTIONS_const(NETSCAPE_PKEY, NETSCAPE_PKEY) |