summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/asn1/x_spki.c
diff options
context:
space:
mode:
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 *