diff options
Diffstat (limited to 'src/lib/libcrypto/asn1/x_spki.c')
-rw-r--r-- | src/lib/libcrypto/asn1/x_spki.c | 70 |
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 | ||
68 | ASN1_SEQUENCE(NETSCAPE_SPKAC) = { | 68 | static 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 | |||
85 | const 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 | ||
74 | NETSCAPE_SPKAC * | 96 | NETSCAPE_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 | ||
99 | ASN1_SEQUENCE(NETSCAPE_SPKI) = { | 121 | static 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 | |||
145 | const 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 | ||
106 | NETSCAPE_SPKI * | 156 | NETSCAPE_SPKI * |