Revert "TODO epan/dissectors/asn1/kerberos/packet-kerberos-template.c new GSS flags"
[wireshark-sm.git] / epan / dissectors / packet-pkix1implicit.c
blob5f8d1d5f9e4c9c6aea4f14a047c585a009e6da9c
1 /* Do not modify this file. Changes will be overwritten. */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler */
3 /* packet-pkix1implicit.c */
4 /* asn2wrs.py -b -q -L -p pkix1implicit -c ./pkix1implicit.cnf -s ./packet-pkix1implicit-template -D . -O ../.. PKIX1IMPLICIT93.asn */
6 /* packet-pkix1implicit.c
7 * Routines for PKIX1Implitic packet dissection
9 * Wireshark - Network traffic analyzer
10 * By Gerald Combs <gerald@wireshark.org>
11 * Copyright 1998 Gerald Combs
13 * SPDX-License-Identifier: GPL-2.0-or-later
16 #include "config.h"
18 #include <epan/packet.h>
19 #include <wsutil/array.h>
21 #include <epan/asn1.h>
22 #include "packet-ber.h"
23 #include "packet-pkix1implicit.h"
24 #include "packet-pkix1explicit.h"
25 #include "packet-x509ce.h"
27 #define PNAME "PKIX1Implicit"
28 #define PSNAME "PKIX1IMPLICIT"
29 #define PFNAME "pkix1implicit"
31 void proto_register_pkix1implicit(void);
32 void proto_reg_handoff_pkix1implicit(void);
34 /* Initialize the protocol and registered fields */
35 static int proto_pkix1implicit;
36 static int hf_pkix1implicit_Dummy_PDU; /* Dummy */
37 static int hf_pkix1implicit_AuthorityInfoAccessSyntax_PDU; /* AuthorityInfoAccessSyntax */
38 static int hf_pkix1implicit_UserNotice_PDU; /* UserNotice */
39 static int hf_pkix1implicit_AuthorityInfoAccessSyntax_item; /* AccessDescription */
40 static int hf_pkix1implicit_accessMethod; /* OBJECT_IDENTIFIER */
41 static int hf_pkix1implicit_accessLocation; /* GeneralName */
42 static int hf_pkix1implicit_noticeRef; /* NoticeReference */
43 static int hf_pkix1implicit_explicitText; /* DisplayText */
44 static int hf_pkix1implicit_organization; /* DisplayText */
45 static int hf_pkix1implicit_noticeNumbers; /* T_noticeNumbers */
46 static int hf_pkix1implicit_noticeNumbers_item; /* INTEGER */
47 static int hf_pkix1implicit_ia5String; /* IA5String */
48 static int hf_pkix1implicit_visibleString; /* VisibleString */
49 static int hf_pkix1implicit_bmpString; /* BMPString */
50 static int hf_pkix1implicit_utf8String; /* UTF8String */
52 /* Initialize the subtree pointers */
53 static int ett_pkix1implicit_AuthorityInfoAccessSyntax;
54 static int ett_pkix1implicit_AccessDescription;
55 static int ett_pkix1implicit_UserNotice;
56 static int ett_pkix1implicit_NoticeReference;
57 static int ett_pkix1implicit_T_noticeNumbers;
58 static int ett_pkix1implicit_DisplayText;
61 int
62 dissect_pkix1implicit_ReasonFlags(bool implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_) {
63 offset = dissect_x509ce_ReasonFlags(implicit_tag, tvb, offset, actx, tree, hf_index);
65 return offset;
67 int
68 dissect_pkix1implicit_GeneralName(bool implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_) {
69 offset = dissect_x509ce_GeneralName(implicit_tag, tvb, offset, actx, tree, hf_index);
71 return offset;
76 int
77 dissect_pkix1implicit_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_) {
78 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
79 NULL);
81 return offset;
86 static int
87 dissect_pkix1implicit_Dummy(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
88 offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
90 return offset;
95 static int
96 dissect_pkix1implicit_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_) {
97 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
99 return offset;
103 static const ber_sequence_t AccessDescription_sequence[] = {
104 { &hf_pkix1implicit_accessMethod, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_pkix1implicit_OBJECT_IDENTIFIER },
105 { &hf_pkix1implicit_accessLocation, BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_x509ce_GeneralName },
106 { NULL, 0, 0, 0, NULL }
109 static int
110 dissect_pkix1implicit_AccessDescription(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
111 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
112 AccessDescription_sequence, hf_index, ett_pkix1implicit_AccessDescription);
114 return offset;
118 static const ber_sequence_t AuthorityInfoAccessSyntax_sequence_of[1] = {
119 { &hf_pkix1implicit_AuthorityInfoAccessSyntax_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_pkix1implicit_AccessDescription },
123 dissect_pkix1implicit_AuthorityInfoAccessSyntax(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
124 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
125 AuthorityInfoAccessSyntax_sequence_of, hf_index, ett_pkix1implicit_AuthorityInfoAccessSyntax);
127 return offset;
132 static int
133 dissect_pkix1implicit_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_) {
134 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
135 actx, tree, tvb, offset, hf_index,
136 NULL);
138 return offset;
143 static int
144 dissect_pkix1implicit_VisibleString(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
145 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_VisibleString,
146 actx, tree, tvb, offset, hf_index,
147 NULL);
149 return offset;
154 static int
155 dissect_pkix1implicit_BMPString(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
156 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_BMPString,
157 actx, tree, tvb, offset, hf_index,
158 NULL);
160 return offset;
165 static int
166 dissect_pkix1implicit_UTF8String(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
167 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UTF8String,
168 actx, tree, tvb, offset, hf_index,
169 NULL);
171 return offset;
175 static const value_string pkix1implicit_DisplayText_vals[] = {
176 { 0, "ia5String" },
177 { 1, "visibleString" },
178 { 2, "bmpString" },
179 { 3, "utf8String" },
180 { 0, NULL }
183 static const ber_choice_t DisplayText_choice[] = {
184 { 0, &hf_pkix1implicit_ia5String, BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_pkix1implicit_IA5String },
185 { 1, &hf_pkix1implicit_visibleString, BER_CLASS_UNI, BER_UNI_TAG_VisibleString, BER_FLAGS_NOOWNTAG, dissect_pkix1implicit_VisibleString },
186 { 2, &hf_pkix1implicit_bmpString, BER_CLASS_UNI, BER_UNI_TAG_BMPString, BER_FLAGS_NOOWNTAG, dissect_pkix1implicit_BMPString },
187 { 3, &hf_pkix1implicit_utf8String, BER_CLASS_UNI, BER_UNI_TAG_UTF8String, BER_FLAGS_NOOWNTAG, dissect_pkix1implicit_UTF8String },
188 { 0, NULL, 0, 0, 0, NULL }
191 static int
192 dissect_pkix1implicit_DisplayText(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
193 offset = dissect_ber_choice(actx, tree, tvb, offset,
194 DisplayText_choice, hf_index, ett_pkix1implicit_DisplayText,
195 NULL);
197 return offset;
202 static int
203 dissect_pkix1implicit_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_) {
204 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
205 NULL);
207 return offset;
211 static const ber_sequence_t T_noticeNumbers_sequence_of[1] = {
212 { &hf_pkix1implicit_noticeNumbers_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_pkix1implicit_INTEGER },
215 static int
216 dissect_pkix1implicit_T_noticeNumbers(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
217 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
218 T_noticeNumbers_sequence_of, hf_index, ett_pkix1implicit_T_noticeNumbers);
220 return offset;
224 static const ber_sequence_t NoticeReference_sequence[] = {
225 { &hf_pkix1implicit_organization, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_pkix1implicit_DisplayText },
226 { &hf_pkix1implicit_noticeNumbers, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_pkix1implicit_T_noticeNumbers },
227 { NULL, 0, 0, 0, NULL }
230 static int
231 dissect_pkix1implicit_NoticeReference(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
232 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
233 NoticeReference_sequence, hf_index, ett_pkix1implicit_NoticeReference);
235 return offset;
239 static const ber_sequence_t UserNotice_sequence[] = {
240 { &hf_pkix1implicit_noticeRef, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_pkix1implicit_NoticeReference },
241 { &hf_pkix1implicit_explicitText, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_pkix1implicit_DisplayText },
242 { NULL, 0, 0, 0, NULL }
246 dissect_pkix1implicit_UserNotice(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
247 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
248 UserNotice_sequence, hf_index, ett_pkix1implicit_UserNotice);
250 return offset;
253 /*--- PDUs ---*/
255 static int dissect_Dummy_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
256 int offset = 0;
257 asn1_ctx_t asn1_ctx;
258 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
259 offset = dissect_pkix1implicit_Dummy(false, tvb, offset, &asn1_ctx, tree, hf_pkix1implicit_Dummy_PDU);
260 return offset;
262 static int dissect_AuthorityInfoAccessSyntax_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
263 int offset = 0;
264 asn1_ctx_t asn1_ctx;
265 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
266 offset = dissect_pkix1implicit_AuthorityInfoAccessSyntax(false, tvb, offset, &asn1_ctx, tree, hf_pkix1implicit_AuthorityInfoAccessSyntax_PDU);
267 return offset;
269 static int dissect_UserNotice_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
270 int offset = 0;
271 asn1_ctx_t asn1_ctx;
272 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
273 offset = dissect_pkix1implicit_UserNotice(false, tvb, offset, &asn1_ctx, tree, hf_pkix1implicit_UserNotice_PDU);
274 return offset;
279 /*--- proto_register_pkix1implicit ----------------------------------------------*/
280 void proto_register_pkix1implicit(void) {
282 /* List of fields */
283 static hf_register_info hf[] = {
284 { &hf_pkix1implicit_Dummy_PDU,
285 { "Dummy", "pkix1implicit.Dummy_element",
286 FT_NONE, BASE_NONE, NULL, 0,
287 NULL, HFILL }},
288 { &hf_pkix1implicit_AuthorityInfoAccessSyntax_PDU,
289 { "AuthorityInfoAccessSyntax", "pkix1implicit.AuthorityInfoAccessSyntax",
290 FT_UINT32, BASE_DEC, NULL, 0,
291 NULL, HFILL }},
292 { &hf_pkix1implicit_UserNotice_PDU,
293 { "UserNotice", "pkix1implicit.UserNotice_element",
294 FT_NONE, BASE_NONE, NULL, 0,
295 NULL, HFILL }},
296 { &hf_pkix1implicit_AuthorityInfoAccessSyntax_item,
297 { "AccessDescription", "pkix1implicit.AccessDescription_element",
298 FT_NONE, BASE_NONE, NULL, 0,
299 NULL, HFILL }},
300 { &hf_pkix1implicit_accessMethod,
301 { "accessMethod", "pkix1implicit.accessMethod",
302 FT_OID, BASE_NONE, NULL, 0,
303 "OBJECT_IDENTIFIER", HFILL }},
304 { &hf_pkix1implicit_accessLocation,
305 { "accessLocation", "pkix1implicit.accessLocation",
306 FT_UINT32, BASE_DEC, NULL, 0,
307 "GeneralName", HFILL }},
308 { &hf_pkix1implicit_noticeRef,
309 { "noticeRef", "pkix1implicit.noticeRef_element",
310 FT_NONE, BASE_NONE, NULL, 0,
311 "NoticeReference", HFILL }},
312 { &hf_pkix1implicit_explicitText,
313 { "explicitText", "pkix1implicit.explicitText",
314 FT_UINT32, BASE_DEC, VALS(pkix1implicit_DisplayText_vals), 0,
315 "DisplayText", HFILL }},
316 { &hf_pkix1implicit_organization,
317 { "organization", "pkix1implicit.organization",
318 FT_UINT32, BASE_DEC, VALS(pkix1implicit_DisplayText_vals), 0,
319 "DisplayText", HFILL }},
320 { &hf_pkix1implicit_noticeNumbers,
321 { "noticeNumbers", "pkix1implicit.noticeNumbers",
322 FT_UINT32, BASE_DEC, NULL, 0,
323 NULL, HFILL }},
324 { &hf_pkix1implicit_noticeNumbers_item,
325 { "noticeNumbers item", "pkix1implicit.noticeNumbers_item",
326 FT_INT32, BASE_DEC, NULL, 0,
327 "INTEGER", HFILL }},
328 { &hf_pkix1implicit_ia5String,
329 { "ia5String", "pkix1implicit.ia5String",
330 FT_STRING, BASE_NONE, NULL, 0,
331 NULL, HFILL }},
332 { &hf_pkix1implicit_visibleString,
333 { "visibleString", "pkix1implicit.visibleString",
334 FT_STRING, BASE_NONE, NULL, 0,
335 NULL, HFILL }},
336 { &hf_pkix1implicit_bmpString,
337 { "bmpString", "pkix1implicit.bmpString",
338 FT_STRING, BASE_NONE, NULL, 0,
339 NULL, HFILL }},
340 { &hf_pkix1implicit_utf8String,
341 { "utf8String", "pkix1implicit.utf8String",
342 FT_STRING, BASE_NONE, NULL, 0,
343 NULL, HFILL }},
346 /* List of subtrees */
347 static int *ett[] = {
348 &ett_pkix1implicit_AuthorityInfoAccessSyntax,
349 &ett_pkix1implicit_AccessDescription,
350 &ett_pkix1implicit_UserNotice,
351 &ett_pkix1implicit_NoticeReference,
352 &ett_pkix1implicit_T_noticeNumbers,
353 &ett_pkix1implicit_DisplayText,
356 /* Register protocol */
357 proto_pkix1implicit = proto_register_protocol(PNAME, PSNAME, PFNAME);
359 /* Register fields and subtrees */
360 proto_register_field_array(proto_pkix1implicit, hf, array_length(hf));
361 proto_register_subtree_array(ett, array_length(ett));
366 /*--- proto_reg_handoff_pkix1implicit -------------------------------------------*/
367 void proto_reg_handoff_pkix1implicit(void) {
368 register_ber_oid_dissector("1.3.6.1.5.5.7.1.1", dissect_AuthorityInfoAccessSyntax_PDU, proto_pkix1implicit, "id-pe-authorityInfoAccess");
369 register_ber_oid_dissector("1.3.6.1.5.5.7.48.1", dissect_Dummy_PDU, proto_pkix1implicit, "id-ad-ocsp");
370 register_ber_oid_dissector("1.3.6.1.5.5.7.48.2", dissect_Dummy_PDU, proto_pkix1implicit, "id-ad-caIssuers");
371 register_ber_oid_dissector("1.3.6.1.5.5.7.3.1", dissect_Dummy_PDU, proto_pkix1implicit, "id-kp-serverAuth");
372 register_ber_oid_dissector("1.3.6.1.5.5.7.3.2", dissect_Dummy_PDU, proto_pkix1implicit, "id-kp-clientAuth");
373 register_ber_oid_dissector("1.3.6.1.5.5.7.3.3", dissect_Dummy_PDU, proto_pkix1implicit, "id-kp-codeSigning");
374 register_ber_oid_dissector("1.3.6.1.5.5.7.3.4", dissect_Dummy_PDU, proto_pkix1implicit, "id-kp-emailProtection");
375 register_ber_oid_dissector("1.3.6.1.5.5.7.3.5", dissect_Dummy_PDU, proto_pkix1implicit, "id-kp-ip-kp-ipsecEndSystem");
376 register_ber_oid_dissector("1.3.6.1.5.5.7.3.6", dissect_Dummy_PDU, proto_pkix1implicit, "id-kp-ipsecTunnel");
377 register_ber_oid_dissector("1.3.6.1.5.5.7.3.7", dissect_Dummy_PDU, proto_pkix1implicit, "id-kp-ipsecUser");
378 register_ber_oid_dissector("1.3.6.1.5.5.7.3.8", dissect_Dummy_PDU, proto_pkix1implicit, "id-kp-timeStamping");
379 register_ber_oid_dissector("1.3.6.1.5.5.7.3.9", dissect_Dummy_PDU, proto_pkix1implicit, "OCSPSigning");
380 register_ber_oid_dissector("1.3.6.1.4.1.311.10.12.1", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-any-application-policy");
381 register_ber_oid_dissector("1.3.6.1.4.1.311.10.3.1", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-kp-ctl-usage-signing");
382 register_ber_oid_dissector("1.3.6.1.4.1.311.10.3.2", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-kp-time-stamp-signing");
383 register_ber_oid_dissector("1.3.6.1.4.1.311.10.3.4", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-kp-efs");
384 register_ber_oid_dissector("1.3.6.1.4.1.311.10.3.4.1", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-efs-recovery");
385 register_ber_oid_dissector("1.3.6.1.4.1.311.10.3.5", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-whql-crypto");
386 register_ber_oid_dissector("1.3.6.1.4.1.311.10.3.6", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-nt5-crypto");
387 register_ber_oid_dissector("1.3.6.1.4.1.311.10.3.7", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-oem-whql-crypto");
388 register_ber_oid_dissector("1.3.6.1.4.1.311.10.3.8", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-embedded-nt-crypto");
389 register_ber_oid_dissector("1.3.6.1.4.1.311.10.3.9", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-root-list-signer");
390 register_ber_oid_dissector("1.3.6.1.4.1.311.10.3.10", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-kp-qualified-subordination");
391 register_ber_oid_dissector("1.3.6.1.4.1.311.10.3.11", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-kp-key-recovery");
392 register_ber_oid_dissector("1.3.6.1.4.1.311.10.3.12", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-kp-document-signing");
393 register_ber_oid_dissector("1.3.6.1.4.1.311.10.3.13", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-kp-lifetime-signing");
394 register_ber_oid_dissector("1.3.6.1.4.1.311.10.5.1", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-drm");
395 register_ber_oid_dissector("1.3.6.1.4.1.311.10.6.1", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-licenses");
396 register_ber_oid_dissector("1.3.6.1.4.1.311.10.6.2", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-license-server");
397 register_ber_oid_dissector("1.3.6.1.4.1.311.20.1", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-auto-enroll-ctl-usage");
398 register_ber_oid_dissector("1.3.6.1.4.1.311.20.2.1", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-enrollment-agent");
399 register_ber_oid_dissector("1.3.6.1.4.1.311.20.2.2", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-kp-smartcard-logon");
400 register_ber_oid_dissector("1.3.6.1.4.1.311.21.5", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-kp-ca-exchange");
401 register_ber_oid_dissector("1.3.6.1.4.1.311.21.6", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-kp-key-recovery-agent");
402 register_ber_oid_dissector("1.3.6.1.4.1.311.21.19", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-ds-email-replication");
403 register_ber_oid_dissector("1.3.6.1.5.5.8.2.2", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-ipsec-kp-ike-intermediate");
404 register_ber_oid_dissector("1.3.6.1.5.5.7.2.2", dissect_UserNotice_PDU, proto_pkix1implicit, "id-qt-unotice");