summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/asn1/x_spki.c
diff options
context:
space:
mode:
authorjsing <>2015-02-11 03:39:51 +0000
committerjsing <>2015-02-11 03:39:51 +0000
commita4446bfb10ec0a821da3861d90dc625a93d84cff (patch)
treed942bf9cb3a1b441f2c996072292ae69b1aa83d2 /src/lib/libcrypto/asn1/x_spki.c
parentdea579e3ced20a997dc9c2b82eb0c086555a68b8 (diff)
downloadopenbsd-a4446bfb10ec0a821da3861d90dc625a93d84cff.tar.gz
openbsd-a4446bfb10ec0a821da3861d90dc625a93d84cff.tar.bz2
openbsd-a4446bfb10ec0a821da3861d90dc625a93d84cff.zip
Expand most of the ASN1_SEQUENCE* and associated macros, making the data
structures visible and easier to review, without having to wade through layers and layers of asn1t.h macros. Change has been scripted and the generated assembly only differs by changes to line numbers. Discussed with beck@ miod@ tedu@
Diffstat (limited to 'src/lib/libcrypto/asn1/x_spki.c')
-rw-r--r--src/lib/libcrypto/asn1/x_spki.c70
1 files changed, 60 insertions, 10 deletions
diff --git a/src/lib/libcrypto/asn1/x_spki.c b/src/lib/libcrypto/asn1/x_spki.c
index fc056ff53b..6250c1343b 100644
--- a/src/lib/libcrypto/asn1/x_spki.c
+++ b/src/lib/libcrypto/asn1/x_spki.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_spki.c,v 1.9 2015/02/09 15:05:59 jsing Exp $ */ 1/* $OpenBSD: x_spki.c,v 1.10 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 *
@@ -65,10 +65,32 @@
65#include <openssl/x509.h> 65#include <openssl/x509.h>
66#include <openssl/asn1t.h> 66#include <openssl/asn1t.h>
67 67
68ASN1_SEQUENCE(NETSCAPE_SPKAC) = { 68static const ASN1_TEMPLATE NETSCAPE_SPKAC_seq_tt[] = {
69 ASN1_SIMPLE(NETSCAPE_SPKAC, pubkey, X509_PUBKEY), 69 {
70 ASN1_SIMPLE(NETSCAPE_SPKAC, challenge, ASN1_IA5STRING) 70 .flags = 0,
71} ASN1_SEQUENCE_END(NETSCAPE_SPKAC) 71 .tag = 0,
72 .offset = offsetof(NETSCAPE_SPKAC, pubkey),
73 .field_name = "pubkey",
74 .item = &X509_PUBKEY_it,
75 },
76 {
77 .flags = 0,
78 .tag = 0,
79 .offset = offsetof(NETSCAPE_SPKAC, challenge),
80 .field_name = "challenge",
81 .item = &ASN1_IA5STRING_it,
82 },
83};
84
85const ASN1_ITEM NETSCAPE_SPKAC_it = {
86 .itype = ASN1_ITYPE_SEQUENCE,
87 .utype = V_ASN1_SEQUENCE,
88 .templates = NETSCAPE_SPKAC_seq_tt,
89 .tcount = sizeof(NETSCAPE_SPKAC_seq_tt) / sizeof(ASN1_TEMPLATE),
90 .funcs = NULL,
91 .size = sizeof(NETSCAPE_SPKAC),
92 .sname = "NETSCAPE_SPKAC",
93};
72 94
73 95
74NETSCAPE_SPKAC * 96NETSCAPE_SPKAC *
@@ -96,11 +118,39 @@ NETSCAPE_SPKAC_free(NETSCAPE_SPKAC *a)
96 ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_SPKAC_it); 118 ASN1_item_free((ASN1_VALUE *)a, &NETSCAPE_SPKAC_it);
97} 119}
98 120
99ASN1_SEQUENCE(NETSCAPE_SPKI) = { 121static const ASN1_TEMPLATE NETSCAPE_SPKI_seq_tt[] = {
100 ASN1_SIMPLE(NETSCAPE_SPKI, spkac, NETSCAPE_SPKAC), 122 {
101 ASN1_SIMPLE(NETSCAPE_SPKI, sig_algor, X509_ALGOR), 123 .flags = 0,
102 ASN1_SIMPLE(NETSCAPE_SPKI, signature, ASN1_BIT_STRING) 124 .tag = 0,
103} ASN1_SEQUENCE_END(NETSCAPE_SPKI) 125 .offset = offsetof(NETSCAPE_SPKI, spkac),
126 .field_name = "spkac",
127 .item = &NETSCAPE_SPKAC_it,
128 },
129 {
130 .flags = 0,
131 .tag = 0,
132 .offset = offsetof(NETSCAPE_SPKI, sig_algor),
133 .field_name = "sig_algor",
134 .item = &X509_ALGOR_it,
135 },
136 {
137 .flags = 0,
138 .tag = 0,
139 .offset = offsetof(NETSCAPE_SPKI, signature),
140 .field_name = "signature",
141 .item = &ASN1_BIT_STRING_it,
142 },
143};
144
145const ASN1_ITEM NETSCAPE_SPKI_it = {
146 .itype = ASN1_ITYPE_SEQUENCE,
147 .utype = V_ASN1_SEQUENCE,
148 .templates = NETSCAPE_SPKI_seq_tt,
149 .tcount = sizeof(NETSCAPE_SPKI_seq_tt) / sizeof(ASN1_TEMPLATE),
150 .funcs = NULL,
151 .size = sizeof(NETSCAPE_SPKI),
152 .sname = "NETSCAPE_SPKI",
153};
104 154
105 155
106NETSCAPE_SPKI * 156NETSCAPE_SPKI *