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