HACK: pinfo->private_data points to smb_info again
[wireshark-wip.git] / epan / dissectors / packet-x509ce.c
blob99cff7a52372dc0955ca785b7457e6e331fe6cae
1 /* Do not modify this file. Changes will be overwritten. */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler */
3 /* packet-x509ce.c */
4 /* ../../tools/asn2wrs.py -b -p x509ce -c ./x509ce.cnf -s ./packet-x509ce-template -D . -O ../../epan/dissectors CertificateExtensions.asn CertificateExtensionsCiplus.asn */
6 /* Input file: packet-x509ce-template.c */
8 #line 1 "../../asn1/x509ce/packet-x509ce-template.c"
9 /* packet-x509ce.c
10 * Routines for X.509 Certificate Extensions packet dissection
11 * Ronnie Sahlberg 2004
13 * $Id$
15 * Wireshark - Network traffic analyzer
16 * By Gerald Combs <gerald@wireshark.org>
17 * Copyright 1998 Gerald Combs
19 * This program is free software; you can redistribute it and/or
20 * modify it under the terms of the GNU General Public License
21 * as published by the Free Software Foundation; either version 2
22 * of the License, or (at your option) any later version.
24 * This program is distributed in the hope that it will be useful,
25 * but WITHOUT ANY WARRANTY; without even the implied warranty of
26 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27 * GNU General Public License for more details.
29 * You should have received a copy of the GNU General Public License
30 * along with this program; if not, write to the Free Software
31 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
34 #include "config.h"
36 #include <glib.h>
37 #include <epan/packet.h>
38 #include <epan/asn1.h>
40 #include "packet-ber.h"
41 #include "packet-x509ce.h"
42 #include "packet-x509af.h"
43 #include "packet-x509if.h"
44 #include "packet-x509sat.h"
45 #include "packet-p1.h"
47 #define PNAME "X.509 Certificate Extensions"
48 #define PSNAME "X509CE"
49 #define PFNAME "x509ce"
51 /* Initialize the protocol and registered fields */
52 static int proto_x509ce = -1;
53 static int hf_x509ce_id_ce_invalidityDate = -1;
54 static int hf_x509ce_id_ce_baseUpdateTime = -1;
55 static int hf_x509ce_object_identifier_id = -1;
56 static int hf_x509ce_IPAddress = -1;
58 /*--- Included file: packet-x509ce-hf.c ---*/
59 #line 1 "../../asn1/x509ce/packet-x509ce-hf.c"
60 static int hf_x509ce_AuthorityKeyIdentifier_PDU = -1; /* AuthorityKeyIdentifier */
61 static int hf_x509ce_SubjectKeyIdentifier_PDU = -1; /* SubjectKeyIdentifier */
62 static int hf_x509ce_KeyUsage_PDU = -1; /* KeyUsage */
63 static int hf_x509ce_KeyPurposeIDs_PDU = -1; /* KeyPurposeIDs */
64 static int hf_x509ce_PrivateKeyUsagePeriod_PDU = -1; /* PrivateKeyUsagePeriod */
65 static int hf_x509ce_CertificatePoliciesSyntax_PDU = -1; /* CertificatePoliciesSyntax */
66 static int hf_x509ce_PolicyMappingsSyntax_PDU = -1; /* PolicyMappingsSyntax */
67 static int hf_x509ce_GeneralNames_PDU = -1; /* GeneralNames */
68 static int hf_x509ce_AttributesSyntax_PDU = -1; /* AttributesSyntax */
69 static int hf_x509ce_BasicConstraintsSyntax_PDU = -1; /* BasicConstraintsSyntax */
70 static int hf_x509ce_NameConstraintsSyntax_PDU = -1; /* NameConstraintsSyntax */
71 static int hf_x509ce_PolicyConstraintsSyntax_PDU = -1; /* PolicyConstraintsSyntax */
72 static int hf_x509ce_SkipCerts_PDU = -1; /* SkipCerts */
73 static int hf_x509ce_CRLNumber_PDU = -1; /* CRLNumber */
74 static int hf_x509ce_CRLReason_PDU = -1; /* CRLReason */
75 static int hf_x509ce_HoldInstruction_PDU = -1; /* HoldInstruction */
76 static int hf_x509ce_CRLScopeSyntax_PDU = -1; /* CRLScopeSyntax */
77 static int hf_x509ce_StatusReferrals_PDU = -1; /* StatusReferrals */
78 static int hf_x509ce_CRLStreamIdentifier_PDU = -1; /* CRLStreamIdentifier */
79 static int hf_x509ce_OrderedListSyntax_PDU = -1; /* OrderedListSyntax */
80 static int hf_x509ce_DeltaInformation_PDU = -1; /* DeltaInformation */
81 static int hf_x509ce_CRLDistPointsSyntax_PDU = -1; /* CRLDistPointsSyntax */
82 static int hf_x509ce_IssuingDistPointSyntax_PDU = -1; /* IssuingDistPointSyntax */
83 static int hf_x509ce_BaseCRLNumber_PDU = -1; /* BaseCRLNumber */
84 static int hf_x509ce_ToBeRevokedSyntax_PDU = -1; /* ToBeRevokedSyntax */
85 static int hf_x509ce_RevokedGroupsSyntax_PDU = -1; /* RevokedGroupsSyntax */
86 static int hf_x509ce_ExpiredCertsOnCRL_PDU = -1; /* ExpiredCertsOnCRL */
87 static int hf_x509ce_AAIssuingDistPointSyntax_PDU = -1; /* AAIssuingDistPointSyntax */
88 static int hf_x509ce_CertificateAssertion_PDU = -1; /* CertificateAssertion */
89 static int hf_x509ce_CertificatePairExactAssertion_PDU = -1; /* CertificatePairExactAssertion */
90 static int hf_x509ce_CertificatePairAssertion_PDU = -1; /* CertificatePairAssertion */
91 static int hf_x509ce_CertificateListExactAssertion_PDU = -1; /* CertificateListExactAssertion */
92 static int hf_x509ce_CertificateListAssertion_PDU = -1; /* CertificateListAssertion */
93 static int hf_x509ce_PkiPathMatchSyntax_PDU = -1; /* PkiPathMatchSyntax */
94 static int hf_x509ce_EnhancedCertificateAssertion_PDU = -1; /* EnhancedCertificateAssertion */
95 static int hf_x509ce_CertificateTemplate_PDU = -1; /* CertificateTemplate */
96 static int hf_x509ce_EntrustVersionInfo_PDU = -1; /* EntrustVersionInfo */
97 static int hf_x509ce_ScramblerCapabilities_PDU = -1; /* ScramblerCapabilities */
98 static int hf_x509ce_CiplusInfo_PDU = -1; /* CiplusInfo */
99 static int hf_x509ce_CicamBrandId_PDU = -1; /* CicamBrandId */
100 static int hf_x509ce_keyIdentifier = -1; /* KeyIdentifier */
101 static int hf_x509ce_authorityCertIssuer = -1; /* GeneralNames */
102 static int hf_x509ce_authorityCertSerialNumber = -1; /* CertificateSerialNumber */
103 static int hf_x509ce_KeyPurposeIDs_item = -1; /* KeyPurposeId */
104 static int hf_x509ce_notBefore = -1; /* GeneralizedTime */
105 static int hf_x509ce_notAfter = -1; /* GeneralizedTime */
106 static int hf_x509ce_CertificatePoliciesSyntax_item = -1; /* PolicyInformation */
107 static int hf_x509ce_policyIdentifier = -1; /* CertPolicyId */
108 static int hf_x509ce_policyQualifiers = -1; /* SEQUENCE_SIZE_1_MAX_OF_PolicyQualifierInfo */
109 static int hf_x509ce_policyQualifiers_item = -1; /* PolicyQualifierInfo */
110 static int hf_x509ce_policyQualifierId = -1; /* T_policyQualifierId */
111 static int hf_x509ce_qualifier = -1; /* T_qualifier */
112 static int hf_x509ce_PolicyMappingsSyntax_item = -1; /* PolicyMappingsSyntax_item */
113 static int hf_x509ce_issuerDomainPolicy = -1; /* CertPolicyId */
114 static int hf_x509ce_subjectDomainPolicy = -1; /* CertPolicyId */
115 static int hf_x509ce_GeneralNames_item = -1; /* GeneralName */
116 static int hf_x509ce_otherName = -1; /* OtherName */
117 static int hf_x509ce_rfc822Name = -1; /* IA5String */
118 static int hf_x509ce_dNSName = -1; /* IA5String */
119 static int hf_x509ce_x400Address = -1; /* ORAddress */
120 static int hf_x509ce_directoryName = -1; /* Name */
121 static int hf_x509ce_ediPartyName = -1; /* EDIPartyName */
122 static int hf_x509ce_uniformResourceIdentifier = -1; /* T_uniformResourceIdentifier */
123 static int hf_x509ce_iPAddress = -1; /* T_iPAddress */
124 static int hf_x509ce_registeredID = -1; /* OBJECT_IDENTIFIER */
125 static int hf_x509ce_type_id = -1; /* OtherNameType */
126 static int hf_x509ce_value = -1; /* OtherNameValue */
127 static int hf_x509ce_nameAssigner = -1; /* DirectoryString */
128 static int hf_x509ce_partyName = -1; /* DirectoryString */
129 static int hf_x509ce_AttributesSyntax_item = -1; /* Attribute */
130 static int hf_x509ce_cA = -1; /* BOOLEAN */
131 static int hf_x509ce_pathLenConstraint = -1; /* INTEGER_0_MAX */
132 static int hf_x509ce_permittedSubtrees = -1; /* GeneralSubtrees */
133 static int hf_x509ce_excludedSubtrees = -1; /* GeneralSubtrees */
134 static int hf_x509ce_GeneralSubtrees_item = -1; /* GeneralSubtree */
135 static int hf_x509ce_base = -1; /* GeneralName */
136 static int hf_x509ce_minimum = -1; /* BaseDistance */
137 static int hf_x509ce_maximum = -1; /* BaseDistance */
138 static int hf_x509ce_requireExplicitPolicy = -1; /* SkipCerts */
139 static int hf_x509ce_inhibitPolicyMapping = -1; /* SkipCerts */
140 static int hf_x509ce_CRLScopeSyntax_item = -1; /* PerAuthorityScope */
141 static int hf_x509ce_authorityName = -1; /* GeneralName */
142 static int hf_x509ce_distributionPoint = -1; /* DistributionPointName */
143 static int hf_x509ce_onlyContains = -1; /* OnlyCertificateTypes */
144 static int hf_x509ce_onlySomeReasons = -1; /* ReasonFlags */
145 static int hf_x509ce_serialNumberRange = -1; /* NumberRange */
146 static int hf_x509ce_subjectKeyIdRange = -1; /* NumberRange */
147 static int hf_x509ce_nameSubtrees = -1; /* GeneralNames */
148 static int hf_x509ce_baseRevocationInfo = -1; /* BaseRevocationInfo */
149 static int hf_x509ce_startingNumber = -1; /* INTEGER */
150 static int hf_x509ce_endingNumber = -1; /* INTEGER */
151 static int hf_x509ce_modulus = -1; /* INTEGER */
152 static int hf_x509ce_cRLStreamIdentifier = -1; /* CRLStreamIdentifier */
153 static int hf_x509ce_cRLNumber = -1; /* CRLNumber */
154 static int hf_x509ce_baseThisUpdate = -1; /* GeneralizedTime */
155 static int hf_x509ce_StatusReferrals_item = -1; /* StatusReferral */
156 static int hf_x509ce_cRLReferral = -1; /* CRLReferral */
157 static int hf_x509ce_crlr_issuer = -1; /* GeneralName */
158 static int hf_x509ce_location = -1; /* GeneralName */
159 static int hf_x509ce_deltaRefInfo = -1; /* DeltaRefInfo */
160 static int hf_x509ce_cRLScope = -1; /* CRLScopeSyntax */
161 static int hf_x509ce_lastUpdate = -1; /* GeneralizedTime */
162 static int hf_x509ce_lastChangedCRL = -1; /* GeneralizedTime */
163 static int hf_x509ce_deltaLocation = -1; /* GeneralName */
164 static int hf_x509ce_lastDelta = -1; /* GeneralizedTime */
165 static int hf_x509ce_nextDelta = -1; /* GeneralizedTime */
166 static int hf_x509ce_CRLDistPointsSyntax_item = -1; /* DistributionPoint */
167 static int hf_x509ce_reasons = -1; /* ReasonFlags */
168 static int hf_x509ce_cRLIssuer = -1; /* GeneralNames */
169 static int hf_x509ce_fullName = -1; /* GeneralNames */
170 static int hf_x509ce_nameRelativeToCRLIssuer = -1; /* RelativeDistinguishedName */
171 static int hf_x509ce_onlyContainsUserPublicKeyCerts = -1; /* BOOLEAN */
172 static int hf_x509ce_onlyContainsCACerts = -1; /* BOOLEAN */
173 static int hf_x509ce_indirectCRL = -1; /* BOOLEAN */
174 static int hf_x509ce_ToBeRevokedSyntax_item = -1; /* ToBeRevokedGroup */
175 static int hf_x509ce_certificateIssuer = -1; /* GeneralName */
176 static int hf_x509ce_reasonInfo = -1; /* ReasonInfo */
177 static int hf_x509ce_revocationTime = -1; /* GeneralizedTime */
178 static int hf_x509ce_certificateGroup = -1; /* CertificateGroup */
179 static int hf_x509ce_reasonCode = -1; /* CRLReason */
180 static int hf_x509ce_holdInstructionCode = -1; /* HoldInstruction */
181 static int hf_x509ce_serialNumbers = -1; /* CertificateSerialNumbers */
182 static int hf_x509ce_certificateGroupNumberRange = -1; /* CertificateGroupNumberRange */
183 static int hf_x509ce_nameSubtree = -1; /* GeneralName */
184 static int hf_x509ce_CertificateSerialNumbers_item = -1; /* CertificateSerialNumber */
185 static int hf_x509ce_RevokedGroupsSyntax_item = -1; /* RevokedGroup */
186 static int hf_x509ce_invalidityDate = -1; /* GeneralizedTime */
187 static int hf_x509ce_revokedcertificateGroup = -1; /* RevokedCertificateGroup */
188 static int hf_x509ce_containsUserAttributeCerts = -1; /* BOOLEAN */
189 static int hf_x509ce_containsAACerts = -1; /* BOOLEAN */
190 static int hf_x509ce_containsSOAPublicKeyCerts = -1; /* BOOLEAN */
191 static int hf_x509ce_serialNumber = -1; /* CertificateSerialNumber */
192 static int hf_x509ce_issuer = -1; /* Name */
193 static int hf_x509ce_subjectKeyIdentifier = -1; /* SubjectKeyIdentifier */
194 static int hf_x509ce_authorityKeyIdentifier = -1; /* AuthorityKeyIdentifier */
195 static int hf_x509ce_certificateValid = -1; /* Time */
196 static int hf_x509ce_privateKeyValid = -1; /* GeneralizedTime */
197 static int hf_x509ce_subjectPublicKeyAlgID = -1; /* OBJECT_IDENTIFIER */
198 static int hf_x509ce_keyUsage = -1; /* KeyUsage */
199 static int hf_x509ce_subjectAltNameType = -1; /* AltNameType */
200 static int hf_x509ce_policy = -1; /* CertPolicySet */
201 static int hf_x509ce_pathToName = -1; /* Name */
202 static int hf_x509ce_subject = -1; /* Name */
203 static int hf_x509ce_nameConstraints = -1; /* NameConstraintsSyntax */
204 static int hf_x509ce_builtinNameForm = -1; /* T_builtinNameForm */
205 static int hf_x509ce_otherNameForm = -1; /* OBJECT_IDENTIFIER */
206 static int hf_x509ce_CertPolicySet_item = -1; /* CertPolicyId */
207 static int hf_x509ce_cpea_issuedToThisCAAssertion = -1; /* CertificateExactAssertion */
208 static int hf_x509ce_cpea_issuedByThisCAAssertion = -1; /* CertificateExactAssertion */
209 static int hf_x509ce_issuedToThisCAAssertion = -1; /* CertificateAssertion */
210 static int hf_x509ce_issuedByThisCAAssertion = -1; /* CertificateAssertion */
211 static int hf_x509ce_thisUpdate = -1; /* Time */
212 static int hf_x509ce_minCRLNumber = -1; /* CRLNumber */
213 static int hf_x509ce_maxCRLNumber = -1; /* CRLNumber */
214 static int hf_x509ce_reasonFlags = -1; /* ReasonFlags */
215 static int hf_x509ce_dateAndTime = -1; /* Time */
216 static int hf_x509ce_firstIssuer = -1; /* Name */
217 static int hf_x509ce_lastSubject = -1; /* Name */
218 static int hf_x509ce_subjectAltName = -1; /* AltName */
219 static int hf_x509ce_enhancedPathToName = -1; /* GeneralNames */
220 static int hf_x509ce_altnameType = -1; /* AltNameType */
221 static int hf_x509ce_altNameValue = -1; /* GeneralName */
222 static int hf_x509ce_templateID = -1; /* OBJECT_IDENTIFIER */
223 static int hf_x509ce_templateMajorVersion = -1; /* INTEGER */
224 static int hf_x509ce_templateMinorVersion = -1; /* INTEGER */
225 static int hf_x509ce_entrustVers = -1; /* GeneralString */
226 static int hf_x509ce_entrustVersInfoFlags = -1; /* EntrustInfoFlags */
227 static int hf_x509ce_capability = -1; /* INTEGER_0_MAX */
228 static int hf_x509ce_version = -1; /* INTEGER_0_MAX */
229 /* named bits */
230 static int hf_x509ce_KeyUsage_digitalSignature = -1;
231 static int hf_x509ce_KeyUsage_contentCommitment = -1;
232 static int hf_x509ce_KeyUsage_keyEncipherment = -1;
233 static int hf_x509ce_KeyUsage_dataEncipherment = -1;
234 static int hf_x509ce_KeyUsage_keyAgreement = -1;
235 static int hf_x509ce_KeyUsage_keyCertSign = -1;
236 static int hf_x509ce_KeyUsage_cRLSign = -1;
237 static int hf_x509ce_KeyUsage_encipherOnly = -1;
238 static int hf_x509ce_KeyUsage_decipherOnly = -1;
239 static int hf_x509ce_OnlyCertificateTypes_user = -1;
240 static int hf_x509ce_OnlyCertificateTypes_authority = -1;
241 static int hf_x509ce_OnlyCertificateTypes_attribute = -1;
242 static int hf_x509ce_ReasonFlags_unused = -1;
243 static int hf_x509ce_ReasonFlags_keyCompromise = -1;
244 static int hf_x509ce_ReasonFlags_cACompromise = -1;
245 static int hf_x509ce_ReasonFlags_affiliationChanged = -1;
246 static int hf_x509ce_ReasonFlags_superseded = -1;
247 static int hf_x509ce_ReasonFlags_cessationOfOperation = -1;
248 static int hf_x509ce_ReasonFlags_certificateHold = -1;
249 static int hf_x509ce_ReasonFlags_privilegeWithdrawn = -1;
250 static int hf_x509ce_ReasonFlags_aACompromise = -1;
251 static int hf_x509ce_EntrustInfoFlags_keyUpdateAllowed = -1;
252 static int hf_x509ce_EntrustInfoFlags_newExtensions = -1;
253 static int hf_x509ce_EntrustInfoFlags_pKIXCertificate = -1;
254 static int hf_x509ce_EntrustInfoFlags_enterpriseCategory = -1;
255 static int hf_x509ce_EntrustInfoFlags_webCategory = -1;
256 static int hf_x509ce_EntrustInfoFlags_sETCategory = -1;
258 /*--- End of included file: packet-x509ce-hf.c ---*/
259 #line 50 "../../asn1/x509ce/packet-x509ce-template.c"
261 /* Initialize the subtree pointers */
263 /*--- Included file: packet-x509ce-ett.c ---*/
264 #line 1 "../../asn1/x509ce/packet-x509ce-ett.c"
265 static gint ett_x509ce_AuthorityKeyIdentifier = -1;
266 static gint ett_x509ce_KeyUsage = -1;
267 static gint ett_x509ce_KeyPurposeIDs = -1;
268 static gint ett_x509ce_PrivateKeyUsagePeriod = -1;
269 static gint ett_x509ce_CertificatePoliciesSyntax = -1;
270 static gint ett_x509ce_PolicyInformation = -1;
271 static gint ett_x509ce_SEQUENCE_SIZE_1_MAX_OF_PolicyQualifierInfo = -1;
272 static gint ett_x509ce_PolicyQualifierInfo = -1;
273 static gint ett_x509ce_PolicyMappingsSyntax = -1;
274 static gint ett_x509ce_PolicyMappingsSyntax_item = -1;
275 static gint ett_x509ce_GeneralNames = -1;
276 static gint ett_x509ce_GeneralName = -1;
277 static gint ett_x509ce_OtherName = -1;
278 static gint ett_x509ce_EDIPartyName = -1;
279 static gint ett_x509ce_AttributesSyntax = -1;
280 static gint ett_x509ce_BasicConstraintsSyntax = -1;
281 static gint ett_x509ce_NameConstraintsSyntax = -1;
282 static gint ett_x509ce_GeneralSubtrees = -1;
283 static gint ett_x509ce_GeneralSubtree = -1;
284 static gint ett_x509ce_PolicyConstraintsSyntax = -1;
285 static gint ett_x509ce_CRLScopeSyntax = -1;
286 static gint ett_x509ce_PerAuthorityScope = -1;
287 static gint ett_x509ce_OnlyCertificateTypes = -1;
288 static gint ett_x509ce_NumberRange = -1;
289 static gint ett_x509ce_BaseRevocationInfo = -1;
290 static gint ett_x509ce_StatusReferrals = -1;
291 static gint ett_x509ce_StatusReferral = -1;
292 static gint ett_x509ce_CRLReferral = -1;
293 static gint ett_x509ce_DeltaRefInfo = -1;
294 static gint ett_x509ce_DeltaInformation = -1;
295 static gint ett_x509ce_CRLDistPointsSyntax = -1;
296 static gint ett_x509ce_DistributionPoint = -1;
297 static gint ett_x509ce_DistributionPointName = -1;
298 static gint ett_x509ce_ReasonFlags = -1;
299 static gint ett_x509ce_IssuingDistPointSyntax = -1;
300 static gint ett_x509ce_ToBeRevokedSyntax = -1;
301 static gint ett_x509ce_ToBeRevokedGroup = -1;
302 static gint ett_x509ce_ReasonInfo = -1;
303 static gint ett_x509ce_CertificateGroup = -1;
304 static gint ett_x509ce_CertificateGroupNumberRange = -1;
305 static gint ett_x509ce_CertificateSerialNumbers = -1;
306 static gint ett_x509ce_RevokedGroupsSyntax = -1;
307 static gint ett_x509ce_RevokedGroup = -1;
308 static gint ett_x509ce_RevokedCertificateGroup = -1;
309 static gint ett_x509ce_AAIssuingDistPointSyntax = -1;
310 static gint ett_x509ce_CertificateExactAssertion = -1;
311 static gint ett_x509ce_CertificateAssertion = -1;
312 static gint ett_x509ce_AltNameType = -1;
313 static gint ett_x509ce_CertPolicySet = -1;
314 static gint ett_x509ce_CertificatePairExactAssertion = -1;
315 static gint ett_x509ce_CertificatePairAssertion = -1;
316 static gint ett_x509ce_CertificateListExactAssertion = -1;
317 static gint ett_x509ce_CertificateListAssertion = -1;
318 static gint ett_x509ce_PkiPathMatchSyntax = -1;
319 static gint ett_x509ce_EnhancedCertificateAssertion = -1;
320 static gint ett_x509ce_AltName = -1;
321 static gint ett_x509ce_CertificateTemplate = -1;
322 static gint ett_x509ce_EntrustVersionInfo = -1;
323 static gint ett_x509ce_EntrustInfoFlags = -1;
324 static gint ett_x509ce_ScramblerCapabilities = -1;
326 /*--- End of included file: packet-x509ce-ett.c ---*/
327 #line 53 "../../asn1/x509ce/packet-x509ce-template.c"
329 /*--- Included file: packet-x509ce-fn.c ---*/
330 #line 1 "../../asn1/x509ce/packet-x509ce-fn.c"
334 dissect_x509ce_KeyIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
335 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
336 NULL);
338 return offset;
343 static int
344 dissect_x509ce_OtherNameType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
345 offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &actx->external.direct_reference);
347 return offset;
352 static int
353 dissect_x509ce_OtherNameValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
354 #line 181 "../../asn1/x509ce/x509ce.cnf"
355 offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
359 return offset;
363 static const ber_sequence_t OtherName_sequence[] = {
364 { &hf_x509ce_type_id , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509ce_OtherNameType },
365 { &hf_x509ce_value , BER_CLASS_CON, 0, 0, dissect_x509ce_OtherNameValue },
366 { NULL, 0, 0, 0, NULL }
369 static int
370 dissect_x509ce_OtherName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
371 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
372 OtherName_sequence, hf_index, ett_x509ce_OtherName);
374 return offset;
379 static int
380 dissect_x509ce_IA5String(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
381 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
382 actx, tree, tvb, offset, hf_index,
383 NULL);
385 return offset;
389 static const ber_sequence_t EDIPartyName_sequence[] = {
390 { &hf_x509ce_nameAssigner , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509sat_DirectoryString },
391 { &hf_x509ce_partyName , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x509sat_DirectoryString },
392 { NULL, 0, 0, 0, NULL }
396 dissect_x509ce_EDIPartyName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
397 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
398 EDIPartyName_sequence, hf_index, ett_x509ce_EDIPartyName);
400 return offset;
405 static int
406 dissect_x509ce_T_uniformResourceIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
407 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
408 actx, tree, tvb, offset, hf_index,
409 NULL);
411 #line 184 "../../asn1/x509ce/x509ce.cnf"
413 PROTO_ITEM_SET_URL(actx->created_item);
416 return offset;
421 static int
422 dissect_x509ce_T_iPAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
423 #line 174 "../../asn1/x509ce/x509ce.cnf"
424 proto_tree_add_item(tree, hf_x509ce_IPAddress, tvb, offset, 4, ENC_BIG_ENDIAN);
425 offset+=4;
429 return offset;
434 static int
435 dissect_x509ce_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
436 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
438 return offset;
442 const value_string x509ce_GeneralName_vals[] = {
443 { 0, "otherName" },
444 { 1, "rfc822Name" },
445 { 2, "dNSName" },
446 { 3, "x400Address" },
447 { 4, "directoryName" },
448 { 5, "ediPartyName" },
449 { 6, "uniformResourceIdentifier" },
450 { 7, "iPAddress" },
451 { 8, "registeredID" },
452 { 0, NULL }
455 static const ber_choice_t GeneralName_choice[] = {
456 { 0, &hf_x509ce_otherName , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x509ce_OtherName },
457 { 1, &hf_x509ce_rfc822Name , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x509ce_IA5String },
458 { 2, &hf_x509ce_dNSName , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_x509ce_IA5String },
459 { 3, &hf_x509ce_x400Address , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_p1_ORAddress },
460 { 4, &hf_x509ce_directoryName, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_x509if_Name },
461 { 5, &hf_x509ce_ediPartyName , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_x509ce_EDIPartyName },
462 { 6, &hf_x509ce_uniformResourceIdentifier, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_x509ce_T_uniformResourceIdentifier },
463 { 7, &hf_x509ce_iPAddress , BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_x509ce_T_iPAddress },
464 { 8, &hf_x509ce_registeredID , BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_x509ce_OBJECT_IDENTIFIER },
465 { 0, NULL, 0, 0, 0, NULL }
469 dissect_x509ce_GeneralName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
470 offset = dissect_ber_choice(actx, tree, tvb, offset,
471 GeneralName_choice, hf_index, ett_x509ce_GeneralName,
472 NULL);
474 return offset;
478 static const ber_sequence_t GeneralNames_sequence_of[1] = {
479 { &hf_x509ce_GeneralNames_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509ce_GeneralName },
483 dissect_x509ce_GeneralNames(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
484 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
485 GeneralNames_sequence_of, hf_index, ett_x509ce_GeneralNames);
487 return offset;
491 static const ber_sequence_t AuthorityKeyIdentifier_sequence[] = {
492 { &hf_x509ce_keyIdentifier, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_KeyIdentifier },
493 { &hf_x509ce_authorityCertIssuer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_GeneralNames },
494 { &hf_x509ce_authorityCertSerialNumber, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509af_CertificateSerialNumber },
495 { NULL, 0, 0, 0, NULL }
499 dissect_x509ce_AuthorityKeyIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
500 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
501 AuthorityKeyIdentifier_sequence, hf_index, ett_x509ce_AuthorityKeyIdentifier);
503 return offset;
509 dissect_x509ce_SubjectKeyIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
510 offset = dissect_x509ce_KeyIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
512 return offset;
516 static const asn_namedbit KeyUsage_bits[] = {
517 { 0, &hf_x509ce_KeyUsage_digitalSignature, -1, -1, "digitalSignature", NULL },
518 { 1, &hf_x509ce_KeyUsage_contentCommitment, -1, -1, "contentCommitment", NULL },
519 { 2, &hf_x509ce_KeyUsage_keyEncipherment, -1, -1, "keyEncipherment", NULL },
520 { 3, &hf_x509ce_KeyUsage_dataEncipherment, -1, -1, "dataEncipherment", NULL },
521 { 4, &hf_x509ce_KeyUsage_keyAgreement, -1, -1, "keyAgreement", NULL },
522 { 5, &hf_x509ce_KeyUsage_keyCertSign, -1, -1, "keyCertSign", NULL },
523 { 6, &hf_x509ce_KeyUsage_cRLSign, -1, -1, "cRLSign", NULL },
524 { 7, &hf_x509ce_KeyUsage_encipherOnly, -1, -1, "encipherOnly", NULL },
525 { 8, &hf_x509ce_KeyUsage_decipherOnly, -1, -1, "decipherOnly", NULL },
526 { 0, NULL, 0, 0, NULL, NULL }
530 dissect_x509ce_KeyUsage(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
531 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
532 KeyUsage_bits, hf_index, ett_x509ce_KeyUsage,
533 NULL);
535 return offset;
541 dissect_x509ce_KeyPurposeId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
542 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
544 return offset;
548 static const ber_sequence_t KeyPurposeIDs_sequence_of[1] = {
549 { &hf_x509ce_KeyPurposeIDs_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509ce_KeyPurposeId },
553 dissect_x509ce_KeyPurposeIDs(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
554 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
555 KeyPurposeIDs_sequence_of, hf_index, ett_x509ce_KeyPurposeIDs);
557 return offset;
562 static int
563 dissect_x509ce_GeneralizedTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
564 offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
566 return offset;
570 static const ber_sequence_t PrivateKeyUsagePeriod_sequence[] = {
571 { &hf_x509ce_notBefore , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_GeneralizedTime },
572 { &hf_x509ce_notAfter , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_GeneralizedTime },
573 { NULL, 0, 0, 0, NULL }
577 dissect_x509ce_PrivateKeyUsagePeriod(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
578 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
579 PrivateKeyUsagePeriod_sequence, hf_index, ett_x509ce_PrivateKeyUsagePeriod);
581 return offset;
586 static int
587 dissect_x509ce_CertPolicyId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
588 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
590 return offset;
595 static int
596 dissect_x509ce_T_policyQualifierId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
597 offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_x509ce_object_identifier_id, &actx->external.direct_reference);
599 return offset;
604 static int
605 dissect_x509ce_T_qualifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
606 #line 171 "../../asn1/x509ce/x509ce.cnf"
607 offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree, NULL);
611 return offset;
615 static const ber_sequence_t PolicyQualifierInfo_sequence[] = {
616 { &hf_x509ce_policyQualifierId, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509ce_T_policyQualifierId },
617 { &hf_x509ce_qualifier , BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509ce_T_qualifier },
618 { NULL, 0, 0, 0, NULL }
622 dissect_x509ce_PolicyQualifierInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
623 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
624 PolicyQualifierInfo_sequence, hf_index, ett_x509ce_PolicyQualifierInfo);
626 return offset;
630 static const ber_sequence_t SEQUENCE_SIZE_1_MAX_OF_PolicyQualifierInfo_sequence_of[1] = {
631 { &hf_x509ce_policyQualifiers_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509ce_PolicyQualifierInfo },
634 static int
635 dissect_x509ce_SEQUENCE_SIZE_1_MAX_OF_PolicyQualifierInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
636 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
637 SEQUENCE_SIZE_1_MAX_OF_PolicyQualifierInfo_sequence_of, hf_index, ett_x509ce_SEQUENCE_SIZE_1_MAX_OF_PolicyQualifierInfo);
639 return offset;
643 static const ber_sequence_t PolicyInformation_sequence[] = {
644 { &hf_x509ce_policyIdentifier, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509ce_CertPolicyId },
645 { &hf_x509ce_policyQualifiers, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509ce_SEQUENCE_SIZE_1_MAX_OF_PolicyQualifierInfo },
646 { NULL, 0, 0, 0, NULL }
650 dissect_x509ce_PolicyInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
651 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
652 PolicyInformation_sequence, hf_index, ett_x509ce_PolicyInformation);
654 return offset;
658 static const ber_sequence_t CertificatePoliciesSyntax_sequence_of[1] = {
659 { &hf_x509ce_CertificatePoliciesSyntax_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509ce_PolicyInformation },
663 dissect_x509ce_CertificatePoliciesSyntax(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
664 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
665 CertificatePoliciesSyntax_sequence_of, hf_index, ett_x509ce_CertificatePoliciesSyntax);
667 return offset;
671 static const ber_sequence_t PolicyMappingsSyntax_item_sequence[] = {
672 { &hf_x509ce_issuerDomainPolicy, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509ce_CertPolicyId },
673 { &hf_x509ce_subjectDomainPolicy, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509ce_CertPolicyId },
674 { NULL, 0, 0, 0, NULL }
677 static int
678 dissect_x509ce_PolicyMappingsSyntax_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
679 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
680 PolicyMappingsSyntax_item_sequence, hf_index, ett_x509ce_PolicyMappingsSyntax_item);
682 return offset;
686 static const ber_sequence_t PolicyMappingsSyntax_sequence_of[1] = {
687 { &hf_x509ce_PolicyMappingsSyntax_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509ce_PolicyMappingsSyntax_item },
691 dissect_x509ce_PolicyMappingsSyntax(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
692 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
693 PolicyMappingsSyntax_sequence_of, hf_index, ett_x509ce_PolicyMappingsSyntax);
695 return offset;
699 static const ber_sequence_t AttributesSyntax_sequence_of[1] = {
700 { &hf_x509ce_AttributesSyntax_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_Attribute },
704 dissect_x509ce_AttributesSyntax(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
705 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
706 AttributesSyntax_sequence_of, hf_index, ett_x509ce_AttributesSyntax);
708 return offset;
713 static int
714 dissect_x509ce_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
715 offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
717 return offset;
722 static int
723 dissect_x509ce_INTEGER_0_MAX(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
724 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
725 NULL);
727 return offset;
731 static const ber_sequence_t BasicConstraintsSyntax_sequence[] = {
732 { &hf_x509ce_cA , BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509ce_BOOLEAN },
733 { &hf_x509ce_pathLenConstraint, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509ce_INTEGER_0_MAX },
734 { NULL, 0, 0, 0, NULL }
738 dissect_x509ce_BasicConstraintsSyntax(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
739 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
740 BasicConstraintsSyntax_sequence, hf_index, ett_x509ce_BasicConstraintsSyntax);
742 return offset;
748 dissect_x509ce_BaseDistance(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
749 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
750 NULL);
752 return offset;
756 static const ber_sequence_t GeneralSubtree_sequence[] = {
757 { &hf_x509ce_base , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509ce_GeneralName },
758 { &hf_x509ce_minimum , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_BaseDistance },
759 { &hf_x509ce_maximum , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_BaseDistance },
760 { NULL, 0, 0, 0, NULL }
764 dissect_x509ce_GeneralSubtree(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
765 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
766 GeneralSubtree_sequence, hf_index, ett_x509ce_GeneralSubtree);
768 return offset;
772 static const ber_sequence_t GeneralSubtrees_sequence_of[1] = {
773 { &hf_x509ce_GeneralSubtrees_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509ce_GeneralSubtree },
777 dissect_x509ce_GeneralSubtrees(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
778 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
779 GeneralSubtrees_sequence_of, hf_index, ett_x509ce_GeneralSubtrees);
781 return offset;
785 static const ber_sequence_t NameConstraintsSyntax_sequence[] = {
786 { &hf_x509ce_permittedSubtrees, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_GeneralSubtrees },
787 { &hf_x509ce_excludedSubtrees, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_GeneralSubtrees },
788 { NULL, 0, 0, 0, NULL }
792 dissect_x509ce_NameConstraintsSyntax(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
793 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
794 NameConstraintsSyntax_sequence, hf_index, ett_x509ce_NameConstraintsSyntax);
796 return offset;
802 dissect_x509ce_SkipCerts(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
803 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
804 NULL);
806 return offset;
810 static const ber_sequence_t PolicyConstraintsSyntax_sequence[] = {
811 { &hf_x509ce_requireExplicitPolicy, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_SkipCerts },
812 { &hf_x509ce_inhibitPolicyMapping, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_SkipCerts },
813 { NULL, 0, 0, 0, NULL }
817 dissect_x509ce_PolicyConstraintsSyntax(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
818 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
819 PolicyConstraintsSyntax_sequence, hf_index, ett_x509ce_PolicyConstraintsSyntax);
821 return offset;
827 dissect_x509ce_CRLNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
828 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
829 NULL);
831 return offset;
835 const value_string x509ce_CRLReason_vals[] = {
836 { 0, "unspecified" },
837 { 1, "keyCompromise" },
838 { 2, "cACompromise" },
839 { 3, "affiliationChanged" },
840 { 4, "superseded" },
841 { 5, "cessationOfOperation" },
842 { 6, "certificateHold" },
843 { 8, "removeFromCRL" },
844 { 9, "privilegeWithdrawn" },
845 { 10, "aaCompromise" },
846 { 0, NULL }
851 dissect_x509ce_CRLReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
852 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
853 NULL);
855 return offset;
861 dissect_x509ce_HoldInstruction(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
862 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
864 return offset;
868 const value_string x509ce_DistributionPointName_vals[] = {
869 { 0, "fullName" },
870 { 1, "nameRelativeToCRLIssuer" },
871 { 0, NULL }
874 static const ber_choice_t DistributionPointName_choice[] = {
875 { 0, &hf_x509ce_fullName , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x509ce_GeneralNames },
876 { 1, &hf_x509ce_nameRelativeToCRLIssuer, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x509if_RelativeDistinguishedName },
877 { 0, NULL, 0, 0, 0, NULL }
881 dissect_x509ce_DistributionPointName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
882 offset = dissect_ber_choice(actx, tree, tvb, offset,
883 DistributionPointName_choice, hf_index, ett_x509ce_DistributionPointName,
884 NULL);
886 return offset;
890 static const asn_namedbit OnlyCertificateTypes_bits[] = {
891 { 0, &hf_x509ce_OnlyCertificateTypes_user, -1, -1, "user", NULL },
892 { 1, &hf_x509ce_OnlyCertificateTypes_authority, -1, -1, "authority", NULL },
893 { 2, &hf_x509ce_OnlyCertificateTypes_attribute, -1, -1, "attribute", NULL },
894 { 0, NULL, 0, 0, NULL, NULL }
898 dissect_x509ce_OnlyCertificateTypes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
899 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
900 OnlyCertificateTypes_bits, hf_index, ett_x509ce_OnlyCertificateTypes,
901 NULL);
903 return offset;
907 static const asn_namedbit ReasonFlags_bits[] = {
908 { 0, &hf_x509ce_ReasonFlags_unused, -1, -1, "unused", NULL },
909 { 1, &hf_x509ce_ReasonFlags_keyCompromise, -1, -1, "keyCompromise", NULL },
910 { 2, &hf_x509ce_ReasonFlags_cACompromise, -1, -1, "cACompromise", NULL },
911 { 3, &hf_x509ce_ReasonFlags_affiliationChanged, -1, -1, "affiliationChanged", NULL },
912 { 4, &hf_x509ce_ReasonFlags_superseded, -1, -1, "superseded", NULL },
913 { 5, &hf_x509ce_ReasonFlags_cessationOfOperation, -1, -1, "cessationOfOperation", NULL },
914 { 6, &hf_x509ce_ReasonFlags_certificateHold, -1, -1, "certificateHold", NULL },
915 { 7, &hf_x509ce_ReasonFlags_privilegeWithdrawn, -1, -1, "privilegeWithdrawn", NULL },
916 { 8, &hf_x509ce_ReasonFlags_aACompromise, -1, -1, "aACompromise", NULL },
917 { 0, NULL, 0, 0, NULL, NULL }
921 dissect_x509ce_ReasonFlags(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
922 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
923 ReasonFlags_bits, hf_index, ett_x509ce_ReasonFlags,
924 NULL);
926 return offset;
931 static int
932 dissect_x509ce_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
933 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
934 NULL);
936 return offset;
940 static const ber_sequence_t NumberRange_sequence[] = {
941 { &hf_x509ce_startingNumber, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_INTEGER },
942 { &hf_x509ce_endingNumber , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_INTEGER },
943 { &hf_x509ce_modulus , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509ce_INTEGER },
944 { NULL, 0, 0, 0, NULL }
948 dissect_x509ce_NumberRange(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
949 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
950 NumberRange_sequence, hf_index, ett_x509ce_NumberRange);
952 return offset;
958 dissect_x509ce_CRLStreamIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
959 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
960 NULL);
962 return offset;
966 static const ber_sequence_t BaseRevocationInfo_sequence[] = {
967 { &hf_x509ce_cRLStreamIdentifier, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CRLStreamIdentifier },
968 { &hf_x509ce_cRLNumber , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x509ce_CRLNumber },
969 { &hf_x509ce_baseThisUpdate, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_x509ce_GeneralizedTime },
970 { NULL, 0, 0, 0, NULL }
974 dissect_x509ce_BaseRevocationInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
975 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
976 BaseRevocationInfo_sequence, hf_index, ett_x509ce_BaseRevocationInfo);
978 return offset;
982 static const ber_sequence_t PerAuthorityScope_sequence[] = {
983 { &hf_x509ce_authorityName, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x509ce_GeneralName },
984 { &hf_x509ce_distributionPoint, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x509ce_DistributionPointName },
985 { &hf_x509ce_onlyContains , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_OnlyCertificateTypes },
986 { &hf_x509ce_onlySomeReasons, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_ReasonFlags },
987 { &hf_x509ce_serialNumberRange, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_NumberRange },
988 { &hf_x509ce_subjectKeyIdRange, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_NumberRange },
989 { &hf_x509ce_nameSubtrees , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_GeneralNames },
990 { &hf_x509ce_baseRevocationInfo, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_BaseRevocationInfo },
991 { NULL, 0, 0, 0, NULL }
995 dissect_x509ce_PerAuthorityScope(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
996 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
997 PerAuthorityScope_sequence, hf_index, ett_x509ce_PerAuthorityScope);
999 return offset;
1003 static const ber_sequence_t CRLScopeSyntax_sequence_of[1] = {
1004 { &hf_x509ce_CRLScopeSyntax_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509ce_PerAuthorityScope },
1008 dissect_x509ce_CRLScopeSyntax(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1009 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1010 CRLScopeSyntax_sequence_of, hf_index, ett_x509ce_CRLScopeSyntax);
1012 return offset;
1016 static const ber_sequence_t DeltaRefInfo_sequence[] = {
1017 { &hf_x509ce_deltaLocation, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509ce_GeneralName },
1018 { &hf_x509ce_lastDelta , BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509ce_GeneralizedTime },
1019 { NULL, 0, 0, 0, NULL }
1023 dissect_x509ce_DeltaRefInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1024 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1025 DeltaRefInfo_sequence, hf_index, ett_x509ce_DeltaRefInfo);
1027 return offset;
1031 static const ber_sequence_t CRLReferral_sequence[] = {
1032 { &hf_x509ce_crlr_issuer , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x509ce_GeneralName },
1033 { &hf_x509ce_location , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x509ce_GeneralName },
1034 { &hf_x509ce_deltaRefInfo , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_DeltaRefInfo },
1035 { &hf_x509ce_cRLScope , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509ce_CRLScopeSyntax },
1036 { &hf_x509ce_lastUpdate , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_GeneralizedTime },
1037 { &hf_x509ce_lastChangedCRL, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_GeneralizedTime },
1038 { NULL, 0, 0, 0, NULL }
1042 dissect_x509ce_CRLReferral(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1043 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1044 CRLReferral_sequence, hf_index, ett_x509ce_CRLReferral);
1046 return offset;
1050 const value_string x509ce_StatusReferral_vals[] = {
1051 { 0, "cRLReferral" },
1052 { 0, NULL }
1055 static const ber_choice_t StatusReferral_choice[] = {
1056 { 0, &hf_x509ce_cRLReferral , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x509ce_CRLReferral },
1057 { 0, NULL, 0, 0, 0, NULL }
1061 dissect_x509ce_StatusReferral(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1062 offset = dissect_ber_choice(actx, tree, tvb, offset,
1063 StatusReferral_choice, hf_index, ett_x509ce_StatusReferral,
1064 NULL);
1066 return offset;
1070 static const ber_sequence_t StatusReferrals_sequence_of[1] = {
1071 { &hf_x509ce_StatusReferrals_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509ce_StatusReferral },
1075 dissect_x509ce_StatusReferrals(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1076 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1077 StatusReferrals_sequence_of, hf_index, ett_x509ce_StatusReferrals);
1079 return offset;
1083 const value_string x509ce_OrderedListSyntax_vals[] = {
1084 { 0, "ascSerialNum" },
1085 { 1, "ascRevDate" },
1086 { 0, NULL }
1091 dissect_x509ce_OrderedListSyntax(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1092 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1093 NULL);
1095 return offset;
1099 static const ber_sequence_t DeltaInformation_sequence[] = {
1100 { &hf_x509ce_deltaLocation, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509ce_GeneralName },
1101 { &hf_x509ce_nextDelta , BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509ce_GeneralizedTime },
1102 { NULL, 0, 0, 0, NULL }
1106 dissect_x509ce_DeltaInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1107 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1108 DeltaInformation_sequence, hf_index, ett_x509ce_DeltaInformation);
1110 return offset;
1114 static const ber_sequence_t DistributionPoint_sequence[] = {
1115 { &hf_x509ce_distributionPoint, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x509ce_DistributionPointName },
1116 { &hf_x509ce_reasons , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_ReasonFlags },
1117 { &hf_x509ce_cRLIssuer , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_GeneralNames },
1118 { NULL, 0, 0, 0, NULL }
1122 dissect_x509ce_DistributionPoint(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1123 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1124 DistributionPoint_sequence, hf_index, ett_x509ce_DistributionPoint);
1126 return offset;
1130 static const ber_sequence_t CRLDistPointsSyntax_sequence_of[1] = {
1131 { &hf_x509ce_CRLDistPointsSyntax_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509ce_DistributionPoint },
1135 dissect_x509ce_CRLDistPointsSyntax(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1136 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1137 CRLDistPointsSyntax_sequence_of, hf_index, ett_x509ce_CRLDistPointsSyntax);
1139 return offset;
1143 static const ber_sequence_t IssuingDistPointSyntax_sequence[] = {
1144 { &hf_x509ce_distributionPoint, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x509ce_DistributionPointName },
1145 { &hf_x509ce_onlyContainsUserPublicKeyCerts, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_BOOLEAN },
1146 { &hf_x509ce_onlyContainsCACerts, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_BOOLEAN },
1147 { &hf_x509ce_onlySomeReasons, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_ReasonFlags },
1148 { &hf_x509ce_indirectCRL , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_BOOLEAN },
1149 { NULL, 0, 0, 0, NULL }
1153 dissect_x509ce_IssuingDistPointSyntax(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1154 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1155 IssuingDistPointSyntax_sequence, hf_index, ett_x509ce_IssuingDistPointSyntax);
1157 return offset;
1163 dissect_x509ce_BaseCRLNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1164 offset = dissect_x509ce_CRLNumber(implicit_tag, tvb, offset, actx, tree, hf_index);
1166 return offset;
1170 static const ber_sequence_t ReasonInfo_sequence[] = {
1171 { &hf_x509ce_reasonCode , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_x509ce_CRLReason },
1172 { &hf_x509ce_holdInstructionCode, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509ce_HoldInstruction },
1173 { NULL, 0, 0, 0, NULL }
1176 static int
1177 dissect_x509ce_ReasonInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1178 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1179 ReasonInfo_sequence, hf_index, ett_x509ce_ReasonInfo);
1181 return offset;
1185 static const ber_sequence_t CertificateSerialNumbers_sequence_of[1] = {
1186 { &hf_x509ce_CertificateSerialNumbers_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x509af_CertificateSerialNumber },
1189 static int
1190 dissect_x509ce_CertificateSerialNumbers(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1191 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1192 CertificateSerialNumbers_sequence_of, hf_index, ett_x509ce_CertificateSerialNumbers);
1194 return offset;
1198 static const ber_sequence_t CertificateGroupNumberRange_sequence[] = {
1199 { &hf_x509ce_startingNumber, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x509ce_INTEGER },
1200 { &hf_x509ce_endingNumber , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x509ce_INTEGER },
1201 { NULL, 0, 0, 0, NULL }
1204 static int
1205 dissect_x509ce_CertificateGroupNumberRange(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1206 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1207 CertificateGroupNumberRange_sequence, hf_index, ett_x509ce_CertificateGroupNumberRange);
1209 return offset;
1213 static const value_string x509ce_CertificateGroup_vals[] = {
1214 { 0, "serialNumbers" },
1215 { 1, "serialNumberRange" },
1216 { 2, "nameSubtree" },
1217 { 0, NULL }
1220 static const ber_choice_t CertificateGroup_choice[] = {
1221 { 0, &hf_x509ce_serialNumbers, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateSerialNumbers },
1222 { 1, &hf_x509ce_certificateGroupNumberRange, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateGroupNumberRange },
1223 { 2, &hf_x509ce_nameSubtree , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_x509ce_GeneralName },
1224 { 0, NULL, 0, 0, 0, NULL }
1227 static int
1228 dissect_x509ce_CertificateGroup(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1229 offset = dissect_ber_choice(actx, tree, tvb, offset,
1230 CertificateGroup_choice, hf_index, ett_x509ce_CertificateGroup,
1231 NULL);
1233 return offset;
1237 static const ber_sequence_t ToBeRevokedGroup_sequence[] = {
1238 { &hf_x509ce_certificateIssuer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x509ce_GeneralName },
1239 { &hf_x509ce_reasonInfo , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_ReasonInfo },
1240 { &hf_x509ce_revocationTime, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_x509ce_GeneralizedTime },
1241 { &hf_x509ce_certificateGroup, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509ce_CertificateGroup },
1242 { NULL, 0, 0, 0, NULL }
1245 static int
1246 dissect_x509ce_ToBeRevokedGroup(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1247 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1248 ToBeRevokedGroup_sequence, hf_index, ett_x509ce_ToBeRevokedGroup);
1250 return offset;
1254 static const ber_sequence_t ToBeRevokedSyntax_sequence_of[1] = {
1255 { &hf_x509ce_ToBeRevokedSyntax_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509ce_ToBeRevokedGroup },
1258 static int
1259 dissect_x509ce_ToBeRevokedSyntax(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1260 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1261 ToBeRevokedSyntax_sequence_of, hf_index, ett_x509ce_ToBeRevokedSyntax);
1263 return offset;
1267 static const value_string x509ce_RevokedCertificateGroup_vals[] = {
1268 { 0, "serialNumberRange" },
1269 { 1, "nameSubtree" },
1270 { 0, NULL }
1273 static const ber_choice_t RevokedCertificateGroup_choice[] = {
1274 { 0, &hf_x509ce_serialNumberRange, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509ce_NumberRange },
1275 { 1, &hf_x509ce_nameSubtree , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_x509ce_GeneralName },
1276 { 0, NULL, 0, 0, 0, NULL }
1279 static int
1280 dissect_x509ce_RevokedCertificateGroup(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1281 offset = dissect_ber_choice(actx, tree, tvb, offset,
1282 RevokedCertificateGroup_choice, hf_index, ett_x509ce_RevokedCertificateGroup,
1283 NULL);
1285 return offset;
1289 static const ber_sequence_t RevokedGroup_sequence[] = {
1290 { &hf_x509ce_certificateIssuer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x509ce_GeneralName },
1291 { &hf_x509ce_reasonInfo , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_ReasonInfo },
1292 { &hf_x509ce_invalidityDate, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_GeneralizedTime },
1293 { &hf_x509ce_revokedcertificateGroup, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x509ce_RevokedCertificateGroup },
1294 { NULL, 0, 0, 0, NULL }
1297 static int
1298 dissect_x509ce_RevokedGroup(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1299 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1300 RevokedGroup_sequence, hf_index, ett_x509ce_RevokedGroup);
1302 return offset;
1306 static const ber_sequence_t RevokedGroupsSyntax_sequence_of[1] = {
1307 { &hf_x509ce_RevokedGroupsSyntax_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509ce_RevokedGroup },
1310 static int
1311 dissect_x509ce_RevokedGroupsSyntax(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1312 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1313 RevokedGroupsSyntax_sequence_of, hf_index, ett_x509ce_RevokedGroupsSyntax);
1315 return offset;
1320 static int
1321 dissect_x509ce_ExpiredCertsOnCRL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1322 offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
1324 return offset;
1328 static const ber_sequence_t AAIssuingDistPointSyntax_sequence[] = {
1329 { &hf_x509ce_distributionPoint, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x509ce_DistributionPointName },
1330 { &hf_x509ce_onlySomeReasons, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_ReasonFlags },
1331 { &hf_x509ce_indirectCRL , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_BOOLEAN },
1332 { &hf_x509ce_containsUserAttributeCerts, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_BOOLEAN },
1333 { &hf_x509ce_containsAACerts, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_BOOLEAN },
1334 { &hf_x509ce_containsSOAPublicKeyCerts, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_BOOLEAN },
1335 { NULL, 0, 0, 0, NULL }
1338 static int
1339 dissect_x509ce_AAIssuingDistPointSyntax(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1340 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1341 AAIssuingDistPointSyntax_sequence, hf_index, ett_x509ce_AAIssuingDistPointSyntax);
1343 return offset;
1347 static const ber_sequence_t CertificateExactAssertion_sequence[] = {
1348 { &hf_x509ce_serialNumber , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x509af_CertificateSerialNumber },
1349 { &hf_x509ce_issuer , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_x509if_Name },
1350 { NULL, 0, 0, 0, NULL }
1354 dissect_x509ce_CertificateExactAssertion(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1355 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1356 CertificateExactAssertion_sequence, hf_index, ett_x509ce_CertificateExactAssertion);
1358 return offset;
1362 static const value_string x509ce_T_builtinNameForm_vals[] = {
1363 { 1, "rfc822Name" },
1364 { 2, "dNSName" },
1365 { 3, "x400Address" },
1366 { 4, "directoryName" },
1367 { 5, "ediPartyName" },
1368 { 6, "uniformResourceIdentifier" },
1369 { 7, "iPAddress" },
1370 { 8, "registeredId" },
1371 { 0, NULL }
1375 static int
1376 dissect_x509ce_T_builtinNameForm(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1377 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1378 NULL);
1380 return offset;
1384 const value_string x509ce_AltNameType_vals[] = {
1385 { 0, "builtinNameForm" },
1386 { 1, "otherNameForm" },
1387 { 0, NULL }
1390 static const ber_choice_t AltNameType_choice[] = {
1391 { 0, &hf_x509ce_builtinNameForm, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_x509ce_T_builtinNameForm },
1392 { 1, &hf_x509ce_otherNameForm, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509ce_OBJECT_IDENTIFIER },
1393 { 0, NULL, 0, 0, 0, NULL }
1397 dissect_x509ce_AltNameType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1398 offset = dissect_ber_choice(actx, tree, tvb, offset,
1399 AltNameType_choice, hf_index, ett_x509ce_AltNameType,
1400 NULL);
1402 return offset;
1406 static const ber_sequence_t CertPolicySet_sequence_of[1] = {
1407 { &hf_x509ce_CertPolicySet_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509ce_CertPolicyId },
1411 dissect_x509ce_CertPolicySet(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1412 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1413 CertPolicySet_sequence_of, hf_index, ett_x509ce_CertPolicySet);
1415 return offset;
1419 static const ber_sequence_t CertificateAssertion_sequence[] = {
1420 { &hf_x509ce_serialNumber , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509af_CertificateSerialNumber },
1421 { &hf_x509ce_issuer , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509if_Name },
1422 { &hf_x509ce_subjectKeyIdentifier, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_SubjectKeyIdentifier },
1423 { &hf_x509ce_authorityKeyIdentifier, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_AuthorityKeyIdentifier },
1424 { &hf_x509ce_certificateValid, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509af_Time },
1425 { &hf_x509ce_privateKeyValid, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_GeneralizedTime },
1426 { &hf_x509ce_subjectPublicKeyAlgID, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_OBJECT_IDENTIFIER },
1427 { &hf_x509ce_keyUsage , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_KeyUsage },
1428 { &hf_x509ce_subjectAltNameType, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x509ce_AltNameType },
1429 { &hf_x509ce_policy , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertPolicySet },
1430 { &hf_x509ce_pathToName , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509if_Name },
1431 { &hf_x509ce_subject , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509if_Name },
1432 { &hf_x509ce_nameConstraints, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_NameConstraintsSyntax },
1433 { NULL, 0, 0, 0, NULL }
1437 dissect_x509ce_CertificateAssertion(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1438 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1439 CertificateAssertion_sequence, hf_index, ett_x509ce_CertificateAssertion);
1441 return offset;
1445 static const ber_sequence_t CertificatePairExactAssertion_sequence[] = {
1446 { &hf_x509ce_cpea_issuedToThisCAAssertion, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateExactAssertion },
1447 { &hf_x509ce_cpea_issuedByThisCAAssertion, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateExactAssertion },
1448 { NULL, 0, 0, 0, NULL }
1452 dissect_x509ce_CertificatePairExactAssertion(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1453 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1454 CertificatePairExactAssertion_sequence, hf_index, ett_x509ce_CertificatePairExactAssertion);
1456 return offset;
1460 static const ber_sequence_t CertificatePairAssertion_sequence[] = {
1461 { &hf_x509ce_issuedToThisCAAssertion, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion },
1462 { &hf_x509ce_issuedByThisCAAssertion, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertificateAssertion },
1463 { NULL, 0, 0, 0, NULL }
1467 dissect_x509ce_CertificatePairAssertion(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1468 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1469 CertificatePairAssertion_sequence, hf_index, ett_x509ce_CertificatePairAssertion);
1471 return offset;
1475 static const ber_sequence_t CertificateListExactAssertion_sequence[] = {
1476 { &hf_x509ce_issuer , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_x509if_Name },
1477 { &hf_x509ce_thisUpdate , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_x509af_Time },
1478 { &hf_x509ce_distributionPoint, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509ce_DistributionPointName },
1479 { NULL, 0, 0, 0, NULL }
1483 dissect_x509ce_CertificateListExactAssertion(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1484 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1485 CertificateListExactAssertion_sequence, hf_index, ett_x509ce_CertificateListExactAssertion);
1487 return offset;
1491 static const ber_sequence_t CertificateListAssertion_sequence[] = {
1492 { &hf_x509ce_issuer , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509if_Name },
1493 { &hf_x509ce_minCRLNumber , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CRLNumber },
1494 { &hf_x509ce_maxCRLNumber , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CRLNumber },
1495 { &hf_x509ce_reasonFlags , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509ce_ReasonFlags },
1496 { &hf_x509ce_dateAndTime , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509af_Time },
1497 { &hf_x509ce_distributionPoint, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_x509ce_DistributionPointName },
1498 { &hf_x509ce_authorityKeyIdentifier, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_AuthorityKeyIdentifier },
1499 { NULL, 0, 0, 0, NULL }
1503 dissect_x509ce_CertificateListAssertion(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1504 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1505 CertificateListAssertion_sequence, hf_index, ett_x509ce_CertificateListAssertion);
1507 return offset;
1511 static const ber_sequence_t PkiPathMatchSyntax_sequence[] = {
1512 { &hf_x509ce_firstIssuer , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_x509if_Name },
1513 { &hf_x509ce_lastSubject , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_x509if_Name },
1514 { NULL, 0, 0, 0, NULL }
1518 dissect_x509ce_PkiPathMatchSyntax(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1519 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1520 PkiPathMatchSyntax_sequence, hf_index, ett_x509ce_PkiPathMatchSyntax);
1522 return offset;
1526 static const ber_sequence_t AltName_sequence[] = {
1527 { &hf_x509ce_altnameType , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509ce_AltNameType },
1528 { &hf_x509ce_altNameValue , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509ce_GeneralName },
1529 { NULL, 0, 0, 0, NULL }
1532 static int
1533 dissect_x509ce_AltName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1534 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1535 AltName_sequence, hf_index, ett_x509ce_AltName);
1537 return offset;
1541 static const ber_sequence_t EnhancedCertificateAssertion_sequence[] = {
1542 { &hf_x509ce_serialNumber , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509af_CertificateSerialNumber },
1543 { &hf_x509ce_issuer , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509if_Name },
1544 { &hf_x509ce_subjectKeyIdentifier, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_SubjectKeyIdentifier },
1545 { &hf_x509ce_authorityKeyIdentifier, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_AuthorityKeyIdentifier },
1546 { &hf_x509ce_certificateValid, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509af_Time },
1547 { &hf_x509ce_privateKeyValid, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_GeneralizedTime },
1548 { &hf_x509ce_subjectPublicKeyAlgID, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_OBJECT_IDENTIFIER },
1549 { &hf_x509ce_keyUsage , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_KeyUsage },
1550 { &hf_x509ce_subjectAltName, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_AltName },
1551 { &hf_x509ce_policy , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_CertPolicySet },
1552 { &hf_x509ce_enhancedPathToName, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_GeneralNames },
1553 { &hf_x509ce_subject , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509if_Name },
1554 { &hf_x509ce_nameConstraints, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_x509ce_NameConstraintsSyntax },
1555 { NULL, 0, 0, 0, NULL }
1558 static int
1559 dissect_x509ce_EnhancedCertificateAssertion(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1560 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1561 EnhancedCertificateAssertion_sequence, hf_index, ett_x509ce_EnhancedCertificateAssertion);
1563 return offset;
1567 static const ber_sequence_t CertificateTemplate_sequence[] = {
1568 { &hf_x509ce_templateID , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509ce_OBJECT_IDENTIFIER },
1569 { &hf_x509ce_templateMajorVersion, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x509ce_INTEGER },
1570 { &hf_x509ce_templateMinorVersion, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509ce_INTEGER },
1571 { NULL, 0, 0, 0, NULL }
1574 static int
1575 dissect_x509ce_CertificateTemplate(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1576 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1577 CertificateTemplate_sequence, hf_index, ett_x509ce_CertificateTemplate);
1579 return offset;
1584 static int
1585 dissect_x509ce_GeneralString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1586 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_GeneralString,
1587 actx, tree, tvb, offset, hf_index,
1588 NULL);
1590 return offset;
1594 static const asn_namedbit EntrustInfoFlags_bits[] = {
1595 { 0, &hf_x509ce_EntrustInfoFlags_keyUpdateAllowed, -1, -1, "keyUpdateAllowed", NULL },
1596 { 1, &hf_x509ce_EntrustInfoFlags_newExtensions, -1, -1, "newExtensions", NULL },
1597 { 2, &hf_x509ce_EntrustInfoFlags_pKIXCertificate, -1, -1, "pKIXCertificate", NULL },
1598 { 3, &hf_x509ce_EntrustInfoFlags_enterpriseCategory, -1, -1, "enterpriseCategory", NULL },
1599 { 4, &hf_x509ce_EntrustInfoFlags_webCategory, -1, -1, "webCategory", NULL },
1600 { 5, &hf_x509ce_EntrustInfoFlags_sETCategory, -1, -1, "sETCategory", NULL },
1601 { 0, NULL, 0, 0, NULL, NULL }
1604 static int
1605 dissect_x509ce_EntrustInfoFlags(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1606 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
1607 EntrustInfoFlags_bits, hf_index, ett_x509ce_EntrustInfoFlags,
1608 NULL);
1610 return offset;
1614 static const ber_sequence_t EntrustVersionInfo_sequence[] = {
1615 { &hf_x509ce_entrustVers , BER_CLASS_UNI, BER_UNI_TAG_GeneralString, BER_FLAGS_NOOWNTAG, dissect_x509ce_GeneralString },
1616 { &hf_x509ce_entrustVersInfoFlags, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509ce_EntrustInfoFlags },
1617 { NULL, 0, 0, 0, NULL }
1620 static int
1621 dissect_x509ce_EntrustVersionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1622 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1623 EntrustVersionInfo_sequence, hf_index, ett_x509ce_EntrustVersionInfo);
1625 return offset;
1629 static const ber_sequence_t ScramblerCapabilities_sequence[] = {
1630 { &hf_x509ce_capability , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x509ce_INTEGER_0_MAX },
1631 { &hf_x509ce_version , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x509ce_INTEGER_0_MAX },
1632 { NULL, 0, 0, 0, NULL }
1636 dissect_x509ce_ScramblerCapabilities(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1637 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1638 ScramblerCapabilities_sequence, hf_index, ett_x509ce_ScramblerCapabilities);
1640 return offset;
1646 dissect_x509ce_CiplusInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1647 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
1648 NULL, hf_index, -1,
1649 NULL);
1651 return offset;
1657 dissect_x509ce_CicamBrandId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1658 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1659 NULL);
1661 return offset;
1664 /*--- PDUs ---*/
1666 static void dissect_AuthorityKeyIdentifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1667 asn1_ctx_t asn1_ctx;
1668 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1669 dissect_x509ce_AuthorityKeyIdentifier(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_AuthorityKeyIdentifier_PDU);
1671 static void dissect_SubjectKeyIdentifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1672 asn1_ctx_t asn1_ctx;
1673 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1674 dissect_x509ce_SubjectKeyIdentifier(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_SubjectKeyIdentifier_PDU);
1676 static void dissect_KeyUsage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1677 asn1_ctx_t asn1_ctx;
1678 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1679 dissect_x509ce_KeyUsage(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_KeyUsage_PDU);
1681 static void dissect_KeyPurposeIDs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1682 asn1_ctx_t asn1_ctx;
1683 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1684 dissect_x509ce_KeyPurposeIDs(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_KeyPurposeIDs_PDU);
1686 static void dissect_PrivateKeyUsagePeriod_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1687 asn1_ctx_t asn1_ctx;
1688 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1689 dissect_x509ce_PrivateKeyUsagePeriod(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_PrivateKeyUsagePeriod_PDU);
1691 static void dissect_CertificatePoliciesSyntax_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1692 asn1_ctx_t asn1_ctx;
1693 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1694 dissect_x509ce_CertificatePoliciesSyntax(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_CertificatePoliciesSyntax_PDU);
1696 static void dissect_PolicyMappingsSyntax_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1697 asn1_ctx_t asn1_ctx;
1698 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1699 dissect_x509ce_PolicyMappingsSyntax(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_PolicyMappingsSyntax_PDU);
1701 static void dissect_GeneralNames_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1702 asn1_ctx_t asn1_ctx;
1703 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1704 dissect_x509ce_GeneralNames(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_GeneralNames_PDU);
1706 static void dissect_AttributesSyntax_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1707 asn1_ctx_t asn1_ctx;
1708 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1709 dissect_x509ce_AttributesSyntax(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_AttributesSyntax_PDU);
1711 static void dissect_BasicConstraintsSyntax_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1712 asn1_ctx_t asn1_ctx;
1713 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1714 dissect_x509ce_BasicConstraintsSyntax(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_BasicConstraintsSyntax_PDU);
1716 static void dissect_NameConstraintsSyntax_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1717 asn1_ctx_t asn1_ctx;
1718 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1719 dissect_x509ce_NameConstraintsSyntax(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_NameConstraintsSyntax_PDU);
1721 static void dissect_PolicyConstraintsSyntax_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1722 asn1_ctx_t asn1_ctx;
1723 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1724 dissect_x509ce_PolicyConstraintsSyntax(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_PolicyConstraintsSyntax_PDU);
1726 static void dissect_SkipCerts_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1727 asn1_ctx_t asn1_ctx;
1728 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1729 dissect_x509ce_SkipCerts(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_SkipCerts_PDU);
1731 static void dissect_CRLNumber_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1732 asn1_ctx_t asn1_ctx;
1733 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1734 dissect_x509ce_CRLNumber(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_CRLNumber_PDU);
1736 static void dissect_CRLReason_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1737 asn1_ctx_t asn1_ctx;
1738 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1739 dissect_x509ce_CRLReason(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_CRLReason_PDU);
1741 static void dissect_HoldInstruction_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1742 asn1_ctx_t asn1_ctx;
1743 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1744 dissect_x509ce_HoldInstruction(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_HoldInstruction_PDU);
1746 static void dissect_CRLScopeSyntax_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1747 asn1_ctx_t asn1_ctx;
1748 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1749 dissect_x509ce_CRLScopeSyntax(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_CRLScopeSyntax_PDU);
1751 static void dissect_StatusReferrals_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1752 asn1_ctx_t asn1_ctx;
1753 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1754 dissect_x509ce_StatusReferrals(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_StatusReferrals_PDU);
1756 static void dissect_CRLStreamIdentifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1757 asn1_ctx_t asn1_ctx;
1758 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1759 dissect_x509ce_CRLStreamIdentifier(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_CRLStreamIdentifier_PDU);
1761 static void dissect_OrderedListSyntax_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1762 asn1_ctx_t asn1_ctx;
1763 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1764 dissect_x509ce_OrderedListSyntax(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_OrderedListSyntax_PDU);
1766 static void dissect_DeltaInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1767 asn1_ctx_t asn1_ctx;
1768 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1769 dissect_x509ce_DeltaInformation(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_DeltaInformation_PDU);
1771 static void dissect_CRLDistPointsSyntax_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1772 asn1_ctx_t asn1_ctx;
1773 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1774 dissect_x509ce_CRLDistPointsSyntax(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_CRLDistPointsSyntax_PDU);
1776 static void dissect_IssuingDistPointSyntax_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1777 asn1_ctx_t asn1_ctx;
1778 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1779 dissect_x509ce_IssuingDistPointSyntax(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_IssuingDistPointSyntax_PDU);
1781 static void dissect_BaseCRLNumber_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1782 asn1_ctx_t asn1_ctx;
1783 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1784 dissect_x509ce_BaseCRLNumber(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_BaseCRLNumber_PDU);
1786 static void dissect_ToBeRevokedSyntax_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1787 asn1_ctx_t asn1_ctx;
1788 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1789 dissect_x509ce_ToBeRevokedSyntax(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_ToBeRevokedSyntax_PDU);
1791 static void dissect_RevokedGroupsSyntax_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1792 asn1_ctx_t asn1_ctx;
1793 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1794 dissect_x509ce_RevokedGroupsSyntax(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_RevokedGroupsSyntax_PDU);
1796 static void dissect_ExpiredCertsOnCRL_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1797 asn1_ctx_t asn1_ctx;
1798 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1799 dissect_x509ce_ExpiredCertsOnCRL(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_ExpiredCertsOnCRL_PDU);
1801 static void dissect_AAIssuingDistPointSyntax_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1802 asn1_ctx_t asn1_ctx;
1803 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1804 dissect_x509ce_AAIssuingDistPointSyntax(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_AAIssuingDistPointSyntax_PDU);
1806 static void dissect_CertificateAssertion_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1807 asn1_ctx_t asn1_ctx;
1808 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1809 dissect_x509ce_CertificateAssertion(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_CertificateAssertion_PDU);
1811 static void dissect_CertificatePairExactAssertion_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1812 asn1_ctx_t asn1_ctx;
1813 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1814 dissect_x509ce_CertificatePairExactAssertion(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_CertificatePairExactAssertion_PDU);
1816 static void dissect_CertificatePairAssertion_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1817 asn1_ctx_t asn1_ctx;
1818 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1819 dissect_x509ce_CertificatePairAssertion(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_CertificatePairAssertion_PDU);
1821 static void dissect_CertificateListExactAssertion_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1822 asn1_ctx_t asn1_ctx;
1823 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1824 dissect_x509ce_CertificateListExactAssertion(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_CertificateListExactAssertion_PDU);
1826 static void dissect_CertificateListAssertion_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1827 asn1_ctx_t asn1_ctx;
1828 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1829 dissect_x509ce_CertificateListAssertion(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_CertificateListAssertion_PDU);
1831 static void dissect_PkiPathMatchSyntax_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1832 asn1_ctx_t asn1_ctx;
1833 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1834 dissect_x509ce_PkiPathMatchSyntax(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_PkiPathMatchSyntax_PDU);
1836 static void dissect_EnhancedCertificateAssertion_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1837 asn1_ctx_t asn1_ctx;
1838 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1839 dissect_x509ce_EnhancedCertificateAssertion(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_EnhancedCertificateAssertion_PDU);
1841 static void dissect_CertificateTemplate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1842 asn1_ctx_t asn1_ctx;
1843 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1844 dissect_x509ce_CertificateTemplate(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_CertificateTemplate_PDU);
1846 static void dissect_EntrustVersionInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1847 asn1_ctx_t asn1_ctx;
1848 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1849 dissect_x509ce_EntrustVersionInfo(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_EntrustVersionInfo_PDU);
1851 static void dissect_ScramblerCapabilities_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1852 asn1_ctx_t asn1_ctx;
1853 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1854 dissect_x509ce_ScramblerCapabilities(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_ScramblerCapabilities_PDU);
1856 static void dissect_CiplusInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1857 asn1_ctx_t asn1_ctx;
1858 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1859 dissect_x509ce_CiplusInfo(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_CiplusInfo_PDU);
1861 static void dissect_CicamBrandId_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1862 asn1_ctx_t asn1_ctx;
1863 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1864 dissect_x509ce_CicamBrandId(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_CicamBrandId_PDU);
1868 /*--- End of included file: packet-x509ce-fn.c ---*/
1869 #line 54 "../../asn1/x509ce/packet-x509ce-template.c"
1871 /* CI+ (www.ci-plus.com) defines some X.509 certificate extensions
1872 that use OIDs which are not officially assigned
1873 dissection of these extensions can be enabled temporarily using the
1874 functions below */
1875 void
1876 x509ce_enable_ciplus(void)
1878 dissector_handle_t dh25, dh26, dh27;
1880 dh25 = create_dissector_handle(dissect_ScramblerCapabilities_PDU, proto_x509ce);
1881 dissector_change_string("ber.oid", "1.3.6.1.5.5.7.1.25", dh25);
1882 dh26 = create_dissector_handle(dissect_CiplusInfo_PDU, proto_x509ce);
1883 dissector_change_string("ber.oid", "1.3.6.1.5.5.7.1.26", dh26);
1884 dh27 = create_dissector_handle(dissect_CicamBrandId_PDU, proto_x509ce);
1885 dissector_change_string("ber.oid", "1.3.6.1.5.5.7.1.27", dh27);
1888 void
1889 x509ce_disable_ciplus(void)
1891 dissector_reset_string("ber.oid", "1.3.6.1.5.5.7.1.25");
1892 dissector_reset_string("ber.oid", "1.3.6.1.5.5.7.1.26");
1893 dissector_reset_string("ber.oid", "1.3.6.1.5.5.7.1.27");
1897 static void
1898 dissect_x509ce_invalidityDate_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
1900 asn1_ctx_t asn1_ctx;
1901 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1903 dissect_x509ce_GeneralizedTime(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_id_ce_invalidityDate);
1906 static void
1907 dissect_x509ce_baseUpdateTime_callback(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
1909 asn1_ctx_t asn1_ctx;
1910 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1911 dissect_x509ce_GeneralizedTime(FALSE, tvb, 0, &asn1_ctx, tree, hf_x509ce_id_ce_baseUpdateTime);
1914 /*--- proto_register_x509ce ----------------------------------------------*/
1915 void proto_register_x509ce(void) {
1917 /* List of fields */
1918 static hf_register_info hf[] = {
1919 { &hf_x509ce_id_ce_baseUpdateTime,
1920 { "baseUpdateTime", "x509ce.id_ce_baseUpdateTime",
1921 FT_STRING, BASE_NONE, NULL, 0,
1922 NULL, HFILL }},
1923 { &hf_x509ce_id_ce_invalidityDate,
1924 { "invalidityDate", "x509ce.id_ce_invalidityDate",
1925 FT_STRING, BASE_NONE, NULL, 0,
1926 NULL, HFILL }},
1927 { &hf_x509ce_object_identifier_id,
1928 { "Id", "x509ce.id", FT_OID, BASE_NONE, NULL, 0,
1929 "Object identifier Id", HFILL }},
1930 { &hf_x509ce_IPAddress,
1931 { "iPAddress", "x509ce.IPAddress", FT_IPv4, BASE_NONE, NULL, 0,
1932 "IP Address", HFILL }},
1935 /*--- Included file: packet-x509ce-hfarr.c ---*/
1936 #line 1 "../../asn1/x509ce/packet-x509ce-hfarr.c"
1937 { &hf_x509ce_AuthorityKeyIdentifier_PDU,
1938 { "AuthorityKeyIdentifier", "x509ce.AuthorityKeyIdentifier_element",
1939 FT_NONE, BASE_NONE, NULL, 0,
1940 NULL, HFILL }},
1941 { &hf_x509ce_SubjectKeyIdentifier_PDU,
1942 { "SubjectKeyIdentifier", "x509ce.SubjectKeyIdentifier",
1943 FT_BYTES, BASE_NONE, NULL, 0,
1944 NULL, HFILL }},
1945 { &hf_x509ce_KeyUsage_PDU,
1946 { "KeyUsage", "x509ce.KeyUsage",
1947 FT_BYTES, BASE_NONE, NULL, 0,
1948 NULL, HFILL }},
1949 { &hf_x509ce_KeyPurposeIDs_PDU,
1950 { "KeyPurposeIDs", "x509ce.KeyPurposeIDs",
1951 FT_UINT32, BASE_DEC, NULL, 0,
1952 NULL, HFILL }},
1953 { &hf_x509ce_PrivateKeyUsagePeriod_PDU,
1954 { "PrivateKeyUsagePeriod", "x509ce.PrivateKeyUsagePeriod_element",
1955 FT_NONE, BASE_NONE, NULL, 0,
1956 NULL, HFILL }},
1957 { &hf_x509ce_CertificatePoliciesSyntax_PDU,
1958 { "CertificatePoliciesSyntax", "x509ce.CertificatePoliciesSyntax",
1959 FT_UINT32, BASE_DEC, NULL, 0,
1960 NULL, HFILL }},
1961 { &hf_x509ce_PolicyMappingsSyntax_PDU,
1962 { "PolicyMappingsSyntax", "x509ce.PolicyMappingsSyntax",
1963 FT_UINT32, BASE_DEC, NULL, 0,
1964 NULL, HFILL }},
1965 { &hf_x509ce_GeneralNames_PDU,
1966 { "GeneralNames", "x509ce.GeneralNames",
1967 FT_UINT32, BASE_DEC, NULL, 0,
1968 NULL, HFILL }},
1969 { &hf_x509ce_AttributesSyntax_PDU,
1970 { "AttributesSyntax", "x509ce.AttributesSyntax",
1971 FT_UINT32, BASE_DEC, NULL, 0,
1972 NULL, HFILL }},
1973 { &hf_x509ce_BasicConstraintsSyntax_PDU,
1974 { "BasicConstraintsSyntax", "x509ce.BasicConstraintsSyntax_element",
1975 FT_NONE, BASE_NONE, NULL, 0,
1976 NULL, HFILL }},
1977 { &hf_x509ce_NameConstraintsSyntax_PDU,
1978 { "NameConstraintsSyntax", "x509ce.NameConstraintsSyntax_element",
1979 FT_NONE, BASE_NONE, NULL, 0,
1980 NULL, HFILL }},
1981 { &hf_x509ce_PolicyConstraintsSyntax_PDU,
1982 { "PolicyConstraintsSyntax", "x509ce.PolicyConstraintsSyntax_element",
1983 FT_NONE, BASE_NONE, NULL, 0,
1984 NULL, HFILL }},
1985 { &hf_x509ce_SkipCerts_PDU,
1986 { "SkipCerts", "x509ce.SkipCerts",
1987 FT_UINT32, BASE_DEC, NULL, 0,
1988 NULL, HFILL }},
1989 { &hf_x509ce_CRLNumber_PDU,
1990 { "CRLNumber", "x509ce.CRLNumber",
1991 FT_UINT32, BASE_DEC, NULL, 0,
1992 NULL, HFILL }},
1993 { &hf_x509ce_CRLReason_PDU,
1994 { "CRLReason", "x509ce.CRLReason",
1995 FT_UINT32, BASE_DEC, VALS(x509ce_CRLReason_vals), 0,
1996 NULL, HFILL }},
1997 { &hf_x509ce_HoldInstruction_PDU,
1998 { "HoldInstruction", "x509ce.HoldInstruction",
1999 FT_OID, BASE_NONE, NULL, 0,
2000 NULL, HFILL }},
2001 { &hf_x509ce_CRLScopeSyntax_PDU,
2002 { "CRLScopeSyntax", "x509ce.CRLScopeSyntax",
2003 FT_UINT32, BASE_DEC, NULL, 0,
2004 NULL, HFILL }},
2005 { &hf_x509ce_StatusReferrals_PDU,
2006 { "StatusReferrals", "x509ce.StatusReferrals",
2007 FT_UINT32, BASE_DEC, NULL, 0,
2008 NULL, HFILL }},
2009 { &hf_x509ce_CRLStreamIdentifier_PDU,
2010 { "CRLStreamIdentifier", "x509ce.CRLStreamIdentifier",
2011 FT_UINT32, BASE_DEC, NULL, 0,
2012 NULL, HFILL }},
2013 { &hf_x509ce_OrderedListSyntax_PDU,
2014 { "OrderedListSyntax", "x509ce.OrderedListSyntax",
2015 FT_UINT32, BASE_DEC, VALS(x509ce_OrderedListSyntax_vals), 0,
2016 NULL, HFILL }},
2017 { &hf_x509ce_DeltaInformation_PDU,
2018 { "DeltaInformation", "x509ce.DeltaInformation_element",
2019 FT_NONE, BASE_NONE, NULL, 0,
2020 NULL, HFILL }},
2021 { &hf_x509ce_CRLDistPointsSyntax_PDU,
2022 { "CRLDistPointsSyntax", "x509ce.CRLDistPointsSyntax",
2023 FT_UINT32, BASE_DEC, NULL, 0,
2024 NULL, HFILL }},
2025 { &hf_x509ce_IssuingDistPointSyntax_PDU,
2026 { "IssuingDistPointSyntax", "x509ce.IssuingDistPointSyntax_element",
2027 FT_NONE, BASE_NONE, NULL, 0,
2028 NULL, HFILL }},
2029 { &hf_x509ce_BaseCRLNumber_PDU,
2030 { "BaseCRLNumber", "x509ce.BaseCRLNumber",
2031 FT_UINT32, BASE_DEC, NULL, 0,
2032 NULL, HFILL }},
2033 { &hf_x509ce_ToBeRevokedSyntax_PDU,
2034 { "ToBeRevokedSyntax", "x509ce.ToBeRevokedSyntax",
2035 FT_UINT32, BASE_DEC, NULL, 0,
2036 NULL, HFILL }},
2037 { &hf_x509ce_RevokedGroupsSyntax_PDU,
2038 { "RevokedGroupsSyntax", "x509ce.RevokedGroupsSyntax",
2039 FT_UINT32, BASE_DEC, NULL, 0,
2040 NULL, HFILL }},
2041 { &hf_x509ce_ExpiredCertsOnCRL_PDU,
2042 { "ExpiredCertsOnCRL", "x509ce.ExpiredCertsOnCRL",
2043 FT_STRING, BASE_NONE, NULL, 0,
2044 NULL, HFILL }},
2045 { &hf_x509ce_AAIssuingDistPointSyntax_PDU,
2046 { "AAIssuingDistPointSyntax", "x509ce.AAIssuingDistPointSyntax_element",
2047 FT_NONE, BASE_NONE, NULL, 0,
2048 NULL, HFILL }},
2049 { &hf_x509ce_CertificateAssertion_PDU,
2050 { "CertificateAssertion", "x509ce.CertificateAssertion_element",
2051 FT_NONE, BASE_NONE, NULL, 0,
2052 NULL, HFILL }},
2053 { &hf_x509ce_CertificatePairExactAssertion_PDU,
2054 { "CertificatePairExactAssertion", "x509ce.CertificatePairExactAssertion_element",
2055 FT_NONE, BASE_NONE, NULL, 0,
2056 NULL, HFILL }},
2057 { &hf_x509ce_CertificatePairAssertion_PDU,
2058 { "CertificatePairAssertion", "x509ce.CertificatePairAssertion_element",
2059 FT_NONE, BASE_NONE, NULL, 0,
2060 NULL, HFILL }},
2061 { &hf_x509ce_CertificateListExactAssertion_PDU,
2062 { "CertificateListExactAssertion", "x509ce.CertificateListExactAssertion_element",
2063 FT_NONE, BASE_NONE, NULL, 0,
2064 NULL, HFILL }},
2065 { &hf_x509ce_CertificateListAssertion_PDU,
2066 { "CertificateListAssertion", "x509ce.CertificateListAssertion_element",
2067 FT_NONE, BASE_NONE, NULL, 0,
2068 NULL, HFILL }},
2069 { &hf_x509ce_PkiPathMatchSyntax_PDU,
2070 { "PkiPathMatchSyntax", "x509ce.PkiPathMatchSyntax_element",
2071 FT_NONE, BASE_NONE, NULL, 0,
2072 NULL, HFILL }},
2073 { &hf_x509ce_EnhancedCertificateAssertion_PDU,
2074 { "EnhancedCertificateAssertion", "x509ce.EnhancedCertificateAssertion_element",
2075 FT_NONE, BASE_NONE, NULL, 0,
2076 NULL, HFILL }},
2077 { &hf_x509ce_CertificateTemplate_PDU,
2078 { "CertificateTemplate", "x509ce.CertificateTemplate_element",
2079 FT_NONE, BASE_NONE, NULL, 0,
2080 NULL, HFILL }},
2081 { &hf_x509ce_EntrustVersionInfo_PDU,
2082 { "EntrustVersionInfo", "x509ce.EntrustVersionInfo_element",
2083 FT_NONE, BASE_NONE, NULL, 0,
2084 NULL, HFILL }},
2085 { &hf_x509ce_ScramblerCapabilities_PDU,
2086 { "ScramblerCapabilities", "x509ce.ScramblerCapabilities_element",
2087 FT_NONE, BASE_NONE, NULL, 0,
2088 NULL, HFILL }},
2089 { &hf_x509ce_CiplusInfo_PDU,
2090 { "CiplusInfo", "x509ce.CiplusInfo",
2091 FT_BYTES, BASE_NONE, NULL, 0,
2092 NULL, HFILL }},
2093 { &hf_x509ce_CicamBrandId_PDU,
2094 { "CicamBrandId", "x509ce.CicamBrandId",
2095 FT_UINT32, BASE_DEC, NULL, 0,
2096 NULL, HFILL }},
2097 { &hf_x509ce_keyIdentifier,
2098 { "keyIdentifier", "x509ce.keyIdentifier",
2099 FT_BYTES, BASE_NONE, NULL, 0,
2100 NULL, HFILL }},
2101 { &hf_x509ce_authorityCertIssuer,
2102 { "authorityCertIssuer", "x509ce.authorityCertIssuer",
2103 FT_UINT32, BASE_DEC, NULL, 0,
2104 "GeneralNames", HFILL }},
2105 { &hf_x509ce_authorityCertSerialNumber,
2106 { "authorityCertSerialNumber", "x509ce.authorityCertSerialNumber",
2107 FT_INT32, BASE_DEC, NULL, 0,
2108 "CertificateSerialNumber", HFILL }},
2109 { &hf_x509ce_KeyPurposeIDs_item,
2110 { "KeyPurposeId", "x509ce.KeyPurposeId",
2111 FT_OID, BASE_NONE, NULL, 0,
2112 NULL, HFILL }},
2113 { &hf_x509ce_notBefore,
2114 { "notBefore", "x509ce.notBefore",
2115 FT_STRING, BASE_NONE, NULL, 0,
2116 "GeneralizedTime", HFILL }},
2117 { &hf_x509ce_notAfter,
2118 { "notAfter", "x509ce.notAfter",
2119 FT_STRING, BASE_NONE, NULL, 0,
2120 "GeneralizedTime", HFILL }},
2121 { &hf_x509ce_CertificatePoliciesSyntax_item,
2122 { "PolicyInformation", "x509ce.PolicyInformation_element",
2123 FT_NONE, BASE_NONE, NULL, 0,
2124 NULL, HFILL }},
2125 { &hf_x509ce_policyIdentifier,
2126 { "policyIdentifier", "x509ce.policyIdentifier",
2127 FT_OID, BASE_NONE, NULL, 0,
2128 "CertPolicyId", HFILL }},
2129 { &hf_x509ce_policyQualifiers,
2130 { "policyQualifiers", "x509ce.policyQualifiers",
2131 FT_UINT32, BASE_DEC, NULL, 0,
2132 "SEQUENCE_SIZE_1_MAX_OF_PolicyQualifierInfo", HFILL }},
2133 { &hf_x509ce_policyQualifiers_item,
2134 { "PolicyQualifierInfo", "x509ce.PolicyQualifierInfo_element",
2135 FT_NONE, BASE_NONE, NULL, 0,
2136 NULL, HFILL }},
2137 { &hf_x509ce_policyQualifierId,
2138 { "policyQualifierId", "x509ce.policyQualifierId",
2139 FT_OID, BASE_NONE, NULL, 0,
2140 NULL, HFILL }},
2141 { &hf_x509ce_qualifier,
2142 { "qualifier", "x509ce.qualifier_element",
2143 FT_NONE, BASE_NONE, NULL, 0,
2144 NULL, HFILL }},
2145 { &hf_x509ce_PolicyMappingsSyntax_item,
2146 { "PolicyMappingsSyntax item", "x509ce.PolicyMappingsSyntax_item_element",
2147 FT_NONE, BASE_NONE, NULL, 0,
2148 NULL, HFILL }},
2149 { &hf_x509ce_issuerDomainPolicy,
2150 { "issuerDomainPolicy", "x509ce.issuerDomainPolicy",
2151 FT_OID, BASE_NONE, NULL, 0,
2152 "CertPolicyId", HFILL }},
2153 { &hf_x509ce_subjectDomainPolicy,
2154 { "subjectDomainPolicy", "x509ce.subjectDomainPolicy",
2155 FT_OID, BASE_NONE, NULL, 0,
2156 "CertPolicyId", HFILL }},
2157 { &hf_x509ce_GeneralNames_item,
2158 { "GeneralName", "x509ce.GeneralName",
2159 FT_UINT32, BASE_DEC, VALS(x509ce_GeneralName_vals), 0,
2160 NULL, HFILL }},
2161 { &hf_x509ce_otherName,
2162 { "otherName", "x509ce.otherName_element",
2163 FT_NONE, BASE_NONE, NULL, 0,
2164 NULL, HFILL }},
2165 { &hf_x509ce_rfc822Name,
2166 { "rfc822Name", "x509ce.rfc822Name",
2167 FT_STRING, BASE_NONE, NULL, 0,
2168 "IA5String", HFILL }},
2169 { &hf_x509ce_dNSName,
2170 { "dNSName", "x509ce.dNSName",
2171 FT_STRING, BASE_NONE, NULL, 0,
2172 "IA5String", HFILL }},
2173 { &hf_x509ce_x400Address,
2174 { "x400Address", "x509ce.x400Address_element",
2175 FT_NONE, BASE_NONE, NULL, 0,
2176 "ORAddress", HFILL }},
2177 { &hf_x509ce_directoryName,
2178 { "directoryName", "x509ce.directoryName",
2179 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
2180 "Name", HFILL }},
2181 { &hf_x509ce_ediPartyName,
2182 { "ediPartyName", "x509ce.ediPartyName_element",
2183 FT_NONE, BASE_NONE, NULL, 0,
2184 NULL, HFILL }},
2185 { &hf_x509ce_uniformResourceIdentifier,
2186 { "uniformResourceIdentifier", "x509ce.uniformResourceIdentifier",
2187 FT_STRING, BASE_NONE, NULL, 0,
2188 NULL, HFILL }},
2189 { &hf_x509ce_iPAddress,
2190 { "iPAddress", "x509ce.iPAddress",
2191 FT_BYTES, BASE_NONE, NULL, 0,
2192 NULL, HFILL }},
2193 { &hf_x509ce_registeredID,
2194 { "registeredID", "x509ce.registeredID",
2195 FT_OID, BASE_NONE, NULL, 0,
2196 "OBJECT_IDENTIFIER", HFILL }},
2197 { &hf_x509ce_type_id,
2198 { "type-id", "x509ce.type_id",
2199 FT_OID, BASE_NONE, NULL, 0,
2200 "OtherNameType", HFILL }},
2201 { &hf_x509ce_value,
2202 { "value", "x509ce.value_element",
2203 FT_NONE, BASE_NONE, NULL, 0,
2204 "OtherNameValue", HFILL }},
2205 { &hf_x509ce_nameAssigner,
2206 { "nameAssigner", "x509ce.nameAssigner",
2207 FT_UINT32, BASE_DEC, VALS(x509sat_DirectoryString_vals), 0,
2208 "DirectoryString", HFILL }},
2209 { &hf_x509ce_partyName,
2210 { "partyName", "x509ce.partyName",
2211 FT_UINT32, BASE_DEC, VALS(x509sat_DirectoryString_vals), 0,
2212 "DirectoryString", HFILL }},
2213 { &hf_x509ce_AttributesSyntax_item,
2214 { "Attribute", "x509ce.Attribute_element",
2215 FT_NONE, BASE_NONE, NULL, 0,
2216 NULL, HFILL }},
2217 { &hf_x509ce_cA,
2218 { "cA", "x509ce.cA",
2219 FT_BOOLEAN, BASE_NONE, NULL, 0,
2220 "BOOLEAN", HFILL }},
2221 { &hf_x509ce_pathLenConstraint,
2222 { "pathLenConstraint", "x509ce.pathLenConstraint",
2223 FT_UINT32, BASE_DEC, NULL, 0,
2224 "INTEGER_0_MAX", HFILL }},
2225 { &hf_x509ce_permittedSubtrees,
2226 { "permittedSubtrees", "x509ce.permittedSubtrees",
2227 FT_UINT32, BASE_DEC, NULL, 0,
2228 "GeneralSubtrees", HFILL }},
2229 { &hf_x509ce_excludedSubtrees,
2230 { "excludedSubtrees", "x509ce.excludedSubtrees",
2231 FT_UINT32, BASE_DEC, NULL, 0,
2232 "GeneralSubtrees", HFILL }},
2233 { &hf_x509ce_GeneralSubtrees_item,
2234 { "GeneralSubtree", "x509ce.GeneralSubtree_element",
2235 FT_NONE, BASE_NONE, NULL, 0,
2236 NULL, HFILL }},
2237 { &hf_x509ce_base,
2238 { "base", "x509ce.base",
2239 FT_UINT32, BASE_DEC, VALS(x509ce_GeneralName_vals), 0,
2240 "GeneralName", HFILL }},
2241 { &hf_x509ce_minimum,
2242 { "minimum", "x509ce.minimum",
2243 FT_UINT32, BASE_DEC, NULL, 0,
2244 "BaseDistance", HFILL }},
2245 { &hf_x509ce_maximum,
2246 { "maximum", "x509ce.maximum",
2247 FT_UINT32, BASE_DEC, NULL, 0,
2248 "BaseDistance", HFILL }},
2249 { &hf_x509ce_requireExplicitPolicy,
2250 { "requireExplicitPolicy", "x509ce.requireExplicitPolicy",
2251 FT_UINT32, BASE_DEC, NULL, 0,
2252 "SkipCerts", HFILL }},
2253 { &hf_x509ce_inhibitPolicyMapping,
2254 { "inhibitPolicyMapping", "x509ce.inhibitPolicyMapping",
2255 FT_UINT32, BASE_DEC, NULL, 0,
2256 "SkipCerts", HFILL }},
2257 { &hf_x509ce_CRLScopeSyntax_item,
2258 { "PerAuthorityScope", "x509ce.PerAuthorityScope_element",
2259 FT_NONE, BASE_NONE, NULL, 0,
2260 NULL, HFILL }},
2261 { &hf_x509ce_authorityName,
2262 { "authorityName", "x509ce.authorityName",
2263 FT_UINT32, BASE_DEC, VALS(x509ce_GeneralName_vals), 0,
2264 "GeneralName", HFILL }},
2265 { &hf_x509ce_distributionPoint,
2266 { "distributionPoint", "x509ce.distributionPoint",
2267 FT_UINT32, BASE_DEC, VALS(x509ce_DistributionPointName_vals), 0,
2268 "DistributionPointName", HFILL }},
2269 { &hf_x509ce_onlyContains,
2270 { "onlyContains", "x509ce.onlyContains",
2271 FT_BYTES, BASE_NONE, NULL, 0,
2272 "OnlyCertificateTypes", HFILL }},
2273 { &hf_x509ce_onlySomeReasons,
2274 { "onlySomeReasons", "x509ce.onlySomeReasons",
2275 FT_BYTES, BASE_NONE, NULL, 0,
2276 "ReasonFlags", HFILL }},
2277 { &hf_x509ce_serialNumberRange,
2278 { "serialNumberRange", "x509ce.serialNumberRange_element",
2279 FT_NONE, BASE_NONE, NULL, 0,
2280 "NumberRange", HFILL }},
2281 { &hf_x509ce_subjectKeyIdRange,
2282 { "subjectKeyIdRange", "x509ce.subjectKeyIdRange_element",
2283 FT_NONE, BASE_NONE, NULL, 0,
2284 "NumberRange", HFILL }},
2285 { &hf_x509ce_nameSubtrees,
2286 { "nameSubtrees", "x509ce.nameSubtrees",
2287 FT_UINT32, BASE_DEC, NULL, 0,
2288 "GeneralNames", HFILL }},
2289 { &hf_x509ce_baseRevocationInfo,
2290 { "baseRevocationInfo", "x509ce.baseRevocationInfo_element",
2291 FT_NONE, BASE_NONE, NULL, 0,
2292 NULL, HFILL }},
2293 { &hf_x509ce_startingNumber,
2294 { "startingNumber", "x509ce.startingNumber",
2295 FT_INT32, BASE_DEC, NULL, 0,
2296 "INTEGER", HFILL }},
2297 { &hf_x509ce_endingNumber,
2298 { "endingNumber", "x509ce.endingNumber",
2299 FT_INT32, BASE_DEC, NULL, 0,
2300 "INTEGER", HFILL }},
2301 { &hf_x509ce_modulus,
2302 { "modulus", "x509ce.modulus",
2303 FT_INT32, BASE_DEC, NULL, 0,
2304 "INTEGER", HFILL }},
2305 { &hf_x509ce_cRLStreamIdentifier,
2306 { "cRLStreamIdentifier", "x509ce.cRLStreamIdentifier",
2307 FT_UINT32, BASE_DEC, NULL, 0,
2308 NULL, HFILL }},
2309 { &hf_x509ce_cRLNumber,
2310 { "cRLNumber", "x509ce.cRLNumber",
2311 FT_UINT32, BASE_DEC, NULL, 0,
2312 NULL, HFILL }},
2313 { &hf_x509ce_baseThisUpdate,
2314 { "baseThisUpdate", "x509ce.baseThisUpdate",
2315 FT_STRING, BASE_NONE, NULL, 0,
2316 "GeneralizedTime", HFILL }},
2317 { &hf_x509ce_StatusReferrals_item,
2318 { "StatusReferral", "x509ce.StatusReferral",
2319 FT_UINT32, BASE_DEC, VALS(x509ce_StatusReferral_vals), 0,
2320 NULL, HFILL }},
2321 { &hf_x509ce_cRLReferral,
2322 { "cRLReferral", "x509ce.cRLReferral_element",
2323 FT_NONE, BASE_NONE, NULL, 0,
2324 NULL, HFILL }},
2325 { &hf_x509ce_crlr_issuer,
2326 { "issuer", "x509ce.issuer",
2327 FT_UINT32, BASE_DEC, VALS(x509ce_GeneralName_vals), 0,
2328 "GeneralName", HFILL }},
2329 { &hf_x509ce_location,
2330 { "location", "x509ce.location",
2331 FT_UINT32, BASE_DEC, VALS(x509ce_GeneralName_vals), 0,
2332 "GeneralName", HFILL }},
2333 { &hf_x509ce_deltaRefInfo,
2334 { "deltaRefInfo", "x509ce.deltaRefInfo_element",
2335 FT_NONE, BASE_NONE, NULL, 0,
2336 NULL, HFILL }},
2337 { &hf_x509ce_cRLScope,
2338 { "cRLScope", "x509ce.cRLScope",
2339 FT_UINT32, BASE_DEC, NULL, 0,
2340 "CRLScopeSyntax", HFILL }},
2341 { &hf_x509ce_lastUpdate,
2342 { "lastUpdate", "x509ce.lastUpdate",
2343 FT_STRING, BASE_NONE, NULL, 0,
2344 "GeneralizedTime", HFILL }},
2345 { &hf_x509ce_lastChangedCRL,
2346 { "lastChangedCRL", "x509ce.lastChangedCRL",
2347 FT_STRING, BASE_NONE, NULL, 0,
2348 "GeneralizedTime", HFILL }},
2349 { &hf_x509ce_deltaLocation,
2350 { "deltaLocation", "x509ce.deltaLocation",
2351 FT_UINT32, BASE_DEC, VALS(x509ce_GeneralName_vals), 0,
2352 "GeneralName", HFILL }},
2353 { &hf_x509ce_lastDelta,
2354 { "lastDelta", "x509ce.lastDelta",
2355 FT_STRING, BASE_NONE, NULL, 0,
2356 "GeneralizedTime", HFILL }},
2357 { &hf_x509ce_nextDelta,
2358 { "nextDelta", "x509ce.nextDelta",
2359 FT_STRING, BASE_NONE, NULL, 0,
2360 "GeneralizedTime", HFILL }},
2361 { &hf_x509ce_CRLDistPointsSyntax_item,
2362 { "DistributionPoint", "x509ce.DistributionPoint_element",
2363 FT_NONE, BASE_NONE, NULL, 0,
2364 NULL, HFILL }},
2365 { &hf_x509ce_reasons,
2366 { "reasons", "x509ce.reasons",
2367 FT_BYTES, BASE_NONE, NULL, 0,
2368 "ReasonFlags", HFILL }},
2369 { &hf_x509ce_cRLIssuer,
2370 { "cRLIssuer", "x509ce.cRLIssuer",
2371 FT_UINT32, BASE_DEC, NULL, 0,
2372 "GeneralNames", HFILL }},
2373 { &hf_x509ce_fullName,
2374 { "fullName", "x509ce.fullName",
2375 FT_UINT32, BASE_DEC, NULL, 0,
2376 "GeneralNames", HFILL }},
2377 { &hf_x509ce_nameRelativeToCRLIssuer,
2378 { "nameRelativeToCRLIssuer", "x509ce.nameRelativeToCRLIssuer",
2379 FT_UINT32, BASE_DEC, NULL, 0,
2380 "RelativeDistinguishedName", HFILL }},
2381 { &hf_x509ce_onlyContainsUserPublicKeyCerts,
2382 { "onlyContainsUserPublicKeyCerts", "x509ce.onlyContainsUserPublicKeyCerts",
2383 FT_BOOLEAN, BASE_NONE, NULL, 0,
2384 "BOOLEAN", HFILL }},
2385 { &hf_x509ce_onlyContainsCACerts,
2386 { "onlyContainsCACerts", "x509ce.onlyContainsCACerts",
2387 FT_BOOLEAN, BASE_NONE, NULL, 0,
2388 "BOOLEAN", HFILL }},
2389 { &hf_x509ce_indirectCRL,
2390 { "indirectCRL", "x509ce.indirectCRL",
2391 FT_BOOLEAN, BASE_NONE, NULL, 0,
2392 "BOOLEAN", HFILL }},
2393 { &hf_x509ce_ToBeRevokedSyntax_item,
2394 { "ToBeRevokedGroup", "x509ce.ToBeRevokedGroup_element",
2395 FT_NONE, BASE_NONE, NULL, 0,
2396 NULL, HFILL }},
2397 { &hf_x509ce_certificateIssuer,
2398 { "certificateIssuer", "x509ce.certificateIssuer",
2399 FT_UINT32, BASE_DEC, VALS(x509ce_GeneralName_vals), 0,
2400 "GeneralName", HFILL }},
2401 { &hf_x509ce_reasonInfo,
2402 { "reasonInfo", "x509ce.reasonInfo_element",
2403 FT_NONE, BASE_NONE, NULL, 0,
2404 NULL, HFILL }},
2405 { &hf_x509ce_revocationTime,
2406 { "revocationTime", "x509ce.revocationTime",
2407 FT_STRING, BASE_NONE, NULL, 0,
2408 "GeneralizedTime", HFILL }},
2409 { &hf_x509ce_certificateGroup,
2410 { "certificateGroup", "x509ce.certificateGroup",
2411 FT_UINT32, BASE_DEC, VALS(x509ce_CertificateGroup_vals), 0,
2412 NULL, HFILL }},
2413 { &hf_x509ce_reasonCode,
2414 { "reasonCode", "x509ce.reasonCode",
2415 FT_UINT32, BASE_DEC, VALS(x509ce_CRLReason_vals), 0,
2416 "CRLReason", HFILL }},
2417 { &hf_x509ce_holdInstructionCode,
2418 { "holdInstructionCode", "x509ce.holdInstructionCode",
2419 FT_OID, BASE_NONE, NULL, 0,
2420 "HoldInstruction", HFILL }},
2421 { &hf_x509ce_serialNumbers,
2422 { "serialNumbers", "x509ce.serialNumbers",
2423 FT_UINT32, BASE_DEC, NULL, 0,
2424 "CertificateSerialNumbers", HFILL }},
2425 { &hf_x509ce_certificateGroupNumberRange,
2426 { "serialNumberRange", "x509ce.serialNumberRange_element",
2427 FT_NONE, BASE_NONE, NULL, 0,
2428 "CertificateGroupNumberRange", HFILL }},
2429 { &hf_x509ce_nameSubtree,
2430 { "nameSubtree", "x509ce.nameSubtree",
2431 FT_UINT32, BASE_DEC, VALS(x509ce_GeneralName_vals), 0,
2432 "GeneralName", HFILL }},
2433 { &hf_x509ce_CertificateSerialNumbers_item,
2434 { "CertificateSerialNumber", "x509ce.CertificateSerialNumber",
2435 FT_INT32, BASE_DEC, NULL, 0,
2436 NULL, HFILL }},
2437 { &hf_x509ce_RevokedGroupsSyntax_item,
2438 { "RevokedGroup", "x509ce.RevokedGroup_element",
2439 FT_NONE, BASE_NONE, NULL, 0,
2440 NULL, HFILL }},
2441 { &hf_x509ce_invalidityDate,
2442 { "invalidityDate", "x509ce.invalidityDate",
2443 FT_STRING, BASE_NONE, NULL, 0,
2444 "GeneralizedTime", HFILL }},
2445 { &hf_x509ce_revokedcertificateGroup,
2446 { "revokedcertificateGroup", "x509ce.revokedcertificateGroup",
2447 FT_UINT32, BASE_DEC, VALS(x509ce_RevokedCertificateGroup_vals), 0,
2448 NULL, HFILL }},
2449 { &hf_x509ce_containsUserAttributeCerts,
2450 { "containsUserAttributeCerts", "x509ce.containsUserAttributeCerts",
2451 FT_BOOLEAN, BASE_NONE, NULL, 0,
2452 "BOOLEAN", HFILL }},
2453 { &hf_x509ce_containsAACerts,
2454 { "containsAACerts", "x509ce.containsAACerts",
2455 FT_BOOLEAN, BASE_NONE, NULL, 0,
2456 "BOOLEAN", HFILL }},
2457 { &hf_x509ce_containsSOAPublicKeyCerts,
2458 { "containsSOAPublicKeyCerts", "x509ce.containsSOAPublicKeyCerts",
2459 FT_BOOLEAN, BASE_NONE, NULL, 0,
2460 "BOOLEAN", HFILL }},
2461 { &hf_x509ce_serialNumber,
2462 { "serialNumber", "x509ce.serialNumber",
2463 FT_INT32, BASE_DEC, NULL, 0,
2464 "CertificateSerialNumber", HFILL }},
2465 { &hf_x509ce_issuer,
2466 { "issuer", "x509ce.issuer",
2467 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
2468 "Name", HFILL }},
2469 { &hf_x509ce_subjectKeyIdentifier,
2470 { "subjectKeyIdentifier", "x509ce.subjectKeyIdentifier",
2471 FT_BYTES, BASE_NONE, NULL, 0,
2472 NULL, HFILL }},
2473 { &hf_x509ce_authorityKeyIdentifier,
2474 { "authorityKeyIdentifier", "x509ce.authorityKeyIdentifier_element",
2475 FT_NONE, BASE_NONE, NULL, 0,
2476 NULL, HFILL }},
2477 { &hf_x509ce_certificateValid,
2478 { "certificateValid", "x509ce.certificateValid",
2479 FT_UINT32, BASE_DEC, VALS(x509af_Time_vals), 0,
2480 "Time", HFILL }},
2481 { &hf_x509ce_privateKeyValid,
2482 { "privateKeyValid", "x509ce.privateKeyValid",
2483 FT_STRING, BASE_NONE, NULL, 0,
2484 "GeneralizedTime", HFILL }},
2485 { &hf_x509ce_subjectPublicKeyAlgID,
2486 { "subjectPublicKeyAlgID", "x509ce.subjectPublicKeyAlgID",
2487 FT_OID, BASE_NONE, NULL, 0,
2488 "OBJECT_IDENTIFIER", HFILL }},
2489 { &hf_x509ce_keyUsage,
2490 { "keyUsage", "x509ce.keyUsage",
2491 FT_BYTES, BASE_NONE, NULL, 0,
2492 NULL, HFILL }},
2493 { &hf_x509ce_subjectAltNameType,
2494 { "subjectAltName", "x509ce.subjectAltName",
2495 FT_UINT32, BASE_DEC, VALS(x509ce_AltNameType_vals), 0,
2496 "AltNameType", HFILL }},
2497 { &hf_x509ce_policy,
2498 { "policy", "x509ce.policy",
2499 FT_UINT32, BASE_DEC, NULL, 0,
2500 "CertPolicySet", HFILL }},
2501 { &hf_x509ce_pathToName,
2502 { "pathToName", "x509ce.pathToName",
2503 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
2504 "Name", HFILL }},
2505 { &hf_x509ce_subject,
2506 { "subject", "x509ce.subject",
2507 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
2508 "Name", HFILL }},
2509 { &hf_x509ce_nameConstraints,
2510 { "nameConstraints", "x509ce.nameConstraints_element",
2511 FT_NONE, BASE_NONE, NULL, 0,
2512 "NameConstraintsSyntax", HFILL }},
2513 { &hf_x509ce_builtinNameForm,
2514 { "builtinNameForm", "x509ce.builtinNameForm",
2515 FT_UINT32, BASE_DEC, VALS(x509ce_T_builtinNameForm_vals), 0,
2516 NULL, HFILL }},
2517 { &hf_x509ce_otherNameForm,
2518 { "otherNameForm", "x509ce.otherNameForm",
2519 FT_OID, BASE_NONE, NULL, 0,
2520 "OBJECT_IDENTIFIER", HFILL }},
2521 { &hf_x509ce_CertPolicySet_item,
2522 { "CertPolicyId", "x509ce.CertPolicyId",
2523 FT_OID, BASE_NONE, NULL, 0,
2524 NULL, HFILL }},
2525 { &hf_x509ce_cpea_issuedToThisCAAssertion,
2526 { "issuedToThisCAAssertion", "x509ce.issuedToThisCAAssertion_element",
2527 FT_NONE, BASE_NONE, NULL, 0,
2528 "CertificateExactAssertion", HFILL }},
2529 { &hf_x509ce_cpea_issuedByThisCAAssertion,
2530 { "issuedByThisCAAssertion", "x509ce.issuedByThisCAAssertion_element",
2531 FT_NONE, BASE_NONE, NULL, 0,
2532 "CertificateExactAssertion", HFILL }},
2533 { &hf_x509ce_issuedToThisCAAssertion,
2534 { "issuedToThisCAAssertion", "x509ce.issuedToThisCAAssertion_element",
2535 FT_NONE, BASE_NONE, NULL, 0,
2536 "CertificateAssertion", HFILL }},
2537 { &hf_x509ce_issuedByThisCAAssertion,
2538 { "issuedByThisCAAssertion", "x509ce.issuedByThisCAAssertion_element",
2539 FT_NONE, BASE_NONE, NULL, 0,
2540 "CertificateAssertion", HFILL }},
2541 { &hf_x509ce_thisUpdate,
2542 { "thisUpdate", "x509ce.thisUpdate",
2543 FT_UINT32, BASE_DEC, VALS(x509af_Time_vals), 0,
2544 "Time", HFILL }},
2545 { &hf_x509ce_minCRLNumber,
2546 { "minCRLNumber", "x509ce.minCRLNumber",
2547 FT_UINT32, BASE_DEC, NULL, 0,
2548 "CRLNumber", HFILL }},
2549 { &hf_x509ce_maxCRLNumber,
2550 { "maxCRLNumber", "x509ce.maxCRLNumber",
2551 FT_UINT32, BASE_DEC, NULL, 0,
2552 "CRLNumber", HFILL }},
2553 { &hf_x509ce_reasonFlags,
2554 { "reasonFlags", "x509ce.reasonFlags",
2555 FT_BYTES, BASE_NONE, NULL, 0,
2556 NULL, HFILL }},
2557 { &hf_x509ce_dateAndTime,
2558 { "dateAndTime", "x509ce.dateAndTime",
2559 FT_UINT32, BASE_DEC, VALS(x509af_Time_vals), 0,
2560 "Time", HFILL }},
2561 { &hf_x509ce_firstIssuer,
2562 { "firstIssuer", "x509ce.firstIssuer",
2563 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
2564 "Name", HFILL }},
2565 { &hf_x509ce_lastSubject,
2566 { "lastSubject", "x509ce.lastSubject",
2567 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
2568 "Name", HFILL }},
2569 { &hf_x509ce_subjectAltName,
2570 { "subjectAltName", "x509ce.subjectAltName_element",
2571 FT_NONE, BASE_NONE, NULL, 0,
2572 "AltName", HFILL }},
2573 { &hf_x509ce_enhancedPathToName,
2574 { "pathToName", "x509ce.pathToName",
2575 FT_UINT32, BASE_DEC, NULL, 0,
2576 "GeneralNames", HFILL }},
2577 { &hf_x509ce_altnameType,
2578 { "altnameType", "x509ce.altnameType",
2579 FT_UINT32, BASE_DEC, VALS(x509ce_AltNameType_vals), 0,
2580 NULL, HFILL }},
2581 { &hf_x509ce_altNameValue,
2582 { "altNameValue", "x509ce.altNameValue",
2583 FT_UINT32, BASE_DEC, VALS(x509ce_GeneralName_vals), 0,
2584 "GeneralName", HFILL }},
2585 { &hf_x509ce_templateID,
2586 { "templateID", "x509ce.templateID",
2587 FT_OID, BASE_NONE, NULL, 0,
2588 "OBJECT_IDENTIFIER", HFILL }},
2589 { &hf_x509ce_templateMajorVersion,
2590 { "templateMajorVersion", "x509ce.templateMajorVersion",
2591 FT_INT32, BASE_DEC, NULL, 0,
2592 "INTEGER", HFILL }},
2593 { &hf_x509ce_templateMinorVersion,
2594 { "templateMinorVersion", "x509ce.templateMinorVersion",
2595 FT_INT32, BASE_DEC, NULL, 0,
2596 "INTEGER", HFILL }},
2597 { &hf_x509ce_entrustVers,
2598 { "entrustVers", "x509ce.entrustVers",
2599 FT_STRING, BASE_NONE, NULL, 0,
2600 "GeneralString", HFILL }},
2601 { &hf_x509ce_entrustVersInfoFlags,
2602 { "entrustVersInfoFlags", "x509ce.entrustVersInfoFlags",
2603 FT_BYTES, BASE_NONE, NULL, 0,
2604 "EntrustInfoFlags", HFILL }},
2605 { &hf_x509ce_capability,
2606 { "capability", "x509ce.capability",
2607 FT_UINT32, BASE_DEC, NULL, 0,
2608 "INTEGER_0_MAX", HFILL }},
2609 { &hf_x509ce_version,
2610 { "version", "x509ce.version",
2611 FT_UINT32, BASE_DEC, NULL, 0,
2612 "INTEGER_0_MAX", HFILL }},
2613 { &hf_x509ce_KeyUsage_digitalSignature,
2614 { "digitalSignature", "x509ce.digitalSignature",
2615 FT_BOOLEAN, 8, NULL, 0x80,
2616 NULL, HFILL }},
2617 { &hf_x509ce_KeyUsage_contentCommitment,
2618 { "contentCommitment", "x509ce.contentCommitment",
2619 FT_BOOLEAN, 8, NULL, 0x40,
2620 NULL, HFILL }},
2621 { &hf_x509ce_KeyUsage_keyEncipherment,
2622 { "keyEncipherment", "x509ce.keyEncipherment",
2623 FT_BOOLEAN, 8, NULL, 0x20,
2624 NULL, HFILL }},
2625 { &hf_x509ce_KeyUsage_dataEncipherment,
2626 { "dataEncipherment", "x509ce.dataEncipherment",
2627 FT_BOOLEAN, 8, NULL, 0x10,
2628 NULL, HFILL }},
2629 { &hf_x509ce_KeyUsage_keyAgreement,
2630 { "keyAgreement", "x509ce.keyAgreement",
2631 FT_BOOLEAN, 8, NULL, 0x08,
2632 NULL, HFILL }},
2633 { &hf_x509ce_KeyUsage_keyCertSign,
2634 { "keyCertSign", "x509ce.keyCertSign",
2635 FT_BOOLEAN, 8, NULL, 0x04,
2636 NULL, HFILL }},
2637 { &hf_x509ce_KeyUsage_cRLSign,
2638 { "cRLSign", "x509ce.cRLSign",
2639 FT_BOOLEAN, 8, NULL, 0x02,
2640 NULL, HFILL }},
2641 { &hf_x509ce_KeyUsage_encipherOnly,
2642 { "encipherOnly", "x509ce.encipherOnly",
2643 FT_BOOLEAN, 8, NULL, 0x01,
2644 NULL, HFILL }},
2645 { &hf_x509ce_KeyUsage_decipherOnly,
2646 { "decipherOnly", "x509ce.decipherOnly",
2647 FT_BOOLEAN, 8, NULL, 0x80,
2648 NULL, HFILL }},
2649 { &hf_x509ce_OnlyCertificateTypes_user,
2650 { "user", "x509ce.user",
2651 FT_BOOLEAN, 8, NULL, 0x80,
2652 NULL, HFILL }},
2653 { &hf_x509ce_OnlyCertificateTypes_authority,
2654 { "authority", "x509ce.authority",
2655 FT_BOOLEAN, 8, NULL, 0x40,
2656 NULL, HFILL }},
2657 { &hf_x509ce_OnlyCertificateTypes_attribute,
2658 { "attribute", "x509ce.attribute",
2659 FT_BOOLEAN, 8, NULL, 0x20,
2660 NULL, HFILL }},
2661 { &hf_x509ce_ReasonFlags_unused,
2662 { "unused", "x509ce.unused",
2663 FT_BOOLEAN, 8, NULL, 0x80,
2664 NULL, HFILL }},
2665 { &hf_x509ce_ReasonFlags_keyCompromise,
2666 { "keyCompromise", "x509ce.keyCompromise",
2667 FT_BOOLEAN, 8, NULL, 0x40,
2668 NULL, HFILL }},
2669 { &hf_x509ce_ReasonFlags_cACompromise,
2670 { "cACompromise", "x509ce.cACompromise",
2671 FT_BOOLEAN, 8, NULL, 0x20,
2672 NULL, HFILL }},
2673 { &hf_x509ce_ReasonFlags_affiliationChanged,
2674 { "affiliationChanged", "x509ce.affiliationChanged",
2675 FT_BOOLEAN, 8, NULL, 0x10,
2676 NULL, HFILL }},
2677 { &hf_x509ce_ReasonFlags_superseded,
2678 { "superseded", "x509ce.superseded",
2679 FT_BOOLEAN, 8, NULL, 0x08,
2680 NULL, HFILL }},
2681 { &hf_x509ce_ReasonFlags_cessationOfOperation,
2682 { "cessationOfOperation", "x509ce.cessationOfOperation",
2683 FT_BOOLEAN, 8, NULL, 0x04,
2684 NULL, HFILL }},
2685 { &hf_x509ce_ReasonFlags_certificateHold,
2686 { "certificateHold", "x509ce.certificateHold",
2687 FT_BOOLEAN, 8, NULL, 0x02,
2688 NULL, HFILL }},
2689 { &hf_x509ce_ReasonFlags_privilegeWithdrawn,
2690 { "privilegeWithdrawn", "x509ce.privilegeWithdrawn",
2691 FT_BOOLEAN, 8, NULL, 0x01,
2692 NULL, HFILL }},
2693 { &hf_x509ce_ReasonFlags_aACompromise,
2694 { "aACompromise", "x509ce.aACompromise",
2695 FT_BOOLEAN, 8, NULL, 0x80,
2696 NULL, HFILL }},
2697 { &hf_x509ce_EntrustInfoFlags_keyUpdateAllowed,
2698 { "keyUpdateAllowed", "x509ce.keyUpdateAllowed",
2699 FT_BOOLEAN, 8, NULL, 0x80,
2700 NULL, HFILL }},
2701 { &hf_x509ce_EntrustInfoFlags_newExtensions,
2702 { "newExtensions", "x509ce.newExtensions",
2703 FT_BOOLEAN, 8, NULL, 0x40,
2704 NULL, HFILL }},
2705 { &hf_x509ce_EntrustInfoFlags_pKIXCertificate,
2706 { "pKIXCertificate", "x509ce.pKIXCertificate",
2707 FT_BOOLEAN, 8, NULL, 0x20,
2708 NULL, HFILL }},
2709 { &hf_x509ce_EntrustInfoFlags_enterpriseCategory,
2710 { "enterpriseCategory", "x509ce.enterpriseCategory",
2711 FT_BOOLEAN, 8, NULL, 0x10,
2712 NULL, HFILL }},
2713 { &hf_x509ce_EntrustInfoFlags_webCategory,
2714 { "webCategory", "x509ce.webCategory",
2715 FT_BOOLEAN, 8, NULL, 0x08,
2716 NULL, HFILL }},
2717 { &hf_x509ce_EntrustInfoFlags_sETCategory,
2718 { "sETCategory", "x509ce.sETCategory",
2719 FT_BOOLEAN, 8, NULL, 0x04,
2720 NULL, HFILL }},
2722 /*--- End of included file: packet-x509ce-hfarr.c ---*/
2723 #line 119 "../../asn1/x509ce/packet-x509ce-template.c"
2726 /* List of subtrees */
2727 static gint *ett[] = {
2729 /*--- Included file: packet-x509ce-ettarr.c ---*/
2730 #line 1 "../../asn1/x509ce/packet-x509ce-ettarr.c"
2731 &ett_x509ce_AuthorityKeyIdentifier,
2732 &ett_x509ce_KeyUsage,
2733 &ett_x509ce_KeyPurposeIDs,
2734 &ett_x509ce_PrivateKeyUsagePeriod,
2735 &ett_x509ce_CertificatePoliciesSyntax,
2736 &ett_x509ce_PolicyInformation,
2737 &ett_x509ce_SEQUENCE_SIZE_1_MAX_OF_PolicyQualifierInfo,
2738 &ett_x509ce_PolicyQualifierInfo,
2739 &ett_x509ce_PolicyMappingsSyntax,
2740 &ett_x509ce_PolicyMappingsSyntax_item,
2741 &ett_x509ce_GeneralNames,
2742 &ett_x509ce_GeneralName,
2743 &ett_x509ce_OtherName,
2744 &ett_x509ce_EDIPartyName,
2745 &ett_x509ce_AttributesSyntax,
2746 &ett_x509ce_BasicConstraintsSyntax,
2747 &ett_x509ce_NameConstraintsSyntax,
2748 &ett_x509ce_GeneralSubtrees,
2749 &ett_x509ce_GeneralSubtree,
2750 &ett_x509ce_PolicyConstraintsSyntax,
2751 &ett_x509ce_CRLScopeSyntax,
2752 &ett_x509ce_PerAuthorityScope,
2753 &ett_x509ce_OnlyCertificateTypes,
2754 &ett_x509ce_NumberRange,
2755 &ett_x509ce_BaseRevocationInfo,
2756 &ett_x509ce_StatusReferrals,
2757 &ett_x509ce_StatusReferral,
2758 &ett_x509ce_CRLReferral,
2759 &ett_x509ce_DeltaRefInfo,
2760 &ett_x509ce_DeltaInformation,
2761 &ett_x509ce_CRLDistPointsSyntax,
2762 &ett_x509ce_DistributionPoint,
2763 &ett_x509ce_DistributionPointName,
2764 &ett_x509ce_ReasonFlags,
2765 &ett_x509ce_IssuingDistPointSyntax,
2766 &ett_x509ce_ToBeRevokedSyntax,
2767 &ett_x509ce_ToBeRevokedGroup,
2768 &ett_x509ce_ReasonInfo,
2769 &ett_x509ce_CertificateGroup,
2770 &ett_x509ce_CertificateGroupNumberRange,
2771 &ett_x509ce_CertificateSerialNumbers,
2772 &ett_x509ce_RevokedGroupsSyntax,
2773 &ett_x509ce_RevokedGroup,
2774 &ett_x509ce_RevokedCertificateGroup,
2775 &ett_x509ce_AAIssuingDistPointSyntax,
2776 &ett_x509ce_CertificateExactAssertion,
2777 &ett_x509ce_CertificateAssertion,
2778 &ett_x509ce_AltNameType,
2779 &ett_x509ce_CertPolicySet,
2780 &ett_x509ce_CertificatePairExactAssertion,
2781 &ett_x509ce_CertificatePairAssertion,
2782 &ett_x509ce_CertificateListExactAssertion,
2783 &ett_x509ce_CertificateListAssertion,
2784 &ett_x509ce_PkiPathMatchSyntax,
2785 &ett_x509ce_EnhancedCertificateAssertion,
2786 &ett_x509ce_AltName,
2787 &ett_x509ce_CertificateTemplate,
2788 &ett_x509ce_EntrustVersionInfo,
2789 &ett_x509ce_EntrustInfoFlags,
2790 &ett_x509ce_ScramblerCapabilities,
2792 /*--- End of included file: packet-x509ce-ettarr.c ---*/
2793 #line 124 "../../asn1/x509ce/packet-x509ce-template.c"
2796 /* Register protocol */
2797 proto_x509ce = proto_register_protocol(PNAME, PSNAME, PFNAME);
2799 /* Register fields and subtrees */
2800 proto_register_field_array(proto_x509ce, hf, array_length(hf));
2801 proto_register_subtree_array(ett, array_length(ett));
2806 /*--- proto_reg_handoff_x509ce -------------------------------------------*/
2807 void proto_reg_handoff_x509ce(void) {
2809 /*--- Included file: packet-x509ce-dis-tab.c ---*/
2810 #line 1 "../../asn1/x509ce/packet-x509ce-dis-tab.c"
2811 register_ber_oid_dissector("2.5.29.3", dissect_CertificatePoliciesSyntax_PDU, proto_x509ce, "id-ce-certificatePolicies");
2812 register_ber_oid_dissector("2.5.29.9", dissect_AttributesSyntax_PDU, proto_x509ce, "id-ce-subjectDirectoryAttributes");
2813 register_ber_oid_dissector("2.5.29.14", dissect_SubjectKeyIdentifier_PDU, proto_x509ce, "id-ce-subjectKeyIdentifier");
2814 register_ber_oid_dissector("2.5.29.15", dissect_KeyUsage_PDU, proto_x509ce, "id-ce-keyUsage");
2815 register_ber_oid_dissector("2.5.29.16", dissect_PrivateKeyUsagePeriod_PDU, proto_x509ce, "id-ce-privateKeyUsagePeriod");
2816 register_ber_oid_dissector("2.5.29.17", dissect_GeneralNames_PDU, proto_x509ce, "id-ce-subjectAltName");
2817 register_ber_oid_dissector("2.5.29.18", dissect_GeneralNames_PDU, proto_x509ce, "id-ce-issuerAltName");
2818 register_ber_oid_dissector("2.5.29.19", dissect_BasicConstraintsSyntax_PDU, proto_x509ce, "id-ce-basicConstraints");
2819 register_ber_oid_dissector("2.5.29.20", dissect_CRLNumber_PDU, proto_x509ce, "id-ce-cRLNumber");
2820 register_ber_oid_dissector("2.5.29.21", dissect_CRLReason_PDU, proto_x509ce, "id-ce-reasonCode");
2821 register_ber_oid_dissector("2.5.29.23", dissect_HoldInstruction_PDU, proto_x509ce, "id-ce-instructionCode");
2822 register_ber_oid_dissector("2.5.29.27", dissect_BaseCRLNumber_PDU, proto_x509ce, "id-ce-deltaCRLIndicator");
2823 register_ber_oid_dissector("2.5.29.28", dissect_IssuingDistPointSyntax_PDU, proto_x509ce, "id-ce-issuingDistributionPoint");
2824 register_ber_oid_dissector("2.5.29.29", dissect_GeneralNames_PDU, proto_x509ce, "id-ce-certificateIssuer");
2825 register_ber_oid_dissector("2.5.29.30", dissect_NameConstraintsSyntax_PDU, proto_x509ce, "id-ce-nameConstraints");
2826 register_ber_oid_dissector("2.5.29.31", dissect_CRLDistPointsSyntax_PDU, proto_x509ce, "id-ce-cRLDistributionPoints");
2827 register_ber_oid_dissector("2.5.29.32", dissect_CertificatePoliciesSyntax_PDU, proto_x509ce, "id-ce-certificatePolicies");
2828 register_ber_oid_dissector("2.5.29.33", dissect_PolicyMappingsSyntax_PDU, proto_x509ce, "id-ce-policyMappings");
2829 register_ber_oid_dissector("2.5.29.35", dissect_AuthorityKeyIdentifier_PDU, proto_x509ce, "id-ce-authorityKeyIdentifier");
2830 register_ber_oid_dissector("2.5.29.36", dissect_PolicyConstraintsSyntax_PDU, proto_x509ce, "id-ce-policyConstraints");
2831 register_ber_oid_dissector("2.5.29.37", dissect_KeyPurposeIDs_PDU, proto_x509ce, "id-ce-extKeyUsage");
2832 register_ber_oid_dissector("2.5.29.40", dissect_CRLStreamIdentifier_PDU, proto_x509ce, "id-ce-cRLStreamIdentifier");
2833 register_ber_oid_dissector("2.5.29.44", dissect_CRLScopeSyntax_PDU, proto_x509ce, "id-ce-cRLScope");
2834 register_ber_oid_dissector("2.5.29.45", dissect_StatusReferrals_PDU, proto_x509ce, "id-ce-statusReferrals");
2835 register_ber_oid_dissector("2.5.29.46", dissect_CRLDistPointsSyntax_PDU, proto_x509ce, "id-ce-freshestCRL");
2836 register_ber_oid_dissector("2.5.29.47", dissect_OrderedListSyntax_PDU, proto_x509ce, "id-ce-orderedList");
2837 register_ber_oid_dissector("2.5.29.53", dissect_DeltaInformation_PDU, proto_x509ce, "id-ce-deltaInfo");
2838 register_ber_oid_dissector("2.5.29.54", dissect_SkipCerts_PDU, proto_x509ce, "id-ce-inhibitAnyPolicy");
2839 register_ber_oid_dissector("2.5.29.58", dissect_ToBeRevokedSyntax_PDU, proto_x509ce, "id-ce-toBeRevoked");
2840 register_ber_oid_dissector("2.5.29.59", dissect_RevokedGroupsSyntax_PDU, proto_x509ce, "id-ce-RevokedGroups");
2841 register_ber_oid_dissector("2.5.29.60", dissect_ExpiredCertsOnCRL_PDU, proto_x509ce, "id-ce-expiredCertsOnCRL");
2842 register_ber_oid_dissector("2.5.29.61", dissect_AAIssuingDistPointSyntax_PDU, proto_x509ce, "id-ce-aAissuingDistributionPoint");
2843 register_ber_oid_dissector("2.5.13.35", dissect_CertificateAssertion_PDU, proto_x509ce, "id-mr-certificateMatch");
2844 register_ber_oid_dissector("2.5.13.36", dissect_CertificatePairExactAssertion_PDU, proto_x509ce, "id-mr-certificatePairExactMatch");
2845 register_ber_oid_dissector("2.5.13.37", dissect_CertificatePairAssertion_PDU, proto_x509ce, "id-mr-certificatePairMatch");
2846 register_ber_oid_dissector("2.5.13.38", dissect_CertificateListExactAssertion_PDU, proto_x509ce, "id-mr-certificateListExactMatch");
2847 register_ber_oid_dissector("2.5.13.39", dissect_CertificateListAssertion_PDU, proto_x509ce, "id-mr-certificateListMatch");
2848 register_ber_oid_dissector("2.5.13.62", dissect_PkiPathMatchSyntax_PDU, proto_x509ce, "id-mr-pkiPathMatch");
2849 register_ber_oid_dissector("2.5.13.65", dissect_EnhancedCertificateAssertion_PDU, proto_x509ce, "id-mr-enhancedCertificateMatch");
2850 register_ber_oid_dissector("1.3.6.1.4.1.311.21.7", dissect_CertificateTemplate_PDU, proto_x509ce, "id-ms-certificate-template");
2851 register_ber_oid_dissector("1.3.6.1.4.1.311.21.10", dissect_CertificatePoliciesSyntax_PDU, proto_x509ce, "id-ms-application-certificate-policies");
2852 register_ber_oid_dissector("1.2.840.113533.7.65.0", dissect_EntrustVersionInfo_PDU, proto_x509ce, "id-ce-entrustVersionInfo");
2855 /*--- End of included file: packet-x509ce-dis-tab.c ---*/
2856 #line 139 "../../asn1/x509ce/packet-x509ce-template.c"
2857 register_ber_oid_dissector("2.5.29.24", dissect_x509ce_invalidityDate_callback, proto_x509ce, "id-ce-invalidityDate");
2858 register_ber_oid_dissector("2.5.29.51", dissect_x509ce_baseUpdateTime_callback, proto_x509ce, "id-ce-baseUpdateTime");