1 /* Do not modify this file. Changes will be overwritten. */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler */
4 /* asn2wrs.py -b -q -L -p x509ce -c ./x509ce.cnf -s ./packet-x509ce-template -D . -O ../.. CertificateExtensions.asn CertificateExtensionsRFC9310.asn CertificateExtensionsCiplus.asn */
7 * Routines for X.509 Certificate Extensions packet dissection
10 * Wireshark - Network traffic analyzer
11 * By Gerald Combs <gerald@wireshark.org>
12 * Copyright 1998 Gerald Combs
14 * SPDX-License-Identifier: GPL-2.0-or-later
19 #include <epan/packet.h>
20 #include <epan/asn1.h>
21 #include <epan/oids.h>
22 #include <wsutil/array.h>
24 #include "packet-ber.h"
25 #include "packet-x509ce.h"
26 #include "packet-x509af.h"
27 #include "packet-x509if.h"
28 #include "packet-x509sat.h"
29 #include "packet-p1.h"
31 #define PNAME "X.509 Certificate Extensions"
32 #define PSNAME "X509CE"
33 #define PFNAME "x509ce"
35 void proto_register_x509ce(void);
36 void proto_reg_handoff_x509ce(void);
38 /* Initialize the protocol and registered fields */
39 static int proto_x509ce
;
40 static int hf_x509ce_id_ce_invalidityDate
;
41 static int hf_x509ce_id_ce_baseUpdateTime
;
42 static int hf_x509ce_object_identifier_id
;
43 static int hf_x509ce_IPAddress_ipv4
;
44 static int hf_x509ce_IPAddress_ipv4_mask
;
45 static int hf_x509ce_IPAddress_ipv6
;
46 static int hf_x509ce_IPAddress_ipv6_mask
;
47 static int hf_x509ce_IPAddress_unknown
;
48 static int hf_x509ce_AuthorityKeyIdentifier_PDU
; /* AuthorityKeyIdentifier */
49 static int hf_x509ce_SubjectKeyIdentifier_PDU
; /* SubjectKeyIdentifier */
50 static int hf_x509ce_KeyUsage_PDU
; /* KeyUsage */
51 static int hf_x509ce_KeyPurposeIDs_PDU
; /* KeyPurposeIDs */
52 static int hf_x509ce_PrivateKeyUsagePeriod_PDU
; /* PrivateKeyUsagePeriod */
53 static int hf_x509ce_CertificatePoliciesSyntax_PDU
; /* CertificatePoliciesSyntax */
54 static int hf_x509ce_PolicyMappingsSyntax_PDU
; /* PolicyMappingsSyntax */
55 static int hf_x509ce_GeneralNames_PDU
; /* GeneralNames */
56 static int hf_x509ce_AttributesSyntax_PDU
; /* AttributesSyntax */
57 static int hf_x509ce_BasicConstraintsSyntax_PDU
; /* BasicConstraintsSyntax */
58 static int hf_x509ce_NameConstraintsSyntax_PDU
; /* NameConstraintsSyntax */
59 static int hf_x509ce_PolicyConstraintsSyntax_PDU
; /* PolicyConstraintsSyntax */
60 static int hf_x509ce_SkipCerts_PDU
; /* SkipCerts */
61 static int hf_x509ce_CRLNumber_PDU
; /* CRLNumber */
62 static int hf_x509ce_CRLReason_PDU
; /* CRLReason */
63 static int hf_x509ce_HoldInstruction_PDU
; /* HoldInstruction */
64 static int hf_x509ce_CRLScopeSyntax_PDU
; /* CRLScopeSyntax */
65 static int hf_x509ce_StatusReferrals_PDU
; /* StatusReferrals */
66 static int hf_x509ce_CRLStreamIdentifier_PDU
; /* CRLStreamIdentifier */
67 static int hf_x509ce_OrderedListSyntax_PDU
; /* OrderedListSyntax */
68 static int hf_x509ce_DeltaInformation_PDU
; /* DeltaInformation */
69 static int hf_x509ce_CRLDistPointsSyntax_PDU
; /* CRLDistPointsSyntax */
70 static int hf_x509ce_IssuingDistPointSyntax_PDU
; /* IssuingDistPointSyntax */
71 static int hf_x509ce_BaseCRLNumber_PDU
; /* BaseCRLNumber */
72 static int hf_x509ce_ToBeRevokedSyntax_PDU
; /* ToBeRevokedSyntax */
73 static int hf_x509ce_RevokedGroupsSyntax_PDU
; /* RevokedGroupsSyntax */
74 static int hf_x509ce_ExpiredCertsOnCRL_PDU
; /* ExpiredCertsOnCRL */
75 static int hf_x509ce_AAIssuingDistPointSyntax_PDU
; /* AAIssuingDistPointSyntax */
76 static int hf_x509ce_CertificateAssertion_PDU
; /* CertificateAssertion */
77 static int hf_x509ce_CertificatePairExactAssertion_PDU
; /* CertificatePairExactAssertion */
78 static int hf_x509ce_CertificatePairAssertion_PDU
; /* CertificatePairAssertion */
79 static int hf_x509ce_CertificateListExactAssertion_PDU
; /* CertificateListExactAssertion */
80 static int hf_x509ce_CertificateListAssertion_PDU
; /* CertificateListAssertion */
81 static int hf_x509ce_PkiPathMatchSyntax_PDU
; /* PkiPathMatchSyntax */
82 static int hf_x509ce_EnhancedCertificateAssertion_PDU
; /* EnhancedCertificateAssertion */
83 static int hf_x509ce_CertificateTemplate_PDU
; /* CertificateTemplate */
84 static int hf_x509ce_NtdsCaSecurity_PDU
; /* NtdsCaSecurity */
85 static int hf_x509ce_NtdsObjectSid_PDU
; /* NtdsObjectSid */
86 static int hf_x509ce_EntrustVersionInfo_PDU
; /* EntrustVersionInfo */
87 static int hf_x509ce_NFTypes_PDU
; /* NFTypes */
88 static int hf_x509ce_ScramblerCapabilities_PDU
; /* ScramblerCapabilities */
89 static int hf_x509ce_CiplusInfo_PDU
; /* CiplusInfo */
90 static int hf_x509ce_CicamBrandId_PDU
; /* CicamBrandId */
91 static int hf_x509ce_SecurityLevel_PDU
; /* SecurityLevel */
92 static int hf_x509ce_keyIdentifier
; /* KeyIdentifier */
93 static int hf_x509ce_authorityCertIssuer
; /* GeneralNames */
94 static int hf_x509ce_authorityCertSerialNumber
; /* CertificateSerialNumber */
95 static int hf_x509ce_KeyPurposeIDs_item
; /* KeyPurposeId */
96 static int hf_x509ce_notBefore
; /* GeneralizedTime */
97 static int hf_x509ce_notAfter
; /* GeneralizedTime */
98 static int hf_x509ce_CertificatePoliciesSyntax_item
; /* PolicyInformation */
99 static int hf_x509ce_policyIdentifier
; /* CertPolicyId */
100 static int hf_x509ce_policyQualifiers
; /* SEQUENCE_SIZE_1_MAX_OF_PolicyQualifierInfo */
101 static int hf_x509ce_policyQualifiers_item
; /* PolicyQualifierInfo */
102 static int hf_x509ce_policyQualifierId
; /* T_policyQualifierId */
103 static int hf_x509ce_qualifier
; /* T_qualifier */
104 static int hf_x509ce_PolicyMappingsSyntax_item
; /* PolicyMappingsSyntax_item */
105 static int hf_x509ce_issuerDomainPolicy
; /* CertPolicyId */
106 static int hf_x509ce_subjectDomainPolicy
; /* CertPolicyId */
107 static int hf_x509ce_GeneralNames_item
; /* GeneralName */
108 static int hf_x509ce_otherName
; /* OtherName */
109 static int hf_x509ce_rfc822Name
; /* IA5String */
110 static int hf_x509ce_dNSName
; /* IA5String */
111 static int hf_x509ce_x400Address
; /* ORAddress */
112 static int hf_x509ce_directoryName
; /* Name */
113 static int hf_x509ce_ediPartyName
; /* EDIPartyName */
114 static int hf_x509ce_uniformResourceIdentifier
; /* T_uniformResourceIdentifier */
115 static int hf_x509ce_iPAddress
; /* T_iPAddress */
116 static int hf_x509ce_registeredID
; /* OBJECT_IDENTIFIER */
117 static int hf_x509ce_type_id
; /* OtherNameType */
118 static int hf_x509ce_value
; /* OtherNameValue */
119 static int hf_x509ce_nameAssigner
; /* DirectoryString */
120 static int hf_x509ce_partyName
; /* DirectoryString */
121 static int hf_x509ce_AttributesSyntax_item
; /* Attribute */
122 static int hf_x509ce_cA
; /* BOOLEAN */
123 static int hf_x509ce_pathLenConstraint
; /* INTEGER_0_MAX */
124 static int hf_x509ce_permittedSubtrees
; /* GeneralSubtrees */
125 static int hf_x509ce_excludedSubtrees
; /* GeneralSubtrees */
126 static int hf_x509ce_GeneralSubtrees_item
; /* GeneralSubtree */
127 static int hf_x509ce_base
; /* GeneralName */
128 static int hf_x509ce_minimum
; /* BaseDistance */
129 static int hf_x509ce_maximum
; /* BaseDistance */
130 static int hf_x509ce_requireExplicitPolicy
; /* SkipCerts */
131 static int hf_x509ce_inhibitPolicyMapping
; /* SkipCerts */
132 static int hf_x509ce_CRLScopeSyntax_item
; /* PerAuthorityScope */
133 static int hf_x509ce_authorityName
; /* GeneralName */
134 static int hf_x509ce_distributionPoint
; /* DistributionPointName */
135 static int hf_x509ce_onlyContains
; /* OnlyCertificateTypes */
136 static int hf_x509ce_onlySomeReasons
; /* ReasonFlags */
137 static int hf_x509ce_serialNumberRange
; /* NumberRange */
138 static int hf_x509ce_subjectKeyIdRange
; /* NumberRange */
139 static int hf_x509ce_nameSubtrees
; /* GeneralNames */
140 static int hf_x509ce_baseRevocationInfo
; /* BaseRevocationInfo */
141 static int hf_x509ce_startingNumber
; /* INTEGER */
142 static int hf_x509ce_endingNumber
; /* INTEGER */
143 static int hf_x509ce_modulus
; /* INTEGER */
144 static int hf_x509ce_cRLStreamIdentifier
; /* CRLStreamIdentifier */
145 static int hf_x509ce_cRLNumber
; /* CRLNumber */
146 static int hf_x509ce_baseThisUpdate
; /* GeneralizedTime */
147 static int hf_x509ce_StatusReferrals_item
; /* StatusReferral */
148 static int hf_x509ce_cRLReferral
; /* CRLReferral */
149 static int hf_x509ce_crlr_issuer
; /* GeneralName */
150 static int hf_x509ce_location
; /* GeneralName */
151 static int hf_x509ce_deltaRefInfo
; /* DeltaRefInfo */
152 static int hf_x509ce_cRLScope
; /* CRLScopeSyntax */
153 static int hf_x509ce_lastUpdate
; /* GeneralizedTime */
154 static int hf_x509ce_lastChangedCRL
; /* GeneralizedTime */
155 static int hf_x509ce_deltaLocation
; /* GeneralName */
156 static int hf_x509ce_lastDelta
; /* GeneralizedTime */
157 static int hf_x509ce_nextDelta
; /* GeneralizedTime */
158 static int hf_x509ce_CRLDistPointsSyntax_item
; /* DistributionPoint */
159 static int hf_x509ce_reasons
; /* ReasonFlags */
160 static int hf_x509ce_cRLIssuer
; /* GeneralNames */
161 static int hf_x509ce_fullName
; /* GeneralNames */
162 static int hf_x509ce_nameRelativeToCRLIssuer
; /* RelativeDistinguishedName */
163 static int hf_x509ce_onlyContainsUserPublicKeyCerts
; /* BOOLEAN */
164 static int hf_x509ce_onlyContainsCACerts
; /* BOOLEAN */
165 static int hf_x509ce_indirectCRL
; /* BOOLEAN */
166 static int hf_x509ce_ToBeRevokedSyntax_item
; /* ToBeRevokedGroup */
167 static int hf_x509ce_certificateIssuer
; /* GeneralName */
168 static int hf_x509ce_reasonInfo
; /* ReasonInfo */
169 static int hf_x509ce_revocationTime
; /* GeneralizedTime */
170 static int hf_x509ce_certificateGroup
; /* CertificateGroup */
171 static int hf_x509ce_reasonCode
; /* CRLReason */
172 static int hf_x509ce_holdInstructionCode
; /* HoldInstruction */
173 static int hf_x509ce_serialNumbers
; /* CertificateSerialNumbers */
174 static int hf_x509ce_certificateGroupNumberRange
; /* CertificateGroupNumberRange */
175 static int hf_x509ce_nameSubtree
; /* GeneralName */
176 static int hf_x509ce_CertificateSerialNumbers_item
; /* CertificateSerialNumber */
177 static int hf_x509ce_RevokedGroupsSyntax_item
; /* RevokedGroup */
178 static int hf_x509ce_invalidityDate
; /* GeneralizedTime */
179 static int hf_x509ce_revokedcertificateGroup
; /* RevokedCertificateGroup */
180 static int hf_x509ce_containsUserAttributeCerts
; /* BOOLEAN */
181 static int hf_x509ce_containsAACerts
; /* BOOLEAN */
182 static int hf_x509ce_containsSOAPublicKeyCerts
; /* BOOLEAN */
183 static int hf_x509ce_serialNumber
; /* CertificateSerialNumber */
184 static int hf_x509ce_issuer
; /* Name */
185 static int hf_x509ce_subjectKeyIdentifier
; /* SubjectKeyIdentifier */
186 static int hf_x509ce_authorityKeyIdentifier
; /* AuthorityKeyIdentifier */
187 static int hf_x509ce_certificateValid
; /* Time */
188 static int hf_x509ce_privateKeyValid
; /* GeneralizedTime */
189 static int hf_x509ce_subjectPublicKeyAlgID
; /* OBJECT_IDENTIFIER */
190 static int hf_x509ce_keyUsage
; /* KeyUsage */
191 static int hf_x509ce_subjectAltNameType
; /* AltNameType */
192 static int hf_x509ce_policy
; /* CertPolicySet */
193 static int hf_x509ce_pathToName
; /* Name */
194 static int hf_x509ce_subject
; /* Name */
195 static int hf_x509ce_nameConstraints
; /* NameConstraintsSyntax */
196 static int hf_x509ce_builtinNameForm
; /* T_builtinNameForm */
197 static int hf_x509ce_otherNameForm
; /* OBJECT_IDENTIFIER */
198 static int hf_x509ce_CertPolicySet_item
; /* CertPolicyId */
199 static int hf_x509ce_cpea_issuedToThisCAAssertion
; /* CertificateExactAssertion */
200 static int hf_x509ce_cpea_issuedByThisCAAssertion
; /* CertificateExactAssertion */
201 static int hf_x509ce_issuedToThisCAAssertion
; /* CertificateAssertion */
202 static int hf_x509ce_issuedByThisCAAssertion
; /* CertificateAssertion */
203 static int hf_x509ce_thisUpdate
; /* Time */
204 static int hf_x509ce_minCRLNumber
; /* CRLNumber */
205 static int hf_x509ce_maxCRLNumber
; /* CRLNumber */
206 static int hf_x509ce_reasonFlags
; /* ReasonFlags */
207 static int hf_x509ce_dateAndTime
; /* Time */
208 static int hf_x509ce_firstIssuer
; /* Name */
209 static int hf_x509ce_lastSubject
; /* Name */
210 static int hf_x509ce_subjectAltName
; /* AltName */
211 static int hf_x509ce_enhancedPathToName
; /* GeneralNames */
212 static int hf_x509ce_altnameType
; /* AltNameType */
213 static int hf_x509ce_altNameValue
; /* GeneralName */
214 static int hf_x509ce_templateID
; /* OBJECT_IDENTIFIER */
215 static int hf_x509ce_templateMajorVersion
; /* INTEGER */
216 static int hf_x509ce_templateMinorVersion
; /* INTEGER */
217 static int hf_x509ce_ntdsObjectSid
; /* NtdsObjectSid */
218 static int hf_x509ce_type_id_01
; /* OBJECT_IDENTIFIER */
219 static int hf_x509ce_sid
; /* PrintableString */
220 static int hf_x509ce_entrustVers
; /* GeneralString */
221 static int hf_x509ce_entrustVersInfoFlags
; /* EntrustInfoFlags */
222 static int hf_x509ce_NFTypes_item
; /* NFType */
223 static int hf_x509ce_capability
; /* INTEGER_0_MAX */
224 static int hf_x509ce_version
; /* INTEGER_0_MAX */
226 static int hf_x509ce_KeyUsage_digitalSignature
;
227 static int hf_x509ce_KeyUsage_contentCommitment
;
228 static int hf_x509ce_KeyUsage_keyEncipherment
;
229 static int hf_x509ce_KeyUsage_dataEncipherment
;
230 static int hf_x509ce_KeyUsage_keyAgreement
;
231 static int hf_x509ce_KeyUsage_keyCertSign
;
232 static int hf_x509ce_KeyUsage_cRLSign
;
233 static int hf_x509ce_KeyUsage_encipherOnly
;
234 static int hf_x509ce_KeyUsage_decipherOnly
;
235 static int hf_x509ce_OnlyCertificateTypes_user
;
236 static int hf_x509ce_OnlyCertificateTypes_authority
;
237 static int hf_x509ce_OnlyCertificateTypes_attribute
;
238 static int hf_x509ce_ReasonFlags_unused
;
239 static int hf_x509ce_ReasonFlags_keyCompromise
;
240 static int hf_x509ce_ReasonFlags_cACompromise
;
241 static int hf_x509ce_ReasonFlags_affiliationChanged
;
242 static int hf_x509ce_ReasonFlags_superseded
;
243 static int hf_x509ce_ReasonFlags_cessationOfOperation
;
244 static int hf_x509ce_ReasonFlags_certificateHold
;
245 static int hf_x509ce_ReasonFlags_privilegeWithdrawn
;
246 static int hf_x509ce_ReasonFlags_aACompromise
;
247 static int hf_x509ce_EntrustInfoFlags_keyUpdateAllowed
;
248 static int hf_x509ce_EntrustInfoFlags_newExtensions
;
249 static int hf_x509ce_EntrustInfoFlags_pKIXCertificate
;
250 static int hf_x509ce_EntrustInfoFlags_enterpriseCategory
;
251 static int hf_x509ce_EntrustInfoFlags_webCategory
;
252 static int hf_x509ce_EntrustInfoFlags_sETCategory
;
254 /* Initialize the subtree pointers */
255 static int ett_x509ce_AuthorityKeyIdentifier
;
256 static int ett_x509ce_KeyUsage
;
257 static int ett_x509ce_KeyPurposeIDs
;
258 static int ett_x509ce_PrivateKeyUsagePeriod
;
259 static int ett_x509ce_CertificatePoliciesSyntax
;
260 static int ett_x509ce_PolicyInformation
;
261 static int ett_x509ce_SEQUENCE_SIZE_1_MAX_OF_PolicyQualifierInfo
;
262 static int ett_x509ce_PolicyQualifierInfo
;
263 static int ett_x509ce_PolicyMappingsSyntax
;
264 static int ett_x509ce_PolicyMappingsSyntax_item
;
265 static int ett_x509ce_GeneralNames
;
266 static int ett_x509ce_GeneralName
;
267 static int ett_x509ce_OtherName
;
268 static int ett_x509ce_EDIPartyName
;
269 static int ett_x509ce_AttributesSyntax
;
270 static int ett_x509ce_BasicConstraintsSyntax
;
271 static int ett_x509ce_NameConstraintsSyntax
;
272 static int ett_x509ce_GeneralSubtrees
;
273 static int ett_x509ce_GeneralSubtree
;
274 static int ett_x509ce_PolicyConstraintsSyntax
;
275 static int ett_x509ce_CRLScopeSyntax
;
276 static int ett_x509ce_PerAuthorityScope
;
277 static int ett_x509ce_OnlyCertificateTypes
;
278 static int ett_x509ce_NumberRange
;
279 static int ett_x509ce_BaseRevocationInfo
;
280 static int ett_x509ce_StatusReferrals
;
281 static int ett_x509ce_StatusReferral
;
282 static int ett_x509ce_CRLReferral
;
283 static int ett_x509ce_DeltaRefInfo
;
284 static int ett_x509ce_DeltaInformation
;
285 static int ett_x509ce_CRLDistPointsSyntax
;
286 static int ett_x509ce_DistributionPoint
;
287 static int ett_x509ce_DistributionPointName
;
288 static int ett_x509ce_ReasonFlags
;
289 static int ett_x509ce_IssuingDistPointSyntax
;
290 static int ett_x509ce_ToBeRevokedSyntax
;
291 static int ett_x509ce_ToBeRevokedGroup
;
292 static int ett_x509ce_ReasonInfo
;
293 static int ett_x509ce_CertificateGroup
;
294 static int ett_x509ce_CertificateGroupNumberRange
;
295 static int ett_x509ce_CertificateSerialNumbers
;
296 static int ett_x509ce_RevokedGroupsSyntax
;
297 static int ett_x509ce_RevokedGroup
;
298 static int ett_x509ce_RevokedCertificateGroup
;
299 static int ett_x509ce_AAIssuingDistPointSyntax
;
300 static int ett_x509ce_CertificateExactAssertion
;
301 static int ett_x509ce_CertificateAssertion
;
302 static int ett_x509ce_AltNameType
;
303 static int ett_x509ce_CertPolicySet
;
304 static int ett_x509ce_CertificatePairExactAssertion
;
305 static int ett_x509ce_CertificatePairAssertion
;
306 static int ett_x509ce_CertificateListExactAssertion
;
307 static int ett_x509ce_CertificateListAssertion
;
308 static int ett_x509ce_PkiPathMatchSyntax
;
309 static int ett_x509ce_EnhancedCertificateAssertion
;
310 static int ett_x509ce_AltName
;
311 static int ett_x509ce_CertificateTemplate
;
312 static int ett_x509ce_NtdsCaSecurity
;
313 static int ett_x509ce_NtdsObjectSid_U
;
314 static int ett_x509ce_EntrustVersionInfo
;
315 static int ett_x509ce_EntrustInfoFlags
;
316 static int ett_x509ce_NFTypes
;
317 static int ett_x509ce_ScramblerCapabilities
;
321 dissect_x509ce_KeyIdentifier(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
322 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
331 dissect_x509ce_OtherNameType(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
332 offset
= dissect_ber_object_identifier_str(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, &actx
->external
.direct_reference
);
340 dissect_x509ce_OtherNameValue(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
341 offset
=call_ber_oid_callback(actx
->external
.direct_reference
, tvb
, offset
, actx
->pinfo
, tree
, NULL
);
348 static const ber_sequence_t OtherName_sequence
[] = {
349 { &hf_x509ce_type_id
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_x509ce_OtherNameType
},
350 { &hf_x509ce_value
, BER_CLASS_CON
, 0, 0, dissect_x509ce_OtherNameValue
},
351 { NULL
, 0, 0, 0, NULL
}
355 dissect_x509ce_OtherName(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
356 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
357 OtherName_sequence
, hf_index
, ett_x509ce_OtherName
);
365 dissect_x509ce_IA5String(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
366 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_IA5String
,
367 actx
, tree
, tvb
, offset
, hf_index
,
374 static const ber_sequence_t EDIPartyName_sequence
[] = {
375 { &hf_x509ce_nameAssigner
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509sat_DirectoryString
},
376 { &hf_x509ce_partyName
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_x509sat_DirectoryString
},
377 { NULL
, 0, 0, 0, NULL
}
381 dissect_x509ce_EDIPartyName(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
382 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
383 EDIPartyName_sequence
, hf_index
, ett_x509ce_EDIPartyName
);
391 dissect_x509ce_T_uniformResourceIdentifier(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
392 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_IA5String
,
393 actx
, tree
, tvb
, offset
, hf_index
,
397 proto_item_set_url(actx
->created_item
);
405 dissect_x509ce_T_iPAddress(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
406 uint32_t len
= tvb_reported_length(tvb
);
409 proto_tree_add_item(tree
, hf_x509ce_IPAddress_ipv4
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
412 case 8: /* IPv4 + Mask*/
413 proto_tree_add_item(tree
, hf_x509ce_IPAddress_ipv4
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
415 proto_tree_add_item(tree
, hf_x509ce_IPAddress_ipv4_mask
, tvb
, offset
, 4, ENC_BIG_ENDIAN
);
419 proto_tree_add_item(tree
, hf_x509ce_IPAddress_ipv6
, tvb
, offset
, 16, ENC_NA
);
422 case 32: /* IPv6 + Mask */
423 proto_tree_add_item(tree
, hf_x509ce_IPAddress_ipv6
, tvb
, offset
, 16, ENC_NA
);
425 proto_tree_add_item(tree
, hf_x509ce_IPAddress_ipv6_mask
, tvb
, offset
, 16, ENC_NA
);
428 default: /* Unknown */
429 proto_tree_add_item(tree
, hf_x509ce_IPAddress_unknown
, tvb
, offset
, len
, ENC_NA
);
441 dissect_x509ce_OBJECT_IDENTIFIER(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
442 offset
= dissect_ber_object_identifier(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
);
448 const value_string x509ce_GeneralName_vals
[] = {
452 { 3, "x400Address" },
453 { 4, "directoryName" },
454 { 5, "ediPartyName" },
455 { 6, "uniformResourceIdentifier" },
457 { 8, "registeredID" },
461 static const ber_choice_t GeneralName_choice
[] = {
462 { 0, &hf_x509ce_otherName
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_x509ce_OtherName
},
463 { 1, &hf_x509ce_rfc822Name
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_x509ce_IA5String
},
464 { 2, &hf_x509ce_dNSName
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_x509ce_IA5String
},
465 { 3, &hf_x509ce_x400Address
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_p1_ORAddress
},
466 { 4, &hf_x509ce_directoryName
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_x509if_Name
},
467 { 5, &hf_x509ce_ediPartyName
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_x509ce_EDIPartyName
},
468 { 6, &hf_x509ce_uniformResourceIdentifier
, BER_CLASS_CON
, 6, BER_FLAGS_IMPLTAG
, dissect_x509ce_T_uniformResourceIdentifier
},
469 { 7, &hf_x509ce_iPAddress
, BER_CLASS_CON
, 7, BER_FLAGS_IMPLTAG
, dissect_x509ce_T_iPAddress
},
470 { 8, &hf_x509ce_registeredID
, BER_CLASS_CON
, 8, BER_FLAGS_IMPLTAG
, dissect_x509ce_OBJECT_IDENTIFIER
},
471 { 0, NULL
, 0, 0, 0, NULL
}
475 dissect_x509ce_GeneralName(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
476 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
477 GeneralName_choice
, hf_index
, ett_x509ce_GeneralName
,
484 static const ber_sequence_t GeneralNames_sequence_of
[1] = {
485 { &hf_x509ce_GeneralNames_item
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_x509ce_GeneralName
},
489 dissect_x509ce_GeneralNames(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
490 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
491 GeneralNames_sequence_of
, hf_index
, ett_x509ce_GeneralNames
);
497 static const ber_sequence_t AuthorityKeyIdentifier_sequence
[] = {
498 { &hf_x509ce_keyIdentifier
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_KeyIdentifier
},
499 { &hf_x509ce_authorityCertIssuer
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_GeneralNames
},
500 { &hf_x509ce_authorityCertSerialNumber
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509af_CertificateSerialNumber
},
501 { NULL
, 0, 0, 0, NULL
}
505 dissect_x509ce_AuthorityKeyIdentifier(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
506 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
507 AuthorityKeyIdentifier_sequence
, hf_index
, ett_x509ce_AuthorityKeyIdentifier
);
515 dissect_x509ce_SubjectKeyIdentifier(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
516 offset
= dissect_x509ce_KeyIdentifier(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
522 static int * const KeyUsage_bits
[] = {
523 &hf_x509ce_KeyUsage_digitalSignature
,
524 &hf_x509ce_KeyUsage_contentCommitment
,
525 &hf_x509ce_KeyUsage_keyEncipherment
,
526 &hf_x509ce_KeyUsage_dataEncipherment
,
527 &hf_x509ce_KeyUsage_keyAgreement
,
528 &hf_x509ce_KeyUsage_keyCertSign
,
529 &hf_x509ce_KeyUsage_cRLSign
,
530 &hf_x509ce_KeyUsage_encipherOnly
,
531 &hf_x509ce_KeyUsage_decipherOnly
,
536 dissect_x509ce_KeyUsage(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
537 offset
= dissect_ber_bitstring(implicit_tag
, actx
, tree
, tvb
, offset
,
538 KeyUsage_bits
, 9, hf_index
, ett_x509ce_KeyUsage
,
547 dissect_x509ce_KeyPurposeId(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
548 offset
= dissect_ber_object_identifier(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
);
554 static const ber_sequence_t KeyPurposeIDs_sequence_of
[1] = {
555 { &hf_x509ce_KeyPurposeIDs_item
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_x509ce_KeyPurposeId
},
559 dissect_x509ce_KeyPurposeIDs(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
560 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
561 KeyPurposeIDs_sequence_of
, hf_index
, ett_x509ce_KeyPurposeIDs
);
569 dissect_x509ce_GeneralizedTime(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
570 offset
= dissect_ber_GeneralizedTime(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
576 static const ber_sequence_t PrivateKeyUsagePeriod_sequence
[] = {
577 { &hf_x509ce_notBefore
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_GeneralizedTime
},
578 { &hf_x509ce_notAfter
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_GeneralizedTime
},
579 { NULL
, 0, 0, 0, NULL
}
583 dissect_x509ce_PrivateKeyUsagePeriod(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
584 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
585 PrivateKeyUsagePeriod_sequence
, hf_index
, ett_x509ce_PrivateKeyUsagePeriod
);
593 dissect_x509ce_CertPolicyId(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
594 offset
= dissect_ber_object_identifier(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
);
602 dissect_x509ce_T_policyQualifierId(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
603 offset
= dissect_ber_object_identifier_str(implicit_tag
, actx
, tree
, tvb
, offset
, hf_x509ce_object_identifier_id
, &actx
->external
.direct_reference
);
611 dissect_x509ce_T_qualifier(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
612 offset
=call_ber_oid_callback(actx
->external
.direct_reference
, tvb
, offset
, actx
->pinfo
, tree
, NULL
);
619 static const ber_sequence_t PolicyQualifierInfo_sequence
[] = {
620 { &hf_x509ce_policyQualifierId
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_x509ce_T_policyQualifierId
},
621 { &hf_x509ce_qualifier
, BER_CLASS_ANY
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_x509ce_T_qualifier
},
622 { NULL
, 0, 0, 0, NULL
}
626 dissect_x509ce_PolicyQualifierInfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
627 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
628 PolicyQualifierInfo_sequence
, hf_index
, ett_x509ce_PolicyQualifierInfo
);
634 static const ber_sequence_t SEQUENCE_SIZE_1_MAX_OF_PolicyQualifierInfo_sequence_of
[1] = {
635 { &hf_x509ce_policyQualifiers_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509ce_PolicyQualifierInfo
},
639 dissect_x509ce_SEQUENCE_SIZE_1_MAX_OF_PolicyQualifierInfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
640 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
641 SEQUENCE_SIZE_1_MAX_OF_PolicyQualifierInfo_sequence_of
, hf_index
, ett_x509ce_SEQUENCE_SIZE_1_MAX_OF_PolicyQualifierInfo
);
647 static const ber_sequence_t PolicyInformation_sequence
[] = {
648 { &hf_x509ce_policyIdentifier
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_x509ce_CertPolicyId
},
649 { &hf_x509ce_policyQualifiers
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_x509ce_SEQUENCE_SIZE_1_MAX_OF_PolicyQualifierInfo
},
650 { NULL
, 0, 0, 0, NULL
}
654 dissect_x509ce_PolicyInformation(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
655 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
656 PolicyInformation_sequence
, hf_index
, ett_x509ce_PolicyInformation
);
662 static const ber_sequence_t CertificatePoliciesSyntax_sequence_of
[1] = {
663 { &hf_x509ce_CertificatePoliciesSyntax_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509ce_PolicyInformation
},
667 dissect_x509ce_CertificatePoliciesSyntax(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
668 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
669 CertificatePoliciesSyntax_sequence_of
, hf_index
, ett_x509ce_CertificatePoliciesSyntax
);
675 static const ber_sequence_t PolicyMappingsSyntax_item_sequence
[] = {
676 { &hf_x509ce_issuerDomainPolicy
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_x509ce_CertPolicyId
},
677 { &hf_x509ce_subjectDomainPolicy
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_x509ce_CertPolicyId
},
678 { NULL
, 0, 0, 0, NULL
}
682 dissect_x509ce_PolicyMappingsSyntax_item(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
683 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
684 PolicyMappingsSyntax_item_sequence
, hf_index
, ett_x509ce_PolicyMappingsSyntax_item
);
690 static const ber_sequence_t PolicyMappingsSyntax_sequence_of
[1] = {
691 { &hf_x509ce_PolicyMappingsSyntax_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509ce_PolicyMappingsSyntax_item
},
695 dissect_x509ce_PolicyMappingsSyntax(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
696 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
697 PolicyMappingsSyntax_sequence_of
, hf_index
, ett_x509ce_PolicyMappingsSyntax
);
703 static const ber_sequence_t AttributesSyntax_sequence_of
[1] = {
704 { &hf_x509ce_AttributesSyntax_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509if_Attribute
},
708 dissect_x509ce_AttributesSyntax(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
709 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
710 AttributesSyntax_sequence_of
, hf_index
, ett_x509ce_AttributesSyntax
);
718 dissect_x509ce_BOOLEAN(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
719 offset
= dissect_ber_boolean(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
);
727 dissect_x509ce_INTEGER_0_MAX(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
728 offset
= dissect_ber_integer64(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
735 static const ber_sequence_t BasicConstraintsSyntax_sequence
[] = {
736 { &hf_x509ce_cA
, BER_CLASS_UNI
, BER_UNI_TAG_BOOLEAN
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_x509ce_BOOLEAN
},
737 { &hf_x509ce_pathLenConstraint
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_x509ce_INTEGER_0_MAX
},
738 { NULL
, 0, 0, 0, NULL
}
742 dissect_x509ce_BasicConstraintsSyntax(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
743 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
744 BasicConstraintsSyntax_sequence
, hf_index
, ett_x509ce_BasicConstraintsSyntax
);
752 dissect_x509ce_BaseDistance(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
753 offset
= dissect_ber_integer64(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
760 static const ber_sequence_t GeneralSubtree_sequence
[] = {
761 { &hf_x509ce_base
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_x509ce_GeneralName
},
762 { &hf_x509ce_minimum
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_BaseDistance
},
763 { &hf_x509ce_maximum
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_BaseDistance
},
764 { NULL
, 0, 0, 0, NULL
}
768 dissect_x509ce_GeneralSubtree(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
769 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
770 GeneralSubtree_sequence
, hf_index
, ett_x509ce_GeneralSubtree
);
776 static const ber_sequence_t GeneralSubtrees_sequence_of
[1] = {
777 { &hf_x509ce_GeneralSubtrees_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509ce_GeneralSubtree
},
781 dissect_x509ce_GeneralSubtrees(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
782 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
783 GeneralSubtrees_sequence_of
, hf_index
, ett_x509ce_GeneralSubtrees
);
789 static const ber_sequence_t NameConstraintsSyntax_sequence
[] = {
790 { &hf_x509ce_permittedSubtrees
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_GeneralSubtrees
},
791 { &hf_x509ce_excludedSubtrees
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_GeneralSubtrees
},
792 { NULL
, 0, 0, 0, NULL
}
796 dissect_x509ce_NameConstraintsSyntax(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
797 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
798 NameConstraintsSyntax_sequence
, hf_index
, ett_x509ce_NameConstraintsSyntax
);
806 dissect_x509ce_SkipCerts(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
807 offset
= dissect_ber_integer64(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
814 static const ber_sequence_t PolicyConstraintsSyntax_sequence
[] = {
815 { &hf_x509ce_requireExplicitPolicy
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_SkipCerts
},
816 { &hf_x509ce_inhibitPolicyMapping
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_SkipCerts
},
817 { NULL
, 0, 0, 0, NULL
}
821 dissect_x509ce_PolicyConstraintsSyntax(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
822 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
823 PolicyConstraintsSyntax_sequence
, hf_index
, ett_x509ce_PolicyConstraintsSyntax
);
831 dissect_x509ce_CRLNumber(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
832 offset
= dissect_ber_integer64(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
839 const value_string x509ce_CRLReason_vals
[] = {
840 { 0, "unspecified" },
841 { 1, "keyCompromise" },
842 { 2, "cACompromise" },
843 { 3, "affiliationChanged" },
845 { 5, "cessationOfOperation" },
846 { 6, "certificateHold" },
847 { 8, "removeFromCRL" },
848 { 9, "privilegeWithdrawn" },
849 { 10, "aaCompromise" },
855 dissect_x509ce_CRLReason(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
856 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
865 dissect_x509ce_HoldInstruction(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
866 offset
= dissect_ber_object_identifier(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
);
872 const value_string x509ce_DistributionPointName_vals
[] = {
874 { 1, "nameRelativeToCRLIssuer" },
878 static const ber_choice_t DistributionPointName_choice
[] = {
879 { 0, &hf_x509ce_fullName
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_x509ce_GeneralNames
},
880 { 1, &hf_x509ce_nameRelativeToCRLIssuer
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_x509if_RelativeDistinguishedName
},
881 { 0, NULL
, 0, 0, 0, NULL
}
885 dissect_x509ce_DistributionPointName(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
886 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
887 DistributionPointName_choice
, hf_index
, ett_x509ce_DistributionPointName
,
894 static int * const OnlyCertificateTypes_bits
[] = {
895 &hf_x509ce_OnlyCertificateTypes_user
,
896 &hf_x509ce_OnlyCertificateTypes_authority
,
897 &hf_x509ce_OnlyCertificateTypes_attribute
,
902 dissect_x509ce_OnlyCertificateTypes(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
903 offset
= dissect_ber_bitstring(implicit_tag
, actx
, tree
, tvb
, offset
,
904 OnlyCertificateTypes_bits
, 3, hf_index
, ett_x509ce_OnlyCertificateTypes
,
911 static int * const ReasonFlags_bits
[] = {
912 &hf_x509ce_ReasonFlags_unused
,
913 &hf_x509ce_ReasonFlags_keyCompromise
,
914 &hf_x509ce_ReasonFlags_cACompromise
,
915 &hf_x509ce_ReasonFlags_affiliationChanged
,
916 &hf_x509ce_ReasonFlags_superseded
,
917 &hf_x509ce_ReasonFlags_cessationOfOperation
,
918 &hf_x509ce_ReasonFlags_certificateHold
,
919 &hf_x509ce_ReasonFlags_privilegeWithdrawn
,
920 &hf_x509ce_ReasonFlags_aACompromise
,
925 dissect_x509ce_ReasonFlags(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
926 offset
= dissect_ber_bitstring(implicit_tag
, actx
, tree
, tvb
, offset
,
927 ReasonFlags_bits
, 9, hf_index
, ett_x509ce_ReasonFlags
,
936 dissect_x509ce_INTEGER(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
937 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
944 static const ber_sequence_t NumberRange_sequence
[] = {
945 { &hf_x509ce_startingNumber
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_INTEGER
},
946 { &hf_x509ce_endingNumber
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_INTEGER
},
947 { &hf_x509ce_modulus
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_x509ce_INTEGER
},
948 { NULL
, 0, 0, 0, NULL
}
952 dissect_x509ce_NumberRange(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
953 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
954 NumberRange_sequence
, hf_index
, ett_x509ce_NumberRange
);
962 dissect_x509ce_CRLStreamIdentifier(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
963 offset
= dissect_ber_integer64(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
970 static const ber_sequence_t BaseRevocationInfo_sequence
[] = {
971 { &hf_x509ce_cRLStreamIdentifier
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_CRLStreamIdentifier
},
972 { &hf_x509ce_cRLNumber
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_x509ce_CRLNumber
},
973 { &hf_x509ce_baseThisUpdate
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_x509ce_GeneralizedTime
},
974 { NULL
, 0, 0, 0, NULL
}
978 dissect_x509ce_BaseRevocationInfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
979 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
980 BaseRevocationInfo_sequence
, hf_index
, ett_x509ce_BaseRevocationInfo
);
986 static const ber_sequence_t PerAuthorityScope_sequence
[] = {
987 { &hf_x509ce_authorityName
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_x509ce_GeneralName
},
988 { &hf_x509ce_distributionPoint
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_x509ce_DistributionPointName
},
989 { &hf_x509ce_onlyContains
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_OnlyCertificateTypes
},
990 { &hf_x509ce_onlySomeReasons
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_ReasonFlags
},
991 { &hf_x509ce_serialNumberRange
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_NumberRange
},
992 { &hf_x509ce_subjectKeyIdRange
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_NumberRange
},
993 { &hf_x509ce_nameSubtrees
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_GeneralNames
},
994 { &hf_x509ce_baseRevocationInfo
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_BaseRevocationInfo
},
995 { NULL
, 0, 0, 0, NULL
}
999 dissect_x509ce_PerAuthorityScope(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1000 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1001 PerAuthorityScope_sequence
, hf_index
, ett_x509ce_PerAuthorityScope
);
1007 static const ber_sequence_t CRLScopeSyntax_sequence_of
[1] = {
1008 { &hf_x509ce_CRLScopeSyntax_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509ce_PerAuthorityScope
},
1012 dissect_x509ce_CRLScopeSyntax(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1013 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1014 CRLScopeSyntax_sequence_of
, hf_index
, ett_x509ce_CRLScopeSyntax
);
1020 static const ber_sequence_t DeltaRefInfo_sequence
[] = {
1021 { &hf_x509ce_deltaLocation
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_x509ce_GeneralName
},
1022 { &hf_x509ce_lastDelta
, BER_CLASS_UNI
, BER_UNI_TAG_GeneralizedTime
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_x509ce_GeneralizedTime
},
1023 { NULL
, 0, 0, 0, NULL
}
1027 dissect_x509ce_DeltaRefInfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1028 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1029 DeltaRefInfo_sequence
, hf_index
, ett_x509ce_DeltaRefInfo
);
1035 static const ber_sequence_t CRLReferral_sequence
[] = {
1036 { &hf_x509ce_crlr_issuer
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_x509ce_GeneralName
},
1037 { &hf_x509ce_location
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_x509ce_GeneralName
},
1038 { &hf_x509ce_deltaRefInfo
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_DeltaRefInfo
},
1039 { &hf_x509ce_cRLScope
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509ce_CRLScopeSyntax
},
1040 { &hf_x509ce_lastUpdate
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_GeneralizedTime
},
1041 { &hf_x509ce_lastChangedCRL
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_GeneralizedTime
},
1042 { NULL
, 0, 0, 0, NULL
}
1046 dissect_x509ce_CRLReferral(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1047 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1048 CRLReferral_sequence
, hf_index
, ett_x509ce_CRLReferral
);
1054 const value_string x509ce_StatusReferral_vals
[] = {
1055 { 0, "cRLReferral" },
1059 static const ber_choice_t StatusReferral_choice
[] = {
1060 { 0, &hf_x509ce_cRLReferral
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_x509ce_CRLReferral
},
1061 { 0, NULL
, 0, 0, 0, NULL
}
1065 dissect_x509ce_StatusReferral(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1066 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1067 StatusReferral_choice
, hf_index
, ett_x509ce_StatusReferral
,
1074 static const ber_sequence_t StatusReferrals_sequence_of
[1] = {
1075 { &hf_x509ce_StatusReferrals_item
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_x509ce_StatusReferral
},
1079 dissect_x509ce_StatusReferrals(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1080 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1081 StatusReferrals_sequence_of
, hf_index
, ett_x509ce_StatusReferrals
);
1087 const value_string x509ce_OrderedListSyntax_vals
[] = {
1088 { 0, "ascSerialNum" },
1089 { 1, "ascRevDate" },
1095 dissect_x509ce_OrderedListSyntax(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1096 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1103 static const ber_sequence_t DeltaInformation_sequence
[] = {
1104 { &hf_x509ce_deltaLocation
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_x509ce_GeneralName
},
1105 { &hf_x509ce_nextDelta
, BER_CLASS_UNI
, BER_UNI_TAG_GeneralizedTime
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_x509ce_GeneralizedTime
},
1106 { NULL
, 0, 0, 0, NULL
}
1110 dissect_x509ce_DeltaInformation(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1111 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1112 DeltaInformation_sequence
, hf_index
, ett_x509ce_DeltaInformation
);
1118 static const ber_sequence_t DistributionPoint_sequence
[] = {
1119 { &hf_x509ce_distributionPoint
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_x509ce_DistributionPointName
},
1120 { &hf_x509ce_reasons
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_ReasonFlags
},
1121 { &hf_x509ce_cRLIssuer
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_GeneralNames
},
1122 { NULL
, 0, 0, 0, NULL
}
1126 dissect_x509ce_DistributionPoint(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1127 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1128 DistributionPoint_sequence
, hf_index
, ett_x509ce_DistributionPoint
);
1134 static const ber_sequence_t CRLDistPointsSyntax_sequence_of
[1] = {
1135 { &hf_x509ce_CRLDistPointsSyntax_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509ce_DistributionPoint
},
1139 dissect_x509ce_CRLDistPointsSyntax(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1140 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1141 CRLDistPointsSyntax_sequence_of
, hf_index
, ett_x509ce_CRLDistPointsSyntax
);
1147 static const ber_sequence_t IssuingDistPointSyntax_sequence
[] = {
1148 { &hf_x509ce_distributionPoint
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_x509ce_DistributionPointName
},
1149 { &hf_x509ce_onlyContainsUserPublicKeyCerts
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_BOOLEAN
},
1150 { &hf_x509ce_onlyContainsCACerts
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_BOOLEAN
},
1151 { &hf_x509ce_onlySomeReasons
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_ReasonFlags
},
1152 { &hf_x509ce_indirectCRL
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_BOOLEAN
},
1153 { NULL
, 0, 0, 0, NULL
}
1157 dissect_x509ce_IssuingDistPointSyntax(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1158 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1159 IssuingDistPointSyntax_sequence
, hf_index
, ett_x509ce_IssuingDistPointSyntax
);
1167 dissect_x509ce_BaseCRLNumber(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1168 offset
= dissect_x509ce_CRLNumber(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
1174 static const ber_sequence_t ReasonInfo_sequence
[] = {
1175 { &hf_x509ce_reasonCode
, BER_CLASS_UNI
, BER_UNI_TAG_ENUMERATED
, BER_FLAGS_NOOWNTAG
, dissect_x509ce_CRLReason
},
1176 { &hf_x509ce_holdInstructionCode
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_x509ce_HoldInstruction
},
1177 { NULL
, 0, 0, 0, NULL
}
1181 dissect_x509ce_ReasonInfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1182 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1183 ReasonInfo_sequence
, hf_index
, ett_x509ce_ReasonInfo
);
1189 static const ber_sequence_t CertificateSerialNumbers_sequence_of
[1] = {
1190 { &hf_x509ce_CertificateSerialNumbers_item
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_x509af_CertificateSerialNumber
},
1194 dissect_x509ce_CertificateSerialNumbers(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1195 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1196 CertificateSerialNumbers_sequence_of
, hf_index
, ett_x509ce_CertificateSerialNumbers
);
1202 static const ber_sequence_t CertificateGroupNumberRange_sequence
[] = {
1203 { &hf_x509ce_startingNumber
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_x509ce_INTEGER
},
1204 { &hf_x509ce_endingNumber
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_x509ce_INTEGER
},
1205 { NULL
, 0, 0, 0, NULL
}
1209 dissect_x509ce_CertificateGroupNumberRange(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1210 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1211 CertificateGroupNumberRange_sequence
, hf_index
, ett_x509ce_CertificateGroupNumberRange
);
1217 static const value_string x509ce_CertificateGroup_vals
[] = {
1218 { 0, "serialNumbers" },
1219 { 1, "serialNumberRange" },
1220 { 2, "nameSubtree" },
1224 static const ber_choice_t CertificateGroup_choice
[] = {
1225 { 0, &hf_x509ce_serialNumbers
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_x509ce_CertificateSerialNumbers
},
1226 { 1, &hf_x509ce_certificateGroupNumberRange
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_x509ce_CertificateGroupNumberRange
},
1227 { 2, &hf_x509ce_nameSubtree
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_x509ce_GeneralName
},
1228 { 0, NULL
, 0, 0, 0, NULL
}
1232 dissect_x509ce_CertificateGroup(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1233 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1234 CertificateGroup_choice
, hf_index
, ett_x509ce_CertificateGroup
,
1241 static const ber_sequence_t ToBeRevokedGroup_sequence
[] = {
1242 { &hf_x509ce_certificateIssuer
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_x509ce_GeneralName
},
1243 { &hf_x509ce_reasonInfo
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_ReasonInfo
},
1244 { &hf_x509ce_revocationTime
, BER_CLASS_UNI
, BER_UNI_TAG_GeneralizedTime
, BER_FLAGS_NOOWNTAG
, dissect_x509ce_GeneralizedTime
},
1245 { &hf_x509ce_certificateGroup
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_x509ce_CertificateGroup
},
1246 { NULL
, 0, 0, 0, NULL
}
1250 dissect_x509ce_ToBeRevokedGroup(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1251 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1252 ToBeRevokedGroup_sequence
, hf_index
, ett_x509ce_ToBeRevokedGroup
);
1258 static const ber_sequence_t ToBeRevokedSyntax_sequence_of
[1] = {
1259 { &hf_x509ce_ToBeRevokedSyntax_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509ce_ToBeRevokedGroup
},
1263 dissect_x509ce_ToBeRevokedSyntax(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1264 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1265 ToBeRevokedSyntax_sequence_of
, hf_index
, ett_x509ce_ToBeRevokedSyntax
);
1271 static const value_string x509ce_RevokedCertificateGroup_vals
[] = {
1272 { 0, "serialNumberRange" },
1273 { 1, "nameSubtree" },
1277 static const ber_choice_t RevokedCertificateGroup_choice
[] = {
1278 { 0, &hf_x509ce_serialNumberRange
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509ce_NumberRange
},
1279 { 1, &hf_x509ce_nameSubtree
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
, dissect_x509ce_GeneralName
},
1280 { 0, NULL
, 0, 0, 0, NULL
}
1284 dissect_x509ce_RevokedCertificateGroup(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1285 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1286 RevokedCertificateGroup_choice
, hf_index
, ett_x509ce_RevokedCertificateGroup
,
1293 static const ber_sequence_t RevokedGroup_sequence
[] = {
1294 { &hf_x509ce_certificateIssuer
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_x509ce_GeneralName
},
1295 { &hf_x509ce_reasonInfo
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_ReasonInfo
},
1296 { &hf_x509ce_invalidityDate
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_GeneralizedTime
},
1297 { &hf_x509ce_revokedcertificateGroup
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_x509ce_RevokedCertificateGroup
},
1298 { NULL
, 0, 0, 0, NULL
}
1302 dissect_x509ce_RevokedGroup(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1303 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1304 RevokedGroup_sequence
, hf_index
, ett_x509ce_RevokedGroup
);
1310 static const ber_sequence_t RevokedGroupsSyntax_sequence_of
[1] = {
1311 { &hf_x509ce_RevokedGroupsSyntax_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509ce_RevokedGroup
},
1315 dissect_x509ce_RevokedGroupsSyntax(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1316 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1317 RevokedGroupsSyntax_sequence_of
, hf_index
, ett_x509ce_RevokedGroupsSyntax
);
1325 dissect_x509ce_ExpiredCertsOnCRL(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1326 offset
= dissect_ber_GeneralizedTime(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
1332 static const ber_sequence_t AAIssuingDistPointSyntax_sequence
[] = {
1333 { &hf_x509ce_distributionPoint
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_x509ce_DistributionPointName
},
1334 { &hf_x509ce_onlySomeReasons
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_ReasonFlags
},
1335 { &hf_x509ce_indirectCRL
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_BOOLEAN
},
1336 { &hf_x509ce_containsUserAttributeCerts
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_BOOLEAN
},
1337 { &hf_x509ce_containsAACerts
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_BOOLEAN
},
1338 { &hf_x509ce_containsSOAPublicKeyCerts
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_BOOLEAN
},
1339 { NULL
, 0, 0, 0, NULL
}
1343 dissect_x509ce_AAIssuingDistPointSyntax(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1344 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1345 AAIssuingDistPointSyntax_sequence
, hf_index
, ett_x509ce_AAIssuingDistPointSyntax
);
1351 static const ber_sequence_t CertificateExactAssertion_sequence
[] = {
1352 { &hf_x509ce_serialNumber
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_x509af_CertificateSerialNumber
},
1353 { &hf_x509ce_issuer
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
, dissect_x509if_Name
},
1354 { NULL
, 0, 0, 0, NULL
}
1358 dissect_x509ce_CertificateExactAssertion(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1359 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1360 CertificateExactAssertion_sequence
, hf_index
, ett_x509ce_CertificateExactAssertion
);
1366 static const value_string x509ce_T_builtinNameForm_vals
[] = {
1367 { 1, "rfc822Name" },
1369 { 3, "x400Address" },
1370 { 4, "directoryName" },
1371 { 5, "ediPartyName" },
1372 { 6, "uniformResourceIdentifier" },
1374 { 8, "registeredId" },
1380 dissect_x509ce_T_builtinNameForm(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1381 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1388 const value_string x509ce_AltNameType_vals
[] = {
1389 { 0, "builtinNameForm" },
1390 { 1, "otherNameForm" },
1394 static const ber_choice_t AltNameType_choice
[] = {
1395 { 0, &hf_x509ce_builtinNameForm
, BER_CLASS_UNI
, BER_UNI_TAG_ENUMERATED
, BER_FLAGS_NOOWNTAG
, dissect_x509ce_T_builtinNameForm
},
1396 { 1, &hf_x509ce_otherNameForm
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_x509ce_OBJECT_IDENTIFIER
},
1397 { 0, NULL
, 0, 0, 0, NULL
}
1401 dissect_x509ce_AltNameType(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1402 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1403 AltNameType_choice
, hf_index
, ett_x509ce_AltNameType
,
1410 static const ber_sequence_t CertPolicySet_sequence_of
[1] = {
1411 { &hf_x509ce_CertPolicySet_item
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_x509ce_CertPolicyId
},
1415 dissect_x509ce_CertPolicySet(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1416 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1417 CertPolicySet_sequence_of
, hf_index
, ett_x509ce_CertPolicySet
);
1423 static const ber_sequence_t CertificateAssertion_sequence
[] = {
1424 { &hf_x509ce_serialNumber
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509af_CertificateSerialNumber
},
1425 { &hf_x509ce_issuer
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509if_Name
},
1426 { &hf_x509ce_subjectKeyIdentifier
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_SubjectKeyIdentifier
},
1427 { &hf_x509ce_authorityKeyIdentifier
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_AuthorityKeyIdentifier
},
1428 { &hf_x509ce_certificateValid
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509af_Time
},
1429 { &hf_x509ce_privateKeyValid
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_GeneralizedTime
},
1430 { &hf_x509ce_subjectPublicKeyAlgID
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_OBJECT_IDENTIFIER
},
1431 { &hf_x509ce_keyUsage
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_KeyUsage
},
1432 { &hf_x509ce_subjectAltNameType
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_x509ce_AltNameType
},
1433 { &hf_x509ce_policy
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_CertPolicySet
},
1434 { &hf_x509ce_pathToName
, BER_CLASS_CON
, 10, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509if_Name
},
1435 { &hf_x509ce_subject
, BER_CLASS_CON
, 11, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509if_Name
},
1436 { &hf_x509ce_nameConstraints
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_NameConstraintsSyntax
},
1437 { NULL
, 0, 0, 0, NULL
}
1441 dissect_x509ce_CertificateAssertion(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1442 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1443 CertificateAssertion_sequence
, hf_index
, ett_x509ce_CertificateAssertion
);
1449 static const ber_sequence_t CertificatePairExactAssertion_sequence
[] = {
1450 { &hf_x509ce_cpea_issuedToThisCAAssertion
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_CertificateExactAssertion
},
1451 { &hf_x509ce_cpea_issuedByThisCAAssertion
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_CertificateExactAssertion
},
1452 { NULL
, 0, 0, 0, NULL
}
1456 dissect_x509ce_CertificatePairExactAssertion(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1457 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1458 CertificatePairExactAssertion_sequence
, hf_index
, ett_x509ce_CertificatePairExactAssertion
);
1464 static const ber_sequence_t CertificatePairAssertion_sequence
[] = {
1465 { &hf_x509ce_issuedToThisCAAssertion
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_CertificateAssertion
},
1466 { &hf_x509ce_issuedByThisCAAssertion
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_CertificateAssertion
},
1467 { NULL
, 0, 0, 0, NULL
}
1471 dissect_x509ce_CertificatePairAssertion(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1472 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1473 CertificatePairAssertion_sequence
, hf_index
, ett_x509ce_CertificatePairAssertion
);
1479 static const ber_sequence_t CertificateListExactAssertion_sequence
[] = {
1480 { &hf_x509ce_issuer
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
, dissect_x509if_Name
},
1481 { &hf_x509ce_thisUpdate
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
, dissect_x509af_Time
},
1482 { &hf_x509ce_distributionPoint
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_x509ce_DistributionPointName
},
1483 { NULL
, 0, 0, 0, NULL
}
1487 dissect_x509ce_CertificateListExactAssertion(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1488 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1489 CertificateListExactAssertion_sequence
, hf_index
, ett_x509ce_CertificateListExactAssertion
);
1495 static const ber_sequence_t CertificateListAssertion_sequence
[] = {
1496 { &hf_x509ce_issuer
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_x509if_Name
},
1497 { &hf_x509ce_minCRLNumber
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_CRLNumber
},
1498 { &hf_x509ce_maxCRLNumber
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_CRLNumber
},
1499 { &hf_x509ce_reasonFlags
, BER_CLASS_UNI
, BER_UNI_TAG_BITSTRING
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_x509ce_ReasonFlags
},
1500 { &hf_x509ce_dateAndTime
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_x509af_Time
},
1501 { &hf_x509ce_distributionPoint
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
|BER_FLAGS_NOTCHKTAG
, dissect_x509ce_DistributionPointName
},
1502 { &hf_x509ce_authorityKeyIdentifier
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_AuthorityKeyIdentifier
},
1503 { NULL
, 0, 0, 0, NULL
}
1507 dissect_x509ce_CertificateListAssertion(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1508 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1509 CertificateListAssertion_sequence
, hf_index
, ett_x509ce_CertificateListAssertion
);
1515 static const ber_sequence_t PkiPathMatchSyntax_sequence
[] = {
1516 { &hf_x509ce_firstIssuer
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
, dissect_x509if_Name
},
1517 { &hf_x509ce_lastSubject
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
, dissect_x509if_Name
},
1518 { NULL
, 0, 0, 0, NULL
}
1522 dissect_x509ce_PkiPathMatchSyntax(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1523 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1524 PkiPathMatchSyntax_sequence
, hf_index
, ett_x509ce_PkiPathMatchSyntax
);
1530 static const ber_sequence_t AltName_sequence
[] = {
1531 { &hf_x509ce_altnameType
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_x509ce_AltNameType
},
1532 { &hf_x509ce_altNameValue
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_x509ce_GeneralName
},
1533 { NULL
, 0, 0, 0, NULL
}
1537 dissect_x509ce_AltName(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1538 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1539 AltName_sequence
, hf_index
, ett_x509ce_AltName
);
1545 static const ber_sequence_t EnhancedCertificateAssertion_sequence
[] = {
1546 { &hf_x509ce_serialNumber
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509af_CertificateSerialNumber
},
1547 { &hf_x509ce_issuer
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509if_Name
},
1548 { &hf_x509ce_subjectKeyIdentifier
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_SubjectKeyIdentifier
},
1549 { &hf_x509ce_authorityKeyIdentifier
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_AuthorityKeyIdentifier
},
1550 { &hf_x509ce_certificateValid
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509af_Time
},
1551 { &hf_x509ce_privateKeyValid
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_GeneralizedTime
},
1552 { &hf_x509ce_subjectPublicKeyAlgID
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_OBJECT_IDENTIFIER
},
1553 { &hf_x509ce_keyUsage
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_KeyUsage
},
1554 { &hf_x509ce_subjectAltName
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_AltName
},
1555 { &hf_x509ce_policy
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_CertPolicySet
},
1556 { &hf_x509ce_enhancedPathToName
, BER_CLASS_CON
, 10, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_GeneralNames
},
1557 { &hf_x509ce_subject
, BER_CLASS_CON
, 11, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509if_Name
},
1558 { &hf_x509ce_nameConstraints
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_x509ce_NameConstraintsSyntax
},
1559 { NULL
, 0, 0, 0, NULL
}
1563 dissect_x509ce_EnhancedCertificateAssertion(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1564 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1565 EnhancedCertificateAssertion_sequence
, hf_index
, ett_x509ce_EnhancedCertificateAssertion
);
1571 static const ber_sequence_t CertificateTemplate_sequence
[] = {
1572 { &hf_x509ce_templateID
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_x509ce_OBJECT_IDENTIFIER
},
1573 { &hf_x509ce_templateMajorVersion
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_x509ce_INTEGER
},
1574 { &hf_x509ce_templateMinorVersion
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_x509ce_INTEGER
},
1575 { NULL
, 0, 0, 0, NULL
}
1579 dissect_x509ce_CertificateTemplate(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1580 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1581 CertificateTemplate_sequence
, hf_index
, ett_x509ce_CertificateTemplate
);
1589 dissect_x509ce_PrintableString(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1590 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_PrintableString
,
1591 actx
, tree
, tvb
, offset
, hf_index
,
1598 static const ber_sequence_t NtdsObjectSid_U_sequence
[] = {
1599 { &hf_x509ce_type_id_01
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_x509ce_OBJECT_IDENTIFIER
},
1600 { &hf_x509ce_sid
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_x509ce_PrintableString
},
1601 { NULL
, 0, 0, 0, NULL
}
1605 dissect_x509ce_NtdsObjectSid_U(bool 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_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1607 NtdsObjectSid_U_sequence
, hf_index
, ett_x509ce_NtdsObjectSid_U
);
1615 dissect_x509ce_NtdsObjectSid(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1616 offset
= dissect_ber_tagged_type(implicit_tag
, actx
, tree
, tvb
, offset
,
1617 hf_index
, BER_CLASS_CON
, 0, true, dissect_x509ce_NtdsObjectSid_U
);
1623 static const ber_sequence_t NtdsCaSecurity_sequence
[] = {
1624 { &hf_x509ce_ntdsObjectSid
, BER_CLASS_CON
, 0, BER_FLAGS_NOOWNTAG
, dissect_x509ce_NtdsObjectSid
},
1625 { NULL
, 0, 0, 0, NULL
}
1629 dissect_x509ce_NtdsCaSecurity(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1630 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1631 NtdsCaSecurity_sequence
, hf_index
, ett_x509ce_NtdsCaSecurity
);
1639 dissect_x509ce_GeneralString(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1640 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_GeneralString
,
1641 actx
, tree
, tvb
, offset
, hf_index
,
1648 static int * const EntrustInfoFlags_bits
[] = {
1649 &hf_x509ce_EntrustInfoFlags_keyUpdateAllowed
,
1650 &hf_x509ce_EntrustInfoFlags_newExtensions
,
1651 &hf_x509ce_EntrustInfoFlags_pKIXCertificate
,
1652 &hf_x509ce_EntrustInfoFlags_enterpriseCategory
,
1653 &hf_x509ce_EntrustInfoFlags_webCategory
,
1654 &hf_x509ce_EntrustInfoFlags_sETCategory
,
1659 dissect_x509ce_EntrustInfoFlags(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1660 offset
= dissect_ber_bitstring(implicit_tag
, actx
, tree
, tvb
, offset
,
1661 EntrustInfoFlags_bits
, 6, hf_index
, ett_x509ce_EntrustInfoFlags
,
1668 static const ber_sequence_t EntrustVersionInfo_sequence
[] = {
1669 { &hf_x509ce_entrustVers
, BER_CLASS_UNI
, BER_UNI_TAG_GeneralString
, BER_FLAGS_NOOWNTAG
, dissect_x509ce_GeneralString
},
1670 { &hf_x509ce_entrustVersInfoFlags
, BER_CLASS_UNI
, BER_UNI_TAG_BITSTRING
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_x509ce_EntrustInfoFlags
},
1671 { NULL
, 0, 0, 0, NULL
}
1675 dissect_x509ce_EntrustVersionInfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1676 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1677 EntrustVersionInfo_sequence
, hf_index
, ett_x509ce_EntrustVersionInfo
);
1685 dissect_x509ce_NFType(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1686 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_IA5String
,
1687 actx
, tree
, tvb
, offset
, hf_index
,
1694 static const ber_sequence_t NFTypes_sequence_of
[1] = {
1695 { &hf_x509ce_NFTypes_item
, BER_CLASS_UNI
, BER_UNI_TAG_IA5String
, BER_FLAGS_NOOWNTAG
, dissect_x509ce_NFType
},
1699 dissect_x509ce_NFTypes(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1700 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1701 NFTypes_sequence_of
, hf_index
, ett_x509ce_NFTypes
);
1707 static const ber_sequence_t ScramblerCapabilities_sequence
[] = {
1708 { &hf_x509ce_capability
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_x509ce_INTEGER_0_MAX
},
1709 { &hf_x509ce_version
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_x509ce_INTEGER_0_MAX
},
1710 { NULL
, 0, 0, 0, NULL
}
1714 dissect_x509ce_ScramblerCapabilities(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1715 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1716 ScramblerCapabilities_sequence
, hf_index
, ett_x509ce_ScramblerCapabilities
);
1724 dissect_x509ce_CiplusInfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1725 offset
= dissect_ber_bitstring(implicit_tag
, actx
, tree
, tvb
, offset
,
1726 NULL
, 0, hf_index
, -1,
1735 dissect_x509ce_CicamBrandId(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1736 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1745 dissect_x509ce_SecurityLevel(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1746 offset
= dissect_ber_integer64(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1754 static int dissect_AuthorityKeyIdentifier_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1756 asn1_ctx_t asn1_ctx
;
1757 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1758 offset
= dissect_x509ce_AuthorityKeyIdentifier(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_AuthorityKeyIdentifier_PDU
);
1761 static int dissect_SubjectKeyIdentifier_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1763 asn1_ctx_t asn1_ctx
;
1764 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1765 offset
= dissect_x509ce_SubjectKeyIdentifier(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_SubjectKeyIdentifier_PDU
);
1768 static int dissect_KeyUsage_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1770 asn1_ctx_t asn1_ctx
;
1771 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1772 offset
= dissect_x509ce_KeyUsage(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_KeyUsage_PDU
);
1775 static int dissect_KeyPurposeIDs_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1777 asn1_ctx_t asn1_ctx
;
1778 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1779 offset
= dissect_x509ce_KeyPurposeIDs(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_KeyPurposeIDs_PDU
);
1782 static int dissect_PrivateKeyUsagePeriod_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1784 asn1_ctx_t asn1_ctx
;
1785 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1786 offset
= dissect_x509ce_PrivateKeyUsagePeriod(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_PrivateKeyUsagePeriod_PDU
);
1789 static int dissect_CertificatePoliciesSyntax_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1791 asn1_ctx_t asn1_ctx
;
1792 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1793 offset
= dissect_x509ce_CertificatePoliciesSyntax(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_CertificatePoliciesSyntax_PDU
);
1796 static int dissect_PolicyMappingsSyntax_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1798 asn1_ctx_t asn1_ctx
;
1799 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1800 offset
= dissect_x509ce_PolicyMappingsSyntax(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_PolicyMappingsSyntax_PDU
);
1803 static int dissect_GeneralNames_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1805 asn1_ctx_t asn1_ctx
;
1806 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1807 offset
= dissect_x509ce_GeneralNames(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_GeneralNames_PDU
);
1810 static int dissect_AttributesSyntax_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1812 asn1_ctx_t asn1_ctx
;
1813 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1814 offset
= dissect_x509ce_AttributesSyntax(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_AttributesSyntax_PDU
);
1817 static int dissect_BasicConstraintsSyntax_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1819 asn1_ctx_t asn1_ctx
;
1820 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1821 offset
= dissect_x509ce_BasicConstraintsSyntax(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_BasicConstraintsSyntax_PDU
);
1824 static int dissect_NameConstraintsSyntax_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1826 asn1_ctx_t asn1_ctx
;
1827 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1828 offset
= dissect_x509ce_NameConstraintsSyntax(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_NameConstraintsSyntax_PDU
);
1831 static int dissect_PolicyConstraintsSyntax_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1833 asn1_ctx_t asn1_ctx
;
1834 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1835 offset
= dissect_x509ce_PolicyConstraintsSyntax(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_PolicyConstraintsSyntax_PDU
);
1838 static int dissect_SkipCerts_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1840 asn1_ctx_t asn1_ctx
;
1841 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1842 offset
= dissect_x509ce_SkipCerts(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_SkipCerts_PDU
);
1845 static int dissect_CRLNumber_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1847 asn1_ctx_t asn1_ctx
;
1848 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1849 offset
= dissect_x509ce_CRLNumber(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_CRLNumber_PDU
);
1852 static int dissect_CRLReason_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1854 asn1_ctx_t asn1_ctx
;
1855 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1856 offset
= dissect_x509ce_CRLReason(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_CRLReason_PDU
);
1859 static int dissect_HoldInstruction_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1861 asn1_ctx_t asn1_ctx
;
1862 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1863 offset
= dissect_x509ce_HoldInstruction(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_HoldInstruction_PDU
);
1866 static int dissect_CRLScopeSyntax_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1868 asn1_ctx_t asn1_ctx
;
1869 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1870 offset
= dissect_x509ce_CRLScopeSyntax(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_CRLScopeSyntax_PDU
);
1873 static int dissect_StatusReferrals_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1875 asn1_ctx_t asn1_ctx
;
1876 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1877 offset
= dissect_x509ce_StatusReferrals(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_StatusReferrals_PDU
);
1880 static int dissect_CRLStreamIdentifier_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1882 asn1_ctx_t asn1_ctx
;
1883 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1884 offset
= dissect_x509ce_CRLStreamIdentifier(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_CRLStreamIdentifier_PDU
);
1887 static int dissect_OrderedListSyntax_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1889 asn1_ctx_t asn1_ctx
;
1890 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1891 offset
= dissect_x509ce_OrderedListSyntax(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_OrderedListSyntax_PDU
);
1894 static int dissect_DeltaInformation_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1896 asn1_ctx_t asn1_ctx
;
1897 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1898 offset
= dissect_x509ce_DeltaInformation(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_DeltaInformation_PDU
);
1901 static int dissect_CRLDistPointsSyntax_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1903 asn1_ctx_t asn1_ctx
;
1904 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1905 offset
= dissect_x509ce_CRLDistPointsSyntax(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_CRLDistPointsSyntax_PDU
);
1908 static int dissect_IssuingDistPointSyntax_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1910 asn1_ctx_t asn1_ctx
;
1911 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1912 offset
= dissect_x509ce_IssuingDistPointSyntax(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_IssuingDistPointSyntax_PDU
);
1915 static int dissect_BaseCRLNumber_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1917 asn1_ctx_t asn1_ctx
;
1918 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1919 offset
= dissect_x509ce_BaseCRLNumber(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_BaseCRLNumber_PDU
);
1922 static int dissect_ToBeRevokedSyntax_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1924 asn1_ctx_t asn1_ctx
;
1925 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1926 offset
= dissect_x509ce_ToBeRevokedSyntax(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_ToBeRevokedSyntax_PDU
);
1929 static int dissect_RevokedGroupsSyntax_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1931 asn1_ctx_t asn1_ctx
;
1932 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1933 offset
= dissect_x509ce_RevokedGroupsSyntax(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_RevokedGroupsSyntax_PDU
);
1936 static int dissect_ExpiredCertsOnCRL_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1938 asn1_ctx_t asn1_ctx
;
1939 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1940 offset
= dissect_x509ce_ExpiredCertsOnCRL(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_ExpiredCertsOnCRL_PDU
);
1943 static int dissect_AAIssuingDistPointSyntax_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1945 asn1_ctx_t asn1_ctx
;
1946 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1947 offset
= dissect_x509ce_AAIssuingDistPointSyntax(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_AAIssuingDistPointSyntax_PDU
);
1950 static int dissect_CertificateAssertion_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1952 asn1_ctx_t asn1_ctx
;
1953 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1954 offset
= dissect_x509ce_CertificateAssertion(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_CertificateAssertion_PDU
);
1957 static int dissect_CertificatePairExactAssertion_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1959 asn1_ctx_t asn1_ctx
;
1960 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1961 offset
= dissect_x509ce_CertificatePairExactAssertion(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_CertificatePairExactAssertion_PDU
);
1964 static int dissect_CertificatePairAssertion_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1966 asn1_ctx_t asn1_ctx
;
1967 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1968 offset
= dissect_x509ce_CertificatePairAssertion(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_CertificatePairAssertion_PDU
);
1971 static int dissect_CertificateListExactAssertion_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1973 asn1_ctx_t asn1_ctx
;
1974 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1975 offset
= dissect_x509ce_CertificateListExactAssertion(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_CertificateListExactAssertion_PDU
);
1978 static int dissect_CertificateListAssertion_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1980 asn1_ctx_t asn1_ctx
;
1981 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1982 offset
= dissect_x509ce_CertificateListAssertion(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_CertificateListAssertion_PDU
);
1985 static int dissect_PkiPathMatchSyntax_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1987 asn1_ctx_t asn1_ctx
;
1988 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1989 offset
= dissect_x509ce_PkiPathMatchSyntax(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_PkiPathMatchSyntax_PDU
);
1992 static int dissect_EnhancedCertificateAssertion_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1994 asn1_ctx_t asn1_ctx
;
1995 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1996 offset
= dissect_x509ce_EnhancedCertificateAssertion(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_EnhancedCertificateAssertion_PDU
);
1999 static int dissect_CertificateTemplate_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2001 asn1_ctx_t asn1_ctx
;
2002 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
2003 offset
= dissect_x509ce_CertificateTemplate(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_CertificateTemplate_PDU
);
2006 static int dissect_NtdsCaSecurity_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2008 asn1_ctx_t asn1_ctx
;
2009 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
2010 offset
= dissect_x509ce_NtdsCaSecurity(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_NtdsCaSecurity_PDU
);
2013 static int dissect_NtdsObjectSid_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2015 asn1_ctx_t asn1_ctx
;
2016 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
2017 offset
= dissect_x509ce_NtdsObjectSid(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_NtdsObjectSid_PDU
);
2020 static int dissect_EntrustVersionInfo_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2022 asn1_ctx_t asn1_ctx
;
2023 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
2024 offset
= dissect_x509ce_EntrustVersionInfo(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_EntrustVersionInfo_PDU
);
2027 static int dissect_NFTypes_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2029 asn1_ctx_t asn1_ctx
;
2030 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
2031 offset
= dissect_x509ce_NFTypes(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_NFTypes_PDU
);
2034 static int dissect_ScramblerCapabilities_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2036 asn1_ctx_t asn1_ctx
;
2037 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
2038 offset
= dissect_x509ce_ScramblerCapabilities(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_ScramblerCapabilities_PDU
);
2041 static int dissect_CiplusInfo_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2043 asn1_ctx_t asn1_ctx
;
2044 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
2045 offset
= dissect_x509ce_CiplusInfo(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_CiplusInfo_PDU
);
2048 static int dissect_CicamBrandId_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2050 asn1_ctx_t asn1_ctx
;
2051 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
2052 offset
= dissect_x509ce_CicamBrandId(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_CicamBrandId_PDU
);
2055 static int dissect_SecurityLevel_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2057 asn1_ctx_t asn1_ctx
;
2058 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
2059 offset
= dissect_x509ce_SecurityLevel(false, tvb
, offset
, &asn1_ctx
, tree
, hf_x509ce_SecurityLevel_PDU
);
2064 static const val64_string ciplus_scr_cap
[] = {
2066 { 1, "DES and AES" },
2070 static const val64_string ciplus_security_level
[] = {
2071 { 0, "Standard Security Level" },
2072 { 1, "ECP Security Level" },
2076 /* CI+ (www.ci-plus.com) defines some X.509 certificate extensions
2077 that use OIDs which are not officially assigned
2078 dissection of these extensions can be enabled temporarily using the
2081 x509ce_enable_ciplus(void)
2083 dissector_handle_t dh25
, dh26
, dh27
, dh50
;
2085 dh25
= create_dissector_handle(dissect_ScramblerCapabilities_PDU
, proto_x509ce
);
2086 dissector_change_string("ber.oid", "1.3.6.1.5.5.7.1.25", dh25
);
2087 dh26
= create_dissector_handle(dissect_CiplusInfo_PDU
, proto_x509ce
);
2088 dissector_change_string("ber.oid", "1.3.6.1.5.5.7.1.26", dh26
);
2089 dh27
= create_dissector_handle(dissect_CicamBrandId_PDU
, proto_x509ce
);
2090 dissector_change_string("ber.oid", "1.3.6.1.5.5.7.1.27", dh27
);
2091 dh50
= create_dissector_handle(dissect_SecurityLevel_PDU
, proto_x509ce
);
2092 dissector_change_string("ber.oid", "1.3.6.1.5.5.7.1.50", dh50
);
2096 x509ce_disable_ciplus(void)
2098 dissector_reset_string("ber.oid", "1.3.6.1.5.5.7.1.25");
2099 dissector_reset_string("ber.oid", "1.3.6.1.5.5.7.1.26");
2100 dissector_reset_string("ber.oid", "1.3.6.1.5.5.7.1.27");
2101 dissector_reset_string("ber.oid", "1.3.6.1.5.5.7.1.50");
2106 dissect_x509ce_invalidityDate_callback(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void* data _U_
)
2108 asn1_ctx_t asn1_ctx
;
2109 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
2111 return dissect_x509ce_GeneralizedTime(false, tvb
, 0, &asn1_ctx
, tree
, hf_x509ce_id_ce_invalidityDate
);
2115 dissect_x509ce_baseUpdateTime_callback(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void* data _U_
)
2117 asn1_ctx_t asn1_ctx
;
2118 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
2119 return dissect_x509ce_GeneralizedTime(false, tvb
, 0, &asn1_ctx
, tree
, hf_x509ce_id_ce_baseUpdateTime
);
2122 /*--- proto_register_x509ce ----------------------------------------------*/
2123 void proto_register_x509ce(void) {
2125 /* List of fields */
2126 static hf_register_info hf
[] = {
2127 { &hf_x509ce_id_ce_baseUpdateTime
,
2128 { "baseUpdateTime", "x509ce.id_ce_baseUpdateTime",
2129 FT_ABSOLUTE_TIME
, ABSOLUTE_TIME_LOCAL
, NULL
, 0,
2131 { &hf_x509ce_id_ce_invalidityDate
,
2132 { "invalidityDate", "x509ce.id_ce_invalidityDate",
2133 FT_ABSOLUTE_TIME
, ABSOLUTE_TIME_LOCAL
, NULL
, 0,
2135 { &hf_x509ce_object_identifier_id
,
2136 { "Id", "x509ce.id", FT_OID
, BASE_NONE
, NULL
, 0,
2137 "Object identifier Id", HFILL
}},
2138 { &hf_x509ce_IPAddress_ipv4
,
2139 { "iPAddress", "x509ce.IPAddress.ipv4", FT_IPv4
, BASE_NONE
, NULL
, 0,
2140 "IPv4 address", HFILL
}},
2141 { &hf_x509ce_IPAddress_ipv4_mask
,
2142 { "iPAddress Mask", "x509ce.IPAddress.ipv4_mask", FT_IPv4
, BASE_NONE
, NULL
, 0,
2143 "IPv4 address Mask", HFILL
}},
2144 { &hf_x509ce_IPAddress_ipv6
,
2145 { "iPAddress", "x509ce.IPAddress.ipv6", FT_IPv6
, BASE_NONE
, NULL
, 0,
2146 "IPv6 address", HFILL
}},
2147 { &hf_x509ce_IPAddress_ipv6_mask
,
2148 { "iPAddress Mask", "x509ce.IPAddress.ipv6_mask", FT_IPv6
, BASE_NONE
, NULL
, 0,
2149 "IPv6 address Mask", HFILL
}},
2150 { &hf_x509ce_IPAddress_unknown
,
2151 { "iPAddress", "x509ce.IPAddress.unknown", FT_BYTES
, BASE_NONE
, NULL
, 0,
2152 "Unknown Address", HFILL
}},
2154 { &hf_x509ce_AuthorityKeyIdentifier_PDU
,
2155 { "AuthorityKeyIdentifier", "x509ce.AuthorityKeyIdentifier_element",
2156 FT_NONE
, BASE_NONE
, NULL
, 0,
2158 { &hf_x509ce_SubjectKeyIdentifier_PDU
,
2159 { "SubjectKeyIdentifier", "x509ce.SubjectKeyIdentifier",
2160 FT_BYTES
, BASE_NONE
, NULL
, 0,
2162 { &hf_x509ce_KeyUsage_PDU
,
2163 { "KeyUsage", "x509ce.KeyUsage",
2164 FT_BYTES
, BASE_NONE
, NULL
, 0,
2166 { &hf_x509ce_KeyPurposeIDs_PDU
,
2167 { "KeyPurposeIDs", "x509ce.KeyPurposeIDs",
2168 FT_UINT32
, BASE_DEC
, NULL
, 0,
2170 { &hf_x509ce_PrivateKeyUsagePeriod_PDU
,
2171 { "PrivateKeyUsagePeriod", "x509ce.PrivateKeyUsagePeriod_element",
2172 FT_NONE
, BASE_NONE
, NULL
, 0,
2174 { &hf_x509ce_CertificatePoliciesSyntax_PDU
,
2175 { "CertificatePoliciesSyntax", "x509ce.CertificatePoliciesSyntax",
2176 FT_UINT32
, BASE_DEC
, NULL
, 0,
2178 { &hf_x509ce_PolicyMappingsSyntax_PDU
,
2179 { "PolicyMappingsSyntax", "x509ce.PolicyMappingsSyntax",
2180 FT_UINT32
, BASE_DEC
, NULL
, 0,
2182 { &hf_x509ce_GeneralNames_PDU
,
2183 { "GeneralNames", "x509ce.GeneralNames",
2184 FT_UINT32
, BASE_DEC
, NULL
, 0,
2186 { &hf_x509ce_AttributesSyntax_PDU
,
2187 { "AttributesSyntax", "x509ce.AttributesSyntax",
2188 FT_UINT32
, BASE_DEC
, NULL
, 0,
2190 { &hf_x509ce_BasicConstraintsSyntax_PDU
,
2191 { "BasicConstraintsSyntax", "x509ce.BasicConstraintsSyntax_element",
2192 FT_NONE
, BASE_NONE
, NULL
, 0,
2194 { &hf_x509ce_NameConstraintsSyntax_PDU
,
2195 { "NameConstraintsSyntax", "x509ce.NameConstraintsSyntax_element",
2196 FT_NONE
, BASE_NONE
, NULL
, 0,
2198 { &hf_x509ce_PolicyConstraintsSyntax_PDU
,
2199 { "PolicyConstraintsSyntax", "x509ce.PolicyConstraintsSyntax_element",
2200 FT_NONE
, BASE_NONE
, NULL
, 0,
2202 { &hf_x509ce_SkipCerts_PDU
,
2203 { "SkipCerts", "x509ce.SkipCerts",
2204 FT_UINT64
, BASE_DEC
, NULL
, 0,
2206 { &hf_x509ce_CRLNumber_PDU
,
2207 { "CRLNumber", "x509ce.CRLNumber",
2208 FT_UINT64
, BASE_DEC
, NULL
, 0,
2210 { &hf_x509ce_CRLReason_PDU
,
2211 { "CRLReason", "x509ce.CRLReason",
2212 FT_UINT32
, BASE_DEC
, VALS(x509ce_CRLReason_vals
), 0,
2214 { &hf_x509ce_HoldInstruction_PDU
,
2215 { "HoldInstruction", "x509ce.HoldInstruction",
2216 FT_OID
, BASE_NONE
, NULL
, 0,
2218 { &hf_x509ce_CRLScopeSyntax_PDU
,
2219 { "CRLScopeSyntax", "x509ce.CRLScopeSyntax",
2220 FT_UINT32
, BASE_DEC
, NULL
, 0,
2222 { &hf_x509ce_StatusReferrals_PDU
,
2223 { "StatusReferrals", "x509ce.StatusReferrals",
2224 FT_UINT32
, BASE_DEC
, NULL
, 0,
2226 { &hf_x509ce_CRLStreamIdentifier_PDU
,
2227 { "CRLStreamIdentifier", "x509ce.CRLStreamIdentifier",
2228 FT_UINT64
, BASE_DEC
, NULL
, 0,
2230 { &hf_x509ce_OrderedListSyntax_PDU
,
2231 { "OrderedListSyntax", "x509ce.OrderedListSyntax",
2232 FT_UINT32
, BASE_DEC
, VALS(x509ce_OrderedListSyntax_vals
), 0,
2234 { &hf_x509ce_DeltaInformation_PDU
,
2235 { "DeltaInformation", "x509ce.DeltaInformation_element",
2236 FT_NONE
, BASE_NONE
, NULL
, 0,
2238 { &hf_x509ce_CRLDistPointsSyntax_PDU
,
2239 { "CRLDistPointsSyntax", "x509ce.CRLDistPointsSyntax",
2240 FT_UINT32
, BASE_DEC
, NULL
, 0,
2242 { &hf_x509ce_IssuingDistPointSyntax_PDU
,
2243 { "IssuingDistPointSyntax", "x509ce.IssuingDistPointSyntax_element",
2244 FT_NONE
, BASE_NONE
, NULL
, 0,
2246 { &hf_x509ce_BaseCRLNumber_PDU
,
2247 { "BaseCRLNumber", "x509ce.BaseCRLNumber",
2248 FT_UINT64
, BASE_DEC
, NULL
, 0,
2250 { &hf_x509ce_ToBeRevokedSyntax_PDU
,
2251 { "ToBeRevokedSyntax", "x509ce.ToBeRevokedSyntax",
2252 FT_UINT32
, BASE_DEC
, NULL
, 0,
2254 { &hf_x509ce_RevokedGroupsSyntax_PDU
,
2255 { "RevokedGroupsSyntax", "x509ce.RevokedGroupsSyntax",
2256 FT_UINT32
, BASE_DEC
, NULL
, 0,
2258 { &hf_x509ce_ExpiredCertsOnCRL_PDU
,
2259 { "ExpiredCertsOnCRL", "x509ce.ExpiredCertsOnCRL",
2260 FT_ABSOLUTE_TIME
, ABSOLUTE_TIME_LOCAL
, NULL
, 0,
2262 { &hf_x509ce_AAIssuingDistPointSyntax_PDU
,
2263 { "AAIssuingDistPointSyntax", "x509ce.AAIssuingDistPointSyntax_element",
2264 FT_NONE
, BASE_NONE
, NULL
, 0,
2266 { &hf_x509ce_CertificateAssertion_PDU
,
2267 { "CertificateAssertion", "x509ce.CertificateAssertion_element",
2268 FT_NONE
, BASE_NONE
, NULL
, 0,
2270 { &hf_x509ce_CertificatePairExactAssertion_PDU
,
2271 { "CertificatePairExactAssertion", "x509ce.CertificatePairExactAssertion_element",
2272 FT_NONE
, BASE_NONE
, NULL
, 0,
2274 { &hf_x509ce_CertificatePairAssertion_PDU
,
2275 { "CertificatePairAssertion", "x509ce.CertificatePairAssertion_element",
2276 FT_NONE
, BASE_NONE
, NULL
, 0,
2278 { &hf_x509ce_CertificateListExactAssertion_PDU
,
2279 { "CertificateListExactAssertion", "x509ce.CertificateListExactAssertion_element",
2280 FT_NONE
, BASE_NONE
, NULL
, 0,
2282 { &hf_x509ce_CertificateListAssertion_PDU
,
2283 { "CertificateListAssertion", "x509ce.CertificateListAssertion_element",
2284 FT_NONE
, BASE_NONE
, NULL
, 0,
2286 { &hf_x509ce_PkiPathMatchSyntax_PDU
,
2287 { "PkiPathMatchSyntax", "x509ce.PkiPathMatchSyntax_element",
2288 FT_NONE
, BASE_NONE
, NULL
, 0,
2290 { &hf_x509ce_EnhancedCertificateAssertion_PDU
,
2291 { "EnhancedCertificateAssertion", "x509ce.EnhancedCertificateAssertion_element",
2292 FT_NONE
, BASE_NONE
, NULL
, 0,
2294 { &hf_x509ce_CertificateTemplate_PDU
,
2295 { "CertificateTemplate", "x509ce.CertificateTemplate_element",
2296 FT_NONE
, BASE_NONE
, NULL
, 0,
2298 { &hf_x509ce_NtdsCaSecurity_PDU
,
2299 { "NtdsCaSecurity", "x509ce.NtdsCaSecurity_element",
2300 FT_NONE
, BASE_NONE
, NULL
, 0,
2302 { &hf_x509ce_NtdsObjectSid_PDU
,
2303 { "NtdsObjectSid", "x509ce.NtdsObjectSid_element",
2304 FT_NONE
, BASE_NONE
, NULL
, 0,
2306 { &hf_x509ce_EntrustVersionInfo_PDU
,
2307 { "EntrustVersionInfo", "x509ce.EntrustVersionInfo_element",
2308 FT_NONE
, BASE_NONE
, NULL
, 0,
2310 { &hf_x509ce_NFTypes_PDU
,
2311 { "NFTypes", "x509ce.NFTypes",
2312 FT_UINT32
, BASE_DEC
, NULL
, 0,
2314 { &hf_x509ce_ScramblerCapabilities_PDU
,
2315 { "ScramblerCapabilities", "x509ce.ScramblerCapabilities_element",
2316 FT_NONE
, BASE_NONE
, NULL
, 0,
2318 { &hf_x509ce_CiplusInfo_PDU
,
2319 { "CiplusInfo", "x509ce.CiplusInfo",
2320 FT_BYTES
, BASE_NONE
, NULL
, 0,
2322 { &hf_x509ce_CicamBrandId_PDU
,
2323 { "CicamBrandId", "x509ce.CicamBrandId",
2324 FT_UINT32
, BASE_DEC
, NULL
, 0,
2326 { &hf_x509ce_SecurityLevel_PDU
,
2327 { "SecurityLevel", "x509ce.SecurityLevel",
2328 FT_UINT64
, BASE_DEC
|BASE_VAL64_STRING
, VALS64(ciplus_security_level
), 0,
2330 { &hf_x509ce_keyIdentifier
,
2331 { "keyIdentifier", "x509ce.keyIdentifier",
2332 FT_BYTES
, BASE_NONE
, NULL
, 0,
2334 { &hf_x509ce_authorityCertIssuer
,
2335 { "authorityCertIssuer", "x509ce.authorityCertIssuer",
2336 FT_UINT32
, BASE_DEC
, NULL
, 0,
2337 "GeneralNames", HFILL
}},
2338 { &hf_x509ce_authorityCertSerialNumber
,
2339 { "authorityCertSerialNumber", "x509ce.authorityCertSerialNumber",
2340 FT_BYTES
, BASE_NONE
, NULL
, 0,
2341 "CertificateSerialNumber", HFILL
}},
2342 { &hf_x509ce_KeyPurposeIDs_item
,
2343 { "KeyPurposeId", "x509ce.KeyPurposeId",
2344 FT_OID
, BASE_NONE
, NULL
, 0,
2346 { &hf_x509ce_notBefore
,
2347 { "notBefore", "x509ce.notBefore",
2348 FT_ABSOLUTE_TIME
, ABSOLUTE_TIME_LOCAL
, NULL
, 0,
2349 "GeneralizedTime", HFILL
}},
2350 { &hf_x509ce_notAfter
,
2351 { "notAfter", "x509ce.notAfter",
2352 FT_ABSOLUTE_TIME
, ABSOLUTE_TIME_LOCAL
, NULL
, 0,
2353 "GeneralizedTime", HFILL
}},
2354 { &hf_x509ce_CertificatePoliciesSyntax_item
,
2355 { "PolicyInformation", "x509ce.PolicyInformation_element",
2356 FT_NONE
, BASE_NONE
, NULL
, 0,
2358 { &hf_x509ce_policyIdentifier
,
2359 { "policyIdentifier", "x509ce.policyIdentifier",
2360 FT_OID
, BASE_NONE
, NULL
, 0,
2361 "CertPolicyId", HFILL
}},
2362 { &hf_x509ce_policyQualifiers
,
2363 { "policyQualifiers", "x509ce.policyQualifiers",
2364 FT_UINT32
, BASE_DEC
, NULL
, 0,
2365 "SEQUENCE_SIZE_1_MAX_OF_PolicyQualifierInfo", HFILL
}},
2366 { &hf_x509ce_policyQualifiers_item
,
2367 { "PolicyQualifierInfo", "x509ce.PolicyQualifierInfo_element",
2368 FT_NONE
, BASE_NONE
, NULL
, 0,
2370 { &hf_x509ce_policyQualifierId
,
2371 { "policyQualifierId", "x509ce.policyQualifierId",
2372 FT_OID
, BASE_NONE
, NULL
, 0,
2374 { &hf_x509ce_qualifier
,
2375 { "qualifier", "x509ce.qualifier_element",
2376 FT_NONE
, BASE_NONE
, NULL
, 0,
2378 { &hf_x509ce_PolicyMappingsSyntax_item
,
2379 { "PolicyMappingsSyntax item", "x509ce.PolicyMappingsSyntax_item_element",
2380 FT_NONE
, BASE_NONE
, NULL
, 0,
2382 { &hf_x509ce_issuerDomainPolicy
,
2383 { "issuerDomainPolicy", "x509ce.issuerDomainPolicy",
2384 FT_OID
, BASE_NONE
, NULL
, 0,
2385 "CertPolicyId", HFILL
}},
2386 { &hf_x509ce_subjectDomainPolicy
,
2387 { "subjectDomainPolicy", "x509ce.subjectDomainPolicy",
2388 FT_OID
, BASE_NONE
, NULL
, 0,
2389 "CertPolicyId", HFILL
}},
2390 { &hf_x509ce_GeneralNames_item
,
2391 { "GeneralName", "x509ce.GeneralName",
2392 FT_UINT32
, BASE_DEC
, VALS(x509ce_GeneralName_vals
), 0,
2394 { &hf_x509ce_otherName
,
2395 { "otherName", "x509ce.otherName_element",
2396 FT_NONE
, BASE_NONE
, NULL
, 0,
2398 { &hf_x509ce_rfc822Name
,
2399 { "rfc822Name", "x509ce.rfc822Name",
2400 FT_STRING
, BASE_NONE
, NULL
, 0,
2401 "IA5String", HFILL
}},
2402 { &hf_x509ce_dNSName
,
2403 { "dNSName", "x509ce.dNSName",
2404 FT_STRING
, BASE_NONE
, NULL
, 0,
2405 "IA5String", HFILL
}},
2406 { &hf_x509ce_x400Address
,
2407 { "x400Address", "x509ce.x400Address_element",
2408 FT_NONE
, BASE_NONE
, NULL
, 0,
2409 "ORAddress", HFILL
}},
2410 { &hf_x509ce_directoryName
,
2411 { "directoryName", "x509ce.directoryName",
2412 FT_UINT32
, BASE_DEC
, VALS(x509if_Name_vals
), 0,
2414 { &hf_x509ce_ediPartyName
,
2415 { "ediPartyName", "x509ce.ediPartyName_element",
2416 FT_NONE
, BASE_NONE
, NULL
, 0,
2418 { &hf_x509ce_uniformResourceIdentifier
,
2419 { "uniformResourceIdentifier", "x509ce.uniformResourceIdentifier",
2420 FT_STRING
, BASE_NONE
, NULL
, 0,
2422 { &hf_x509ce_iPAddress
,
2423 { "iPAddress", "x509ce.iPAddress",
2424 FT_BYTES
, BASE_NONE
, NULL
, 0,
2426 { &hf_x509ce_registeredID
,
2427 { "registeredID", "x509ce.registeredID",
2428 FT_OID
, BASE_NONE
, NULL
, 0,
2429 "OBJECT_IDENTIFIER", HFILL
}},
2430 { &hf_x509ce_type_id
,
2431 { "type-id", "x509ce.type_id",
2432 FT_OID
, BASE_NONE
, NULL
, 0,
2433 "OtherNameType", HFILL
}},
2435 { "value", "x509ce.value_element",
2436 FT_NONE
, BASE_NONE
, NULL
, 0,
2437 "OtherNameValue", HFILL
}},
2438 { &hf_x509ce_nameAssigner
,
2439 { "nameAssigner", "x509ce.nameAssigner",
2440 FT_UINT32
, BASE_DEC
, VALS(x509sat_DirectoryString_vals
), 0,
2441 "DirectoryString", HFILL
}},
2442 { &hf_x509ce_partyName
,
2443 { "partyName", "x509ce.partyName",
2444 FT_UINT32
, BASE_DEC
, VALS(x509sat_DirectoryString_vals
), 0,
2445 "DirectoryString", HFILL
}},
2446 { &hf_x509ce_AttributesSyntax_item
,
2447 { "Attribute", "x509ce.Attribute_element",
2448 FT_NONE
, BASE_NONE
, NULL
, 0,
2451 { "cA", "x509ce.cA",
2452 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
2453 "BOOLEAN", HFILL
}},
2454 { &hf_x509ce_pathLenConstraint
,
2455 { "pathLenConstraint", "x509ce.pathLenConstraint",
2456 FT_UINT64
, BASE_DEC
, NULL
, 0,
2457 "INTEGER_0_MAX", HFILL
}},
2458 { &hf_x509ce_permittedSubtrees
,
2459 { "permittedSubtrees", "x509ce.permittedSubtrees",
2460 FT_UINT32
, BASE_DEC
, NULL
, 0,
2461 "GeneralSubtrees", HFILL
}},
2462 { &hf_x509ce_excludedSubtrees
,
2463 { "excludedSubtrees", "x509ce.excludedSubtrees",
2464 FT_UINT32
, BASE_DEC
, NULL
, 0,
2465 "GeneralSubtrees", HFILL
}},
2466 { &hf_x509ce_GeneralSubtrees_item
,
2467 { "GeneralSubtree", "x509ce.GeneralSubtree_element",
2468 FT_NONE
, BASE_NONE
, NULL
, 0,
2471 { "base", "x509ce.base",
2472 FT_UINT32
, BASE_DEC
, VALS(x509ce_GeneralName_vals
), 0,
2473 "GeneralName", HFILL
}},
2474 { &hf_x509ce_minimum
,
2475 { "minimum", "x509ce.minimum",
2476 FT_UINT64
, BASE_DEC
, NULL
, 0,
2477 "BaseDistance", HFILL
}},
2478 { &hf_x509ce_maximum
,
2479 { "maximum", "x509ce.maximum",
2480 FT_UINT64
, BASE_DEC
, NULL
, 0,
2481 "BaseDistance", HFILL
}},
2482 { &hf_x509ce_requireExplicitPolicy
,
2483 { "requireExplicitPolicy", "x509ce.requireExplicitPolicy",
2484 FT_UINT64
, BASE_DEC
, NULL
, 0,
2485 "SkipCerts", HFILL
}},
2486 { &hf_x509ce_inhibitPolicyMapping
,
2487 { "inhibitPolicyMapping", "x509ce.inhibitPolicyMapping",
2488 FT_UINT64
, BASE_DEC
, NULL
, 0,
2489 "SkipCerts", HFILL
}},
2490 { &hf_x509ce_CRLScopeSyntax_item
,
2491 { "PerAuthorityScope", "x509ce.PerAuthorityScope_element",
2492 FT_NONE
, BASE_NONE
, NULL
, 0,
2494 { &hf_x509ce_authorityName
,
2495 { "authorityName", "x509ce.authorityName",
2496 FT_UINT32
, BASE_DEC
, VALS(x509ce_GeneralName_vals
), 0,
2497 "GeneralName", HFILL
}},
2498 { &hf_x509ce_distributionPoint
,
2499 { "distributionPoint", "x509ce.distributionPoint",
2500 FT_UINT32
, BASE_DEC
, VALS(x509ce_DistributionPointName_vals
), 0,
2501 "DistributionPointName", HFILL
}},
2502 { &hf_x509ce_onlyContains
,
2503 { "onlyContains", "x509ce.onlyContains",
2504 FT_BYTES
, BASE_NONE
, NULL
, 0,
2505 "OnlyCertificateTypes", HFILL
}},
2506 { &hf_x509ce_onlySomeReasons
,
2507 { "onlySomeReasons", "x509ce.onlySomeReasons",
2508 FT_BYTES
, BASE_NONE
, NULL
, 0,
2509 "ReasonFlags", HFILL
}},
2510 { &hf_x509ce_serialNumberRange
,
2511 { "serialNumberRange", "x509ce.serialNumberRange_element",
2512 FT_NONE
, BASE_NONE
, NULL
, 0,
2513 "NumberRange", HFILL
}},
2514 { &hf_x509ce_subjectKeyIdRange
,
2515 { "subjectKeyIdRange", "x509ce.subjectKeyIdRange_element",
2516 FT_NONE
, BASE_NONE
, NULL
, 0,
2517 "NumberRange", HFILL
}},
2518 { &hf_x509ce_nameSubtrees
,
2519 { "nameSubtrees", "x509ce.nameSubtrees",
2520 FT_UINT32
, BASE_DEC
, NULL
, 0,
2521 "GeneralNames", HFILL
}},
2522 { &hf_x509ce_baseRevocationInfo
,
2523 { "baseRevocationInfo", "x509ce.baseRevocationInfo_element",
2524 FT_NONE
, BASE_NONE
, NULL
, 0,
2526 { &hf_x509ce_startingNumber
,
2527 { "startingNumber", "x509ce.startingNumber",
2528 FT_INT32
, BASE_DEC
, NULL
, 0,
2529 "INTEGER", HFILL
}},
2530 { &hf_x509ce_endingNumber
,
2531 { "endingNumber", "x509ce.endingNumber",
2532 FT_INT32
, BASE_DEC
, NULL
, 0,
2533 "INTEGER", HFILL
}},
2534 { &hf_x509ce_modulus
,
2535 { "modulus", "x509ce.modulus",
2536 FT_INT32
, BASE_DEC
, NULL
, 0,
2537 "INTEGER", HFILL
}},
2538 { &hf_x509ce_cRLStreamIdentifier
,
2539 { "cRLStreamIdentifier", "x509ce.cRLStreamIdentifier",
2540 FT_UINT64
, BASE_DEC
, NULL
, 0,
2542 { &hf_x509ce_cRLNumber
,
2543 { "cRLNumber", "x509ce.cRLNumber",
2544 FT_UINT64
, BASE_DEC
, NULL
, 0,
2546 { &hf_x509ce_baseThisUpdate
,
2547 { "baseThisUpdate", "x509ce.baseThisUpdate",
2548 FT_ABSOLUTE_TIME
, ABSOLUTE_TIME_LOCAL
, NULL
, 0,
2549 "GeneralizedTime", HFILL
}},
2550 { &hf_x509ce_StatusReferrals_item
,
2551 { "StatusReferral", "x509ce.StatusReferral",
2552 FT_UINT32
, BASE_DEC
, VALS(x509ce_StatusReferral_vals
), 0,
2554 { &hf_x509ce_cRLReferral
,
2555 { "cRLReferral", "x509ce.cRLReferral_element",
2556 FT_NONE
, BASE_NONE
, NULL
, 0,
2558 { &hf_x509ce_crlr_issuer
,
2559 { "issuer", "x509ce.issuer",
2560 FT_UINT32
, BASE_DEC
, VALS(x509ce_GeneralName_vals
), 0,
2561 "GeneralName", HFILL
}},
2562 { &hf_x509ce_location
,
2563 { "location", "x509ce.location",
2564 FT_UINT32
, BASE_DEC
, VALS(x509ce_GeneralName_vals
), 0,
2565 "GeneralName", HFILL
}},
2566 { &hf_x509ce_deltaRefInfo
,
2567 { "deltaRefInfo", "x509ce.deltaRefInfo_element",
2568 FT_NONE
, BASE_NONE
, NULL
, 0,
2570 { &hf_x509ce_cRLScope
,
2571 { "cRLScope", "x509ce.cRLScope",
2572 FT_UINT32
, BASE_DEC
, NULL
, 0,
2573 "CRLScopeSyntax", HFILL
}},
2574 { &hf_x509ce_lastUpdate
,
2575 { "lastUpdate", "x509ce.lastUpdate",
2576 FT_ABSOLUTE_TIME
, ABSOLUTE_TIME_LOCAL
, NULL
, 0,
2577 "GeneralizedTime", HFILL
}},
2578 { &hf_x509ce_lastChangedCRL
,
2579 { "lastChangedCRL", "x509ce.lastChangedCRL",
2580 FT_ABSOLUTE_TIME
, ABSOLUTE_TIME_LOCAL
, NULL
, 0,
2581 "GeneralizedTime", HFILL
}},
2582 { &hf_x509ce_deltaLocation
,
2583 { "deltaLocation", "x509ce.deltaLocation",
2584 FT_UINT32
, BASE_DEC
, VALS(x509ce_GeneralName_vals
), 0,
2585 "GeneralName", HFILL
}},
2586 { &hf_x509ce_lastDelta
,
2587 { "lastDelta", "x509ce.lastDelta",
2588 FT_ABSOLUTE_TIME
, ABSOLUTE_TIME_LOCAL
, NULL
, 0,
2589 "GeneralizedTime", HFILL
}},
2590 { &hf_x509ce_nextDelta
,
2591 { "nextDelta", "x509ce.nextDelta",
2592 FT_ABSOLUTE_TIME
, ABSOLUTE_TIME_LOCAL
, NULL
, 0,
2593 "GeneralizedTime", HFILL
}},
2594 { &hf_x509ce_CRLDistPointsSyntax_item
,
2595 { "DistributionPoint", "x509ce.DistributionPoint_element",
2596 FT_NONE
, BASE_NONE
, NULL
, 0,
2598 { &hf_x509ce_reasons
,
2599 { "reasons", "x509ce.reasons",
2600 FT_BYTES
, BASE_NONE
, NULL
, 0,
2601 "ReasonFlags", HFILL
}},
2602 { &hf_x509ce_cRLIssuer
,
2603 { "cRLIssuer", "x509ce.cRLIssuer",
2604 FT_UINT32
, BASE_DEC
, NULL
, 0,
2605 "GeneralNames", HFILL
}},
2606 { &hf_x509ce_fullName
,
2607 { "fullName", "x509ce.fullName",
2608 FT_UINT32
, BASE_DEC
, NULL
, 0,
2609 "GeneralNames", HFILL
}},
2610 { &hf_x509ce_nameRelativeToCRLIssuer
,
2611 { "nameRelativeToCRLIssuer", "x509ce.nameRelativeToCRLIssuer",
2612 FT_UINT32
, BASE_DEC
, NULL
, 0,
2613 "RelativeDistinguishedName", HFILL
}},
2614 { &hf_x509ce_onlyContainsUserPublicKeyCerts
,
2615 { "onlyContainsUserPublicKeyCerts", "x509ce.onlyContainsUserPublicKeyCerts",
2616 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
2617 "BOOLEAN", HFILL
}},
2618 { &hf_x509ce_onlyContainsCACerts
,
2619 { "onlyContainsCACerts", "x509ce.onlyContainsCACerts",
2620 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
2621 "BOOLEAN", HFILL
}},
2622 { &hf_x509ce_indirectCRL
,
2623 { "indirectCRL", "x509ce.indirectCRL",
2624 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
2625 "BOOLEAN", HFILL
}},
2626 { &hf_x509ce_ToBeRevokedSyntax_item
,
2627 { "ToBeRevokedGroup", "x509ce.ToBeRevokedGroup_element",
2628 FT_NONE
, BASE_NONE
, NULL
, 0,
2630 { &hf_x509ce_certificateIssuer
,
2631 { "certificateIssuer", "x509ce.certificateIssuer",
2632 FT_UINT32
, BASE_DEC
, VALS(x509ce_GeneralName_vals
), 0,
2633 "GeneralName", HFILL
}},
2634 { &hf_x509ce_reasonInfo
,
2635 { "reasonInfo", "x509ce.reasonInfo_element",
2636 FT_NONE
, BASE_NONE
, NULL
, 0,
2638 { &hf_x509ce_revocationTime
,
2639 { "revocationTime", "x509ce.revocationTime",
2640 FT_ABSOLUTE_TIME
, ABSOLUTE_TIME_LOCAL
, NULL
, 0,
2641 "GeneralizedTime", HFILL
}},
2642 { &hf_x509ce_certificateGroup
,
2643 { "certificateGroup", "x509ce.certificateGroup",
2644 FT_UINT32
, BASE_DEC
, VALS(x509ce_CertificateGroup_vals
), 0,
2646 { &hf_x509ce_reasonCode
,
2647 { "reasonCode", "x509ce.reasonCode",
2648 FT_UINT32
, BASE_DEC
, VALS(x509ce_CRLReason_vals
), 0,
2649 "CRLReason", HFILL
}},
2650 { &hf_x509ce_holdInstructionCode
,
2651 { "holdInstructionCode", "x509ce.holdInstructionCode",
2652 FT_OID
, BASE_NONE
, NULL
, 0,
2653 "HoldInstruction", HFILL
}},
2654 { &hf_x509ce_serialNumbers
,
2655 { "serialNumbers", "x509ce.serialNumbers",
2656 FT_UINT32
, BASE_DEC
, NULL
, 0,
2657 "CertificateSerialNumbers", HFILL
}},
2658 { &hf_x509ce_certificateGroupNumberRange
,
2659 { "serialNumberRange", "x509ce.serialNumberRange_element",
2660 FT_NONE
, BASE_NONE
, NULL
, 0,
2661 "CertificateGroupNumberRange", HFILL
}},
2662 { &hf_x509ce_nameSubtree
,
2663 { "nameSubtree", "x509ce.nameSubtree",
2664 FT_UINT32
, BASE_DEC
, VALS(x509ce_GeneralName_vals
), 0,
2665 "GeneralName", HFILL
}},
2666 { &hf_x509ce_CertificateSerialNumbers_item
,
2667 { "CertificateSerialNumber", "x509ce.CertificateSerialNumber",
2668 FT_BYTES
, BASE_NONE
, NULL
, 0,
2670 { &hf_x509ce_RevokedGroupsSyntax_item
,
2671 { "RevokedGroup", "x509ce.RevokedGroup_element",
2672 FT_NONE
, BASE_NONE
, NULL
, 0,
2674 { &hf_x509ce_invalidityDate
,
2675 { "invalidityDate", "x509ce.invalidityDate",
2676 FT_ABSOLUTE_TIME
, ABSOLUTE_TIME_LOCAL
, NULL
, 0,
2677 "GeneralizedTime", HFILL
}},
2678 { &hf_x509ce_revokedcertificateGroup
,
2679 { "revokedcertificateGroup", "x509ce.revokedcertificateGroup",
2680 FT_UINT32
, BASE_DEC
, VALS(x509ce_RevokedCertificateGroup_vals
), 0,
2682 { &hf_x509ce_containsUserAttributeCerts
,
2683 { "containsUserAttributeCerts", "x509ce.containsUserAttributeCerts",
2684 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
2685 "BOOLEAN", HFILL
}},
2686 { &hf_x509ce_containsAACerts
,
2687 { "containsAACerts", "x509ce.containsAACerts",
2688 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
2689 "BOOLEAN", HFILL
}},
2690 { &hf_x509ce_containsSOAPublicKeyCerts
,
2691 { "containsSOAPublicKeyCerts", "x509ce.containsSOAPublicKeyCerts",
2692 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
2693 "BOOLEAN", HFILL
}},
2694 { &hf_x509ce_serialNumber
,
2695 { "serialNumber", "x509ce.serialNumber",
2696 FT_BYTES
, BASE_NONE
, NULL
, 0,
2697 "CertificateSerialNumber", HFILL
}},
2698 { &hf_x509ce_issuer
,
2699 { "issuer", "x509ce.issuer",
2700 FT_UINT32
, BASE_DEC
, VALS(x509if_Name_vals
), 0,
2702 { &hf_x509ce_subjectKeyIdentifier
,
2703 { "subjectKeyIdentifier", "x509ce.subjectKeyIdentifier",
2704 FT_BYTES
, BASE_NONE
, NULL
, 0,
2706 { &hf_x509ce_authorityKeyIdentifier
,
2707 { "authorityKeyIdentifier", "x509ce.authorityKeyIdentifier_element",
2708 FT_NONE
, BASE_NONE
, NULL
, 0,
2710 { &hf_x509ce_certificateValid
,
2711 { "certificateValid", "x509ce.certificateValid",
2712 FT_UINT32
, BASE_DEC
, VALS(x509af_Time_vals
), 0,
2714 { &hf_x509ce_privateKeyValid
,
2715 { "privateKeyValid", "x509ce.privateKeyValid",
2716 FT_ABSOLUTE_TIME
, ABSOLUTE_TIME_LOCAL
, NULL
, 0,
2717 "GeneralizedTime", HFILL
}},
2718 { &hf_x509ce_subjectPublicKeyAlgID
,
2719 { "subjectPublicKeyAlgID", "x509ce.subjectPublicKeyAlgID",
2720 FT_OID
, BASE_NONE
, NULL
, 0,
2721 "OBJECT_IDENTIFIER", HFILL
}},
2722 { &hf_x509ce_keyUsage
,
2723 { "keyUsage", "x509ce.keyUsage",
2724 FT_BYTES
, BASE_NONE
, NULL
, 0,
2726 { &hf_x509ce_subjectAltNameType
,
2727 { "subjectAltName", "x509ce.subjectAltName",
2728 FT_UINT32
, BASE_DEC
, VALS(x509ce_AltNameType_vals
), 0,
2729 "AltNameType", HFILL
}},
2730 { &hf_x509ce_policy
,
2731 { "policy", "x509ce.policy",
2732 FT_UINT32
, BASE_DEC
, NULL
, 0,
2733 "CertPolicySet", HFILL
}},
2734 { &hf_x509ce_pathToName
,
2735 { "pathToName", "x509ce.pathToName",
2736 FT_UINT32
, BASE_DEC
, VALS(x509if_Name_vals
), 0,
2738 { &hf_x509ce_subject
,
2739 { "subject", "x509ce.subject",
2740 FT_UINT32
, BASE_DEC
, VALS(x509if_Name_vals
), 0,
2742 { &hf_x509ce_nameConstraints
,
2743 { "nameConstraints", "x509ce.nameConstraints_element",
2744 FT_NONE
, BASE_NONE
, NULL
, 0,
2745 "NameConstraintsSyntax", HFILL
}},
2746 { &hf_x509ce_builtinNameForm
,
2747 { "builtinNameForm", "x509ce.builtinNameForm",
2748 FT_UINT32
, BASE_DEC
, VALS(x509ce_T_builtinNameForm_vals
), 0,
2750 { &hf_x509ce_otherNameForm
,
2751 { "otherNameForm", "x509ce.otherNameForm",
2752 FT_OID
, BASE_NONE
, NULL
, 0,
2753 "OBJECT_IDENTIFIER", HFILL
}},
2754 { &hf_x509ce_CertPolicySet_item
,
2755 { "CertPolicyId", "x509ce.CertPolicyId",
2756 FT_OID
, BASE_NONE
, NULL
, 0,
2758 { &hf_x509ce_cpea_issuedToThisCAAssertion
,
2759 { "issuedToThisCAAssertion", "x509ce.issuedToThisCAAssertion_element",
2760 FT_NONE
, BASE_NONE
, NULL
, 0,
2761 "CertificateExactAssertion", HFILL
}},
2762 { &hf_x509ce_cpea_issuedByThisCAAssertion
,
2763 { "issuedByThisCAAssertion", "x509ce.issuedByThisCAAssertion_element",
2764 FT_NONE
, BASE_NONE
, NULL
, 0,
2765 "CertificateExactAssertion", HFILL
}},
2766 { &hf_x509ce_issuedToThisCAAssertion
,
2767 { "issuedToThisCAAssertion", "x509ce.issuedToThisCAAssertion_element",
2768 FT_NONE
, BASE_NONE
, NULL
, 0,
2769 "CertificateAssertion", HFILL
}},
2770 { &hf_x509ce_issuedByThisCAAssertion
,
2771 { "issuedByThisCAAssertion", "x509ce.issuedByThisCAAssertion_element",
2772 FT_NONE
, BASE_NONE
, NULL
, 0,
2773 "CertificateAssertion", HFILL
}},
2774 { &hf_x509ce_thisUpdate
,
2775 { "thisUpdate", "x509ce.thisUpdate",
2776 FT_UINT32
, BASE_DEC
, VALS(x509af_Time_vals
), 0,
2778 { &hf_x509ce_minCRLNumber
,
2779 { "minCRLNumber", "x509ce.minCRLNumber",
2780 FT_UINT64
, BASE_DEC
, NULL
, 0,
2781 "CRLNumber", HFILL
}},
2782 { &hf_x509ce_maxCRLNumber
,
2783 { "maxCRLNumber", "x509ce.maxCRLNumber",
2784 FT_UINT64
, BASE_DEC
, NULL
, 0,
2785 "CRLNumber", HFILL
}},
2786 { &hf_x509ce_reasonFlags
,
2787 { "reasonFlags", "x509ce.reasonFlags",
2788 FT_BYTES
, BASE_NONE
, NULL
, 0,
2790 { &hf_x509ce_dateAndTime
,
2791 { "dateAndTime", "x509ce.dateAndTime",
2792 FT_UINT32
, BASE_DEC
, VALS(x509af_Time_vals
), 0,
2794 { &hf_x509ce_firstIssuer
,
2795 { "firstIssuer", "x509ce.firstIssuer",
2796 FT_UINT32
, BASE_DEC
, VALS(x509if_Name_vals
), 0,
2798 { &hf_x509ce_lastSubject
,
2799 { "lastSubject", "x509ce.lastSubject",
2800 FT_UINT32
, BASE_DEC
, VALS(x509if_Name_vals
), 0,
2802 { &hf_x509ce_subjectAltName
,
2803 { "subjectAltName", "x509ce.subjectAltName_element",
2804 FT_NONE
, BASE_NONE
, NULL
, 0,
2805 "AltName", HFILL
}},
2806 { &hf_x509ce_enhancedPathToName
,
2807 { "pathToName", "x509ce.pathToName",
2808 FT_UINT32
, BASE_DEC
, NULL
, 0,
2809 "GeneralNames", HFILL
}},
2810 { &hf_x509ce_altnameType
,
2811 { "altnameType", "x509ce.altnameType",
2812 FT_UINT32
, BASE_DEC
, VALS(x509ce_AltNameType_vals
), 0,
2814 { &hf_x509ce_altNameValue
,
2815 { "altNameValue", "x509ce.altNameValue",
2816 FT_UINT32
, BASE_DEC
, VALS(x509ce_GeneralName_vals
), 0,
2817 "GeneralName", HFILL
}},
2818 { &hf_x509ce_templateID
,
2819 { "templateID", "x509ce.templateID",
2820 FT_OID
, BASE_NONE
, NULL
, 0,
2821 "OBJECT_IDENTIFIER", HFILL
}},
2822 { &hf_x509ce_templateMajorVersion
,
2823 { "templateMajorVersion", "x509ce.templateMajorVersion",
2824 FT_INT32
, BASE_DEC
, NULL
, 0,
2825 "INTEGER", HFILL
}},
2826 { &hf_x509ce_templateMinorVersion
,
2827 { "templateMinorVersion", "x509ce.templateMinorVersion",
2828 FT_INT32
, BASE_DEC
, NULL
, 0,
2829 "INTEGER", HFILL
}},
2830 { &hf_x509ce_ntdsObjectSid
,
2831 { "ntdsObjectSid", "x509ce.ntdsObjectSid_element",
2832 FT_NONE
, BASE_NONE
, NULL
, 0,
2834 { &hf_x509ce_type_id_01
,
2835 { "type-id", "x509ce.type_id",
2836 FT_OID
, BASE_NONE
, NULL
, 0,
2837 "OBJECT_IDENTIFIER", HFILL
}},
2839 { "sid", "x509ce.sid",
2840 FT_STRING
, BASE_NONE
, NULL
, 0,
2841 "PrintableString", HFILL
}},
2842 { &hf_x509ce_entrustVers
,
2843 { "entrustVers", "x509ce.entrustVers",
2844 FT_STRING
, BASE_NONE
, NULL
, 0,
2845 "GeneralString", HFILL
}},
2846 { &hf_x509ce_entrustVersInfoFlags
,
2847 { "entrustVersInfoFlags", "x509ce.entrustVersInfoFlags",
2848 FT_BYTES
, BASE_NONE
, NULL
, 0,
2849 "EntrustInfoFlags", HFILL
}},
2850 { &hf_x509ce_NFTypes_item
,
2851 { "NFType", "x509ce.NFType",
2852 FT_STRING
, BASE_NONE
, NULL
, 0,
2854 { &hf_x509ce_capability
,
2855 { "capability", "x509ce.capability",
2856 FT_UINT64
, BASE_DEC
|BASE_VAL64_STRING
, VALS64(ciplus_scr_cap
), 0,
2857 "INTEGER_0_MAX", HFILL
}},
2858 { &hf_x509ce_version
,
2859 { "version", "x509ce.version",
2860 FT_UINT64
, BASE_DEC
, NULL
, 0,
2861 "INTEGER_0_MAX", HFILL
}},
2862 { &hf_x509ce_KeyUsage_digitalSignature
,
2863 { "digitalSignature", "x509ce.KeyUsage.digitalSignature",
2864 FT_BOOLEAN
, 8, NULL
, 0x80,
2866 { &hf_x509ce_KeyUsage_contentCommitment
,
2867 { "contentCommitment", "x509ce.KeyUsage.contentCommitment",
2868 FT_BOOLEAN
, 8, NULL
, 0x40,
2870 { &hf_x509ce_KeyUsage_keyEncipherment
,
2871 { "keyEncipherment", "x509ce.KeyUsage.keyEncipherment",
2872 FT_BOOLEAN
, 8, NULL
, 0x20,
2874 { &hf_x509ce_KeyUsage_dataEncipherment
,
2875 { "dataEncipherment", "x509ce.KeyUsage.dataEncipherment",
2876 FT_BOOLEAN
, 8, NULL
, 0x10,
2878 { &hf_x509ce_KeyUsage_keyAgreement
,
2879 { "keyAgreement", "x509ce.KeyUsage.keyAgreement",
2880 FT_BOOLEAN
, 8, NULL
, 0x08,
2882 { &hf_x509ce_KeyUsage_keyCertSign
,
2883 { "keyCertSign", "x509ce.KeyUsage.keyCertSign",
2884 FT_BOOLEAN
, 8, NULL
, 0x04,
2886 { &hf_x509ce_KeyUsage_cRLSign
,
2887 { "cRLSign", "x509ce.KeyUsage.cRLSign",
2888 FT_BOOLEAN
, 8, NULL
, 0x02,
2890 { &hf_x509ce_KeyUsage_encipherOnly
,
2891 { "encipherOnly", "x509ce.KeyUsage.encipherOnly",
2892 FT_BOOLEAN
, 8, NULL
, 0x01,
2894 { &hf_x509ce_KeyUsage_decipherOnly
,
2895 { "decipherOnly", "x509ce.KeyUsage.decipherOnly",
2896 FT_BOOLEAN
, 8, NULL
, 0x80,
2898 { &hf_x509ce_OnlyCertificateTypes_user
,
2899 { "user", "x509ce.OnlyCertificateTypes.user",
2900 FT_BOOLEAN
, 8, NULL
, 0x80,
2902 { &hf_x509ce_OnlyCertificateTypes_authority
,
2903 { "authority", "x509ce.OnlyCertificateTypes.authority",
2904 FT_BOOLEAN
, 8, NULL
, 0x40,
2906 { &hf_x509ce_OnlyCertificateTypes_attribute
,
2907 { "attribute", "x509ce.OnlyCertificateTypes.attribute",
2908 FT_BOOLEAN
, 8, NULL
, 0x20,
2910 { &hf_x509ce_ReasonFlags_unused
,
2911 { "unused", "x509ce.ReasonFlags.unused",
2912 FT_BOOLEAN
, 8, NULL
, 0x80,
2914 { &hf_x509ce_ReasonFlags_keyCompromise
,
2915 { "keyCompromise", "x509ce.ReasonFlags.keyCompromise",
2916 FT_BOOLEAN
, 8, NULL
, 0x40,
2918 { &hf_x509ce_ReasonFlags_cACompromise
,
2919 { "cACompromise", "x509ce.ReasonFlags.cACompromise",
2920 FT_BOOLEAN
, 8, NULL
, 0x20,
2922 { &hf_x509ce_ReasonFlags_affiliationChanged
,
2923 { "affiliationChanged", "x509ce.ReasonFlags.affiliationChanged",
2924 FT_BOOLEAN
, 8, NULL
, 0x10,
2926 { &hf_x509ce_ReasonFlags_superseded
,
2927 { "superseded", "x509ce.ReasonFlags.superseded",
2928 FT_BOOLEAN
, 8, NULL
, 0x08,
2930 { &hf_x509ce_ReasonFlags_cessationOfOperation
,
2931 { "cessationOfOperation", "x509ce.ReasonFlags.cessationOfOperation",
2932 FT_BOOLEAN
, 8, NULL
, 0x04,
2934 { &hf_x509ce_ReasonFlags_certificateHold
,
2935 { "certificateHold", "x509ce.ReasonFlags.certificateHold",
2936 FT_BOOLEAN
, 8, NULL
, 0x02,
2938 { &hf_x509ce_ReasonFlags_privilegeWithdrawn
,
2939 { "privilegeWithdrawn", "x509ce.ReasonFlags.privilegeWithdrawn",
2940 FT_BOOLEAN
, 8, NULL
, 0x01,
2942 { &hf_x509ce_ReasonFlags_aACompromise
,
2943 { "aACompromise", "x509ce.ReasonFlags.aACompromise",
2944 FT_BOOLEAN
, 8, NULL
, 0x80,
2946 { &hf_x509ce_EntrustInfoFlags_keyUpdateAllowed
,
2947 { "keyUpdateAllowed", "x509ce.EntrustInfoFlags.keyUpdateAllowed",
2948 FT_BOOLEAN
, 8, NULL
, 0x80,
2950 { &hf_x509ce_EntrustInfoFlags_newExtensions
,
2951 { "newExtensions", "x509ce.EntrustInfoFlags.newExtensions",
2952 FT_BOOLEAN
, 8, NULL
, 0x40,
2954 { &hf_x509ce_EntrustInfoFlags_pKIXCertificate
,
2955 { "pKIXCertificate", "x509ce.EntrustInfoFlags.pKIXCertificate",
2956 FT_BOOLEAN
, 8, NULL
, 0x20,
2958 { &hf_x509ce_EntrustInfoFlags_enterpriseCategory
,
2959 { "enterpriseCategory", "x509ce.EntrustInfoFlags.enterpriseCategory",
2960 FT_BOOLEAN
, 8, NULL
, 0x10,
2962 { &hf_x509ce_EntrustInfoFlags_webCategory
,
2963 { "webCategory", "x509ce.EntrustInfoFlags.webCategory",
2964 FT_BOOLEAN
, 8, NULL
, 0x08,
2966 { &hf_x509ce_EntrustInfoFlags_sETCategory
,
2967 { "sETCategory", "x509ce.EntrustInfoFlags.sETCategory",
2968 FT_BOOLEAN
, 8, NULL
, 0x04,
2972 /* List of subtrees */
2973 static int *ett
[] = {
2974 &ett_x509ce_AuthorityKeyIdentifier
,
2975 &ett_x509ce_KeyUsage
,
2976 &ett_x509ce_KeyPurposeIDs
,
2977 &ett_x509ce_PrivateKeyUsagePeriod
,
2978 &ett_x509ce_CertificatePoliciesSyntax
,
2979 &ett_x509ce_PolicyInformation
,
2980 &ett_x509ce_SEQUENCE_SIZE_1_MAX_OF_PolicyQualifierInfo
,
2981 &ett_x509ce_PolicyQualifierInfo
,
2982 &ett_x509ce_PolicyMappingsSyntax
,
2983 &ett_x509ce_PolicyMappingsSyntax_item
,
2984 &ett_x509ce_GeneralNames
,
2985 &ett_x509ce_GeneralName
,
2986 &ett_x509ce_OtherName
,
2987 &ett_x509ce_EDIPartyName
,
2988 &ett_x509ce_AttributesSyntax
,
2989 &ett_x509ce_BasicConstraintsSyntax
,
2990 &ett_x509ce_NameConstraintsSyntax
,
2991 &ett_x509ce_GeneralSubtrees
,
2992 &ett_x509ce_GeneralSubtree
,
2993 &ett_x509ce_PolicyConstraintsSyntax
,
2994 &ett_x509ce_CRLScopeSyntax
,
2995 &ett_x509ce_PerAuthorityScope
,
2996 &ett_x509ce_OnlyCertificateTypes
,
2997 &ett_x509ce_NumberRange
,
2998 &ett_x509ce_BaseRevocationInfo
,
2999 &ett_x509ce_StatusReferrals
,
3000 &ett_x509ce_StatusReferral
,
3001 &ett_x509ce_CRLReferral
,
3002 &ett_x509ce_DeltaRefInfo
,
3003 &ett_x509ce_DeltaInformation
,
3004 &ett_x509ce_CRLDistPointsSyntax
,
3005 &ett_x509ce_DistributionPoint
,
3006 &ett_x509ce_DistributionPointName
,
3007 &ett_x509ce_ReasonFlags
,
3008 &ett_x509ce_IssuingDistPointSyntax
,
3009 &ett_x509ce_ToBeRevokedSyntax
,
3010 &ett_x509ce_ToBeRevokedGroup
,
3011 &ett_x509ce_ReasonInfo
,
3012 &ett_x509ce_CertificateGroup
,
3013 &ett_x509ce_CertificateGroupNumberRange
,
3014 &ett_x509ce_CertificateSerialNumbers
,
3015 &ett_x509ce_RevokedGroupsSyntax
,
3016 &ett_x509ce_RevokedGroup
,
3017 &ett_x509ce_RevokedCertificateGroup
,
3018 &ett_x509ce_AAIssuingDistPointSyntax
,
3019 &ett_x509ce_CertificateExactAssertion
,
3020 &ett_x509ce_CertificateAssertion
,
3021 &ett_x509ce_AltNameType
,
3022 &ett_x509ce_CertPolicySet
,
3023 &ett_x509ce_CertificatePairExactAssertion
,
3024 &ett_x509ce_CertificatePairAssertion
,
3025 &ett_x509ce_CertificateListExactAssertion
,
3026 &ett_x509ce_CertificateListAssertion
,
3027 &ett_x509ce_PkiPathMatchSyntax
,
3028 &ett_x509ce_EnhancedCertificateAssertion
,
3029 &ett_x509ce_AltName
,
3030 &ett_x509ce_CertificateTemplate
,
3031 &ett_x509ce_NtdsCaSecurity
,
3032 &ett_x509ce_NtdsObjectSid_U
,
3033 &ett_x509ce_EntrustVersionInfo
,
3034 &ett_x509ce_EntrustInfoFlags
,
3035 &ett_x509ce_NFTypes
,
3036 &ett_x509ce_ScramblerCapabilities
,
3039 /* Register protocol */
3040 proto_x509ce
= proto_register_protocol(PNAME
, PSNAME
, PFNAME
);
3042 /* Register fields and subtrees */
3043 proto_register_field_array(proto_x509ce
, hf
, array_length(hf
));
3044 proto_register_subtree_array(ett
, array_length(ett
));
3049 /*--- proto_reg_handoff_x509ce -------------------------------------------*/
3050 void proto_reg_handoff_x509ce(void) {
3051 register_ber_oid_dissector("2.5.29.3", dissect_CertificatePoliciesSyntax_PDU
, proto_x509ce
, "id-ce-certificatePolicies");
3052 register_ber_oid_dissector("2.5.29.9", dissect_AttributesSyntax_PDU
, proto_x509ce
, "id-ce-subjectDirectoryAttributes");
3053 register_ber_oid_dissector("2.5.29.14", dissect_SubjectKeyIdentifier_PDU
, proto_x509ce
, "id-ce-subjectKeyIdentifier");
3054 register_ber_oid_dissector("2.5.29.15", dissect_KeyUsage_PDU
, proto_x509ce
, "id-ce-keyUsage");
3055 register_ber_oid_dissector("2.5.29.16", dissect_PrivateKeyUsagePeriod_PDU
, proto_x509ce
, "id-ce-privateKeyUsagePeriod");
3056 register_ber_oid_dissector("2.5.29.17", dissect_GeneralNames_PDU
, proto_x509ce
, "id-ce-subjectAltName");
3057 register_ber_oid_dissector("2.5.29.18", dissect_GeneralNames_PDU
, proto_x509ce
, "id-ce-issuerAltName");
3058 register_ber_oid_dissector("2.5.29.19", dissect_BasicConstraintsSyntax_PDU
, proto_x509ce
, "id-ce-basicConstraints");
3059 register_ber_oid_dissector("2.5.29.20", dissect_CRLNumber_PDU
, proto_x509ce
, "id-ce-cRLNumber");
3060 register_ber_oid_dissector("2.5.29.21", dissect_CRLReason_PDU
, proto_x509ce
, "id-ce-reasonCode");
3061 register_ber_oid_dissector("2.5.29.23", dissect_HoldInstruction_PDU
, proto_x509ce
, "id-ce-instructionCode");
3062 register_ber_oid_dissector("2.5.29.27", dissect_BaseCRLNumber_PDU
, proto_x509ce
, "id-ce-deltaCRLIndicator");
3063 register_ber_oid_dissector("2.5.29.28", dissect_IssuingDistPointSyntax_PDU
, proto_x509ce
, "id-ce-issuingDistributionPoint");
3064 register_ber_oid_dissector("2.5.29.29", dissect_GeneralNames_PDU
, proto_x509ce
, "id-ce-certificateIssuer");
3065 register_ber_oid_dissector("2.5.29.30", dissect_NameConstraintsSyntax_PDU
, proto_x509ce
, "id-ce-nameConstraints");
3066 register_ber_oid_dissector("2.5.29.31", dissect_CRLDistPointsSyntax_PDU
, proto_x509ce
, "id-ce-cRLDistributionPoints");
3067 register_ber_oid_dissector("2.5.29.32", dissect_CertificatePoliciesSyntax_PDU
, proto_x509ce
, "id-ce-certificatePolicies");
3068 register_ber_oid_dissector("2.5.29.33", dissect_PolicyMappingsSyntax_PDU
, proto_x509ce
, "id-ce-policyMappings");
3069 register_ber_oid_dissector("2.5.29.35", dissect_AuthorityKeyIdentifier_PDU
, proto_x509ce
, "id-ce-authorityKeyIdentifier");
3070 register_ber_oid_dissector("2.5.29.36", dissect_PolicyConstraintsSyntax_PDU
, proto_x509ce
, "id-ce-policyConstraints");
3071 register_ber_oid_dissector("2.5.29.37", dissect_KeyPurposeIDs_PDU
, proto_x509ce
, "id-ce-extKeyUsage");
3072 register_ber_oid_dissector("2.5.29.40", dissect_CRLStreamIdentifier_PDU
, proto_x509ce
, "id-ce-cRLStreamIdentifier");
3073 register_ber_oid_dissector("2.5.29.44", dissect_CRLScopeSyntax_PDU
, proto_x509ce
, "id-ce-cRLScope");
3074 register_ber_oid_dissector("2.5.29.45", dissect_StatusReferrals_PDU
, proto_x509ce
, "id-ce-statusReferrals");
3075 register_ber_oid_dissector("2.5.29.46", dissect_CRLDistPointsSyntax_PDU
, proto_x509ce
, "id-ce-freshestCRL");
3076 register_ber_oid_dissector("2.5.29.47", dissect_OrderedListSyntax_PDU
, proto_x509ce
, "id-ce-orderedList");
3077 register_ber_oid_dissector("2.5.29.53", dissect_DeltaInformation_PDU
, proto_x509ce
, "id-ce-deltaInfo");
3078 register_ber_oid_dissector("2.5.29.54", dissect_SkipCerts_PDU
, proto_x509ce
, "id-ce-inhibitAnyPolicy");
3079 register_ber_oid_dissector("2.5.29.58", dissect_ToBeRevokedSyntax_PDU
, proto_x509ce
, "id-ce-toBeRevoked");
3080 register_ber_oid_dissector("2.5.29.59", dissect_RevokedGroupsSyntax_PDU
, proto_x509ce
, "id-ce-RevokedGroups");
3081 register_ber_oid_dissector("2.5.29.60", dissect_ExpiredCertsOnCRL_PDU
, proto_x509ce
, "id-ce-expiredCertsOnCRL");
3082 register_ber_oid_dissector("2.5.29.61", dissect_AAIssuingDistPointSyntax_PDU
, proto_x509ce
, "id-ce-aAissuingDistributionPoint");
3083 register_ber_oid_dissector("1.3.6.1.5.5.7.1.34", dissect_NFTypes_PDU
, proto_x509ce
, "id-pe-nftype");
3084 register_ber_oid_dissector("2.5.13.35", dissect_CertificateAssertion_PDU
, proto_x509ce
, "id-mr-certificateMatch");
3085 register_ber_oid_dissector("2.5.13.36", dissect_CertificatePairExactAssertion_PDU
, proto_x509ce
, "id-mr-certificatePairExactMatch");
3086 register_ber_oid_dissector("2.5.13.37", dissect_CertificatePairAssertion_PDU
, proto_x509ce
, "id-mr-certificatePairMatch");
3087 register_ber_oid_dissector("2.5.13.38", dissect_CertificateListExactAssertion_PDU
, proto_x509ce
, "id-mr-certificateListExactMatch");
3088 register_ber_oid_dissector("2.5.13.39", dissect_CertificateListAssertion_PDU
, proto_x509ce
, "id-mr-certificateListMatch");
3089 register_ber_oid_dissector("2.5.13.62", dissect_PkiPathMatchSyntax_PDU
, proto_x509ce
, "id-mr-pkiPathMatch");
3090 register_ber_oid_dissector("2.5.13.65", dissect_EnhancedCertificateAssertion_PDU
, proto_x509ce
, "id-mr-enhancedCertificateMatch");
3091 register_ber_oid_dissector("1.3.6.1.4.1.311.21.7", dissect_CertificateTemplate_PDU
, proto_x509ce
, "id-ms-certificate-template");
3092 register_ber_oid_dissector("1.3.6.1.4.1.311.21.10", dissect_CertificatePoliciesSyntax_PDU
, proto_x509ce
, "id-ms-application-certificate-policies");
3093 register_ber_oid_dissector("1.3.6.1.4.1.311.25.2", dissect_NtdsCaSecurity_PDU
, proto_x509ce
, "id-ms-ntds-ca-security");
3094 register_ber_oid_dissector("1.3.6.1.4.1.311.25.2.1", dissect_NtdsObjectSid_PDU
, proto_x509ce
, "id-ms-ntds-object-sid");
3095 register_ber_oid_dissector("1.2.840.113533.7.65.0", dissect_EntrustVersionInfo_PDU
, proto_x509ce
, "id-ce-entrustVersionInfo");
3097 register_ber_oid_dissector("2.5.29.24", dissect_x509ce_invalidityDate_callback
, proto_x509ce
, "id-ce-invalidityDate");
3098 register_ber_oid_dissector("2.5.29.51", dissect_x509ce_baseUpdateTime_callback
, proto_x509ce
, "id-ce-baseUpdateTime");
3099 oid_add_from_string("anyPolicy","2.5.29.32.0");
3104 * Editor modelines - https://www.wireshark.org/tools/modelines.html
3109 * indent-tabs-mode: nil
3112 * vi: set shiftwidth=2 tabstop=8 expandtab:
3113 * :indentSize=2:tabSize=8:noTabs=true: