Coverage Report

Created: 2026-05-14 06:28

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/wireshark/epan/dissectors/packet-pkix1implicit.c
Line
Count
Source
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 */
5
6
/* packet-pkix1implicit.c
7
 * Routines for PKIX1Implitic packet dissection
8
 *
9
 * Wireshark - Network traffic analyzer
10
 * By Gerald Combs <gerald@wireshark.org>
11
 * Copyright 1998 Gerald Combs
12
 *
13
 * SPDX-License-Identifier: GPL-2.0-or-later
14
 */
15
16
#include "config.h"
17
18
#include <epan/packet.h>
19
#include <wsutil/array.h>
20
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"
26
27
void proto_register_pkix1implicit(void);
28
void proto_reg_handoff_pkix1implicit(void);
29
30
/* Initialize the protocol and registered fields */
31
static int proto_pkix1implicit;
32
static int hf_pkix1implicit_Dummy_PDU;            /* Dummy */
33
static int hf_pkix1implicit_AuthorityInfoAccessSyntax_PDU;  /* AuthorityInfoAccessSyntax */
34
static int hf_pkix1implicit_UserNotice_PDU;       /* UserNotice */
35
static int hf_pkix1implicit_AuthorityInfoAccessSyntax_item;  /* AccessDescription */
36
static int hf_pkix1implicit_accessMethod;         /* OBJECT_IDENTIFIER */
37
static int hf_pkix1implicit_accessLocation;       /* GeneralName */
38
static int hf_pkix1implicit_noticeRef;            /* NoticeReference */
39
static int hf_pkix1implicit_explicitText;         /* DisplayText */
40
static int hf_pkix1implicit_organization;         /* DisplayText */
41
static int hf_pkix1implicit_noticeNumbers;        /* T_noticeNumbers */
42
static int hf_pkix1implicit_noticeNumbers_item;   /* INTEGER */
43
static int hf_pkix1implicit_ia5String;            /* IA5String */
44
static int hf_pkix1implicit_visibleString;        /* VisibleString */
45
static int hf_pkix1implicit_bmpString;            /* BMPString */
46
static int hf_pkix1implicit_utf8String;           /* UTF8String */
47
48
/* Initialize the subtree pointers */
49
static int ett_pkix1implicit_AuthorityInfoAccessSyntax;
50
static int ett_pkix1implicit_AccessDescription;
51
static int ett_pkix1implicit_UserNotice;
52
static int ett_pkix1implicit_NoticeReference;
53
static int ett_pkix1implicit_T_noticeNumbers;
54
static int ett_pkix1implicit_DisplayText;
55
56
57
unsigned
58
0
dissect_pkix1implicit_ReasonFlags(bool implicit_tag _U_, tvbuff_t *tvb, unsigned offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_) {
59
0
  offset = dissect_x509ce_ReasonFlags(implicit_tag, tvb, offset, actx, tree, hf_index);
60
61
0
  return offset;
62
0
}
63
unsigned
64
0
dissect_pkix1implicit_GeneralName(bool implicit_tag _U_, tvbuff_t *tvb, unsigned offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_) {
65
0
  offset = dissect_x509ce_GeneralName(implicit_tag, tvb, offset, actx, tree, hf_index);
66
67
0
  return offset;
68
0
}
69
70
71
72
unsigned
73
0
dissect_pkix1implicit_KeyIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
74
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
75
0
                                       NULL);
76
77
0
  return offset;
78
0
}
79
80
81
82
unsigned
83
0
dissect_pkix1implicit_SubjectKeyIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
84
0
  offset = dissect_pkix1implicit_KeyIdentifier(implicit_tag, tvb, offset, actx, tree, hf_index);
85
86
0
  return offset;
87
0
}
88
89
90
91
static unsigned
92
0
dissect_pkix1implicit_Dummy(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
93
0
  offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
94
95
0
  return offset;
96
0
}
97
98
99
100
static unsigned
101
0
dissect_pkix1implicit_OBJECT_IDENTIFIER(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
102
0
  offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
103
104
0
  return offset;
105
0
}
106
107
108
static const ber_sequence_t AccessDescription_sequence[] = {
109
  { &hf_pkix1implicit_accessMethod, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_pkix1implicit_OBJECT_IDENTIFIER },
110
  { &hf_pkix1implicit_accessLocation, BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_x509ce_GeneralName },
111
  { NULL, 0, 0, 0, NULL }
112
};
113
114
static unsigned
115
0
dissect_pkix1implicit_AccessDescription(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
116
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
117
0
                                   AccessDescription_sequence, hf_index, ett_pkix1implicit_AccessDescription);
118
119
0
  return offset;
120
0
}
121
122
123
static const ber_sequence_t AuthorityInfoAccessSyntax_sequence_of[1] = {
124
  { &hf_pkix1implicit_AuthorityInfoAccessSyntax_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_pkix1implicit_AccessDescription },
125
};
126
127
unsigned
128
0
dissect_pkix1implicit_AuthorityInfoAccessSyntax(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
129
0
  offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
130
0
                                                  1, NO_BOUND, AuthorityInfoAccessSyntax_sequence_of, hf_index, ett_pkix1implicit_AuthorityInfoAccessSyntax);
131
132
0
  return offset;
133
0
}
134
135
136
137
static unsigned
138
0
dissect_pkix1implicit_IA5String(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
139
0
  offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
140
0
                                            actx, tree, tvb, offset, hf_index,
141
0
                                            NULL);
142
143
0
  return offset;
144
0
}
145
146
147
148
static unsigned
149
0
dissect_pkix1implicit_VisibleString(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
150
0
  offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_VisibleString,
151
0
                                            actx, tree, tvb, offset, hf_index,
152
0
                                            NULL);
153
154
0
  return offset;
155
0
}
156
157
158
159
static unsigned
160
0
dissect_pkix1implicit_BMPString(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
161
0
  offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_BMPString,
162
0
                                            actx, tree, tvb, offset, hf_index,
163
0
                                            NULL);
164
165
0
  return offset;
166
0
}
167
168
169
170
static unsigned
171
0
dissect_pkix1implicit_UTF8String(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
172
0
  offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UTF8String,
173
0
                                            actx, tree, tvb, offset, hf_index,
174
0
                                            NULL);
175
176
0
  return offset;
177
0
}
178
179
180
static const value_string pkix1implicit_DisplayText_vals[] = {
181
  {   0, "ia5String" },
182
  {   1, "visibleString" },
183
  {   2, "bmpString" },
184
  {   3, "utf8String" },
185
  { 0, NULL }
186
};
187
188
static const ber_choice_t DisplayText_choice[] = {
189
  {   0, &hf_pkix1implicit_ia5String, BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_pkix1implicit_IA5String },
190
  {   1, &hf_pkix1implicit_visibleString, BER_CLASS_UNI, BER_UNI_TAG_VisibleString, BER_FLAGS_NOOWNTAG, dissect_pkix1implicit_VisibleString },
191
  {   2, &hf_pkix1implicit_bmpString, BER_CLASS_UNI, BER_UNI_TAG_BMPString, BER_FLAGS_NOOWNTAG, dissect_pkix1implicit_BMPString },
192
  {   3, &hf_pkix1implicit_utf8String, BER_CLASS_UNI, BER_UNI_TAG_UTF8String, BER_FLAGS_NOOWNTAG, dissect_pkix1implicit_UTF8String },
193
  { 0, NULL, 0, 0, 0, NULL }
194
};
195
196
static unsigned
197
0
dissect_pkix1implicit_DisplayText(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
198
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
199
0
                                 DisplayText_choice, hf_index, ett_pkix1implicit_DisplayText,
200
0
                                 NULL);
201
202
0
  return offset;
203
0
}
204
205
206
207
static unsigned
208
0
dissect_pkix1implicit_INTEGER(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
209
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
210
0
                                                NULL);
211
212
0
  return offset;
213
0
}
214
215
216
static const ber_sequence_t T_noticeNumbers_sequence_of[1] = {
217
  { &hf_pkix1implicit_noticeNumbers_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_pkix1implicit_INTEGER },
218
};
219
220
static unsigned
221
0
dissect_pkix1implicit_T_noticeNumbers(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
222
0
  offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
223
0
                                      T_noticeNumbers_sequence_of, hf_index, ett_pkix1implicit_T_noticeNumbers);
224
225
0
  return offset;
226
0
}
227
228
229
static const ber_sequence_t NoticeReference_sequence[] = {
230
  { &hf_pkix1implicit_organization, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_pkix1implicit_DisplayText },
231
  { &hf_pkix1implicit_noticeNumbers, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_pkix1implicit_T_noticeNumbers },
232
  { NULL, 0, 0, 0, NULL }
233
};
234
235
static unsigned
236
0
dissect_pkix1implicit_NoticeReference(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
237
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
238
0
                                   NoticeReference_sequence, hf_index, ett_pkix1implicit_NoticeReference);
239
240
0
  return offset;
241
0
}
242
243
244
static const ber_sequence_t UserNotice_sequence[] = {
245
  { &hf_pkix1implicit_noticeRef, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_pkix1implicit_NoticeReference },
246
  { &hf_pkix1implicit_explicitText, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_pkix1implicit_DisplayText },
247
  { NULL, 0, 0, 0, NULL }
248
};
249
250
unsigned
251
0
dissect_pkix1implicit_UserNotice(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
252
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
253
0
                                   UserNotice_sequence, hf_index, ett_pkix1implicit_UserNotice);
254
255
0
  return offset;
256
0
}
257
258
/*--- PDUs ---*/
259
260
0
static int dissect_Dummy_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
261
0
  unsigned offset = 0;
262
0
  asn1_ctx_t asn1_ctx;
263
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
264
0
  offset = dissect_pkix1implicit_Dummy(false, tvb, offset, &asn1_ctx, tree, hf_pkix1implicit_Dummy_PDU);
265
0
  return offset;
266
0
}
267
0
static int dissect_AuthorityInfoAccessSyntax_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
268
0
  unsigned offset = 0;
269
0
  asn1_ctx_t asn1_ctx;
270
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
271
0
  offset = dissect_pkix1implicit_AuthorityInfoAccessSyntax(false, tvb, offset, &asn1_ctx, tree, hf_pkix1implicit_AuthorityInfoAccessSyntax_PDU);
272
0
  return offset;
273
0
}
274
0
static int dissect_UserNotice_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
275
0
  unsigned offset = 0;
276
0
  asn1_ctx_t asn1_ctx;
277
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
278
0
  offset = dissect_pkix1implicit_UserNotice(false, tvb, offset, &asn1_ctx, tree, hf_pkix1implicit_UserNotice_PDU);
279
0
  return offset;
280
0
}
281
282
283
284
/*--- proto_register_pkix1implicit ----------------------------------------------*/
285
15
void proto_register_pkix1implicit(void) {
286
287
  /* List of fields */
288
15
  static hf_register_info hf[] = {
289
15
    { &hf_pkix1implicit_Dummy_PDU,
290
15
      { "Dummy", "pkix1implicit.Dummy_element",
291
15
        FT_NONE, BASE_NONE, NULL, 0,
292
15
        NULL, HFILL }},
293
15
    { &hf_pkix1implicit_AuthorityInfoAccessSyntax_PDU,
294
15
      { "AuthorityInfoAccessSyntax", "pkix1implicit.AuthorityInfoAccessSyntax",
295
15
        FT_UINT32, BASE_DEC, NULL, 0,
296
15
        NULL, HFILL }},
297
15
    { &hf_pkix1implicit_UserNotice_PDU,
298
15
      { "UserNotice", "pkix1implicit.UserNotice_element",
299
15
        FT_NONE, BASE_NONE, NULL, 0,
300
15
        NULL, HFILL }},
301
15
    { &hf_pkix1implicit_AuthorityInfoAccessSyntax_item,
302
15
      { "AccessDescription", "pkix1implicit.AccessDescription_element",
303
15
        FT_NONE, BASE_NONE, NULL, 0,
304
15
        NULL, HFILL }},
305
15
    { &hf_pkix1implicit_accessMethod,
306
15
      { "accessMethod", "pkix1implicit.accessMethod",
307
15
        FT_OID, BASE_NONE, NULL, 0,
308
15
        "OBJECT_IDENTIFIER", HFILL }},
309
15
    { &hf_pkix1implicit_accessLocation,
310
15
      { "accessLocation", "pkix1implicit.accessLocation",
311
15
        FT_UINT32, BASE_DEC, NULL, 0,
312
15
        "GeneralName", HFILL }},
313
15
    { &hf_pkix1implicit_noticeRef,
314
15
      { "noticeRef", "pkix1implicit.noticeRef_element",
315
15
        FT_NONE, BASE_NONE, NULL, 0,
316
15
        "NoticeReference", HFILL }},
317
15
    { &hf_pkix1implicit_explicitText,
318
15
      { "explicitText", "pkix1implicit.explicitText",
319
15
        FT_UINT32, BASE_DEC, VALS(pkix1implicit_DisplayText_vals), 0,
320
15
        "DisplayText", HFILL }},
321
15
    { &hf_pkix1implicit_organization,
322
15
      { "organization", "pkix1implicit.organization",
323
15
        FT_UINT32, BASE_DEC, VALS(pkix1implicit_DisplayText_vals), 0,
324
15
        "DisplayText", HFILL }},
325
15
    { &hf_pkix1implicit_noticeNumbers,
326
15
      { "noticeNumbers", "pkix1implicit.noticeNumbers",
327
15
        FT_UINT32, BASE_DEC, NULL, 0,
328
15
        NULL, HFILL }},
329
15
    { &hf_pkix1implicit_noticeNumbers_item,
330
15
      { "noticeNumbers item", "pkix1implicit.noticeNumbers_item",
331
15
        FT_INT32, BASE_DEC, NULL, 0,
332
15
        "INTEGER", HFILL }},
333
15
    { &hf_pkix1implicit_ia5String,
334
15
      { "ia5String", "pkix1implicit.ia5String",
335
15
        FT_STRING, BASE_NONE, NULL, 0,
336
15
        NULL, HFILL }},
337
15
    { &hf_pkix1implicit_visibleString,
338
15
      { "visibleString", "pkix1implicit.visibleString",
339
15
        FT_STRING, BASE_NONE, NULL, 0,
340
15
        NULL, HFILL }},
341
15
    { &hf_pkix1implicit_bmpString,
342
15
      { "bmpString", "pkix1implicit.bmpString",
343
15
        FT_STRING, BASE_NONE, NULL, 0,
344
15
        NULL, HFILL }},
345
15
    { &hf_pkix1implicit_utf8String,
346
15
      { "utf8String", "pkix1implicit.utf8String",
347
15
        FT_STRING, BASE_NONE, NULL, 0,
348
15
        NULL, HFILL }},
349
15
  };
350
351
  /* List of subtrees */
352
15
  static int *ett[] = {
353
15
    &ett_pkix1implicit_AuthorityInfoAccessSyntax,
354
15
    &ett_pkix1implicit_AccessDescription,
355
15
    &ett_pkix1implicit_UserNotice,
356
15
    &ett_pkix1implicit_NoticeReference,
357
15
    &ett_pkix1implicit_T_noticeNumbers,
358
15
    &ett_pkix1implicit_DisplayText,
359
15
  };
360
361
  /* Register protocol */
362
15
  proto_pkix1implicit = proto_register_protocol("PKIX1Implicit", "PKIX1IMPLICIT", "pkix1implicit");
363
364
  /* Register fields and subtrees */
365
15
  proto_register_field_array(proto_pkix1implicit, hf, array_length(hf));
366
15
  proto_register_subtree_array(ett, array_length(ett));
367
368
15
}
369
370
371
/*--- proto_reg_handoff_pkix1implicit -------------------------------------------*/
372
15
void proto_reg_handoff_pkix1implicit(void) {
373
15
  register_ber_oid_dissector("1.3.6.1.5.5.7.1.1", dissect_AuthorityInfoAccessSyntax_PDU, proto_pkix1implicit, "id-pe-authorityInfoAccess");
374
15
  register_ber_oid_dissector("1.3.6.1.5.5.7.48.1", dissect_Dummy_PDU, proto_pkix1implicit, "id-ad-ocsp");
375
15
  register_ber_oid_dissector("1.3.6.1.5.5.7.48.2", dissect_Dummy_PDU, proto_pkix1implicit, "id-ad-caIssuers");
376
15
  register_ber_oid_dissector("1.3.6.1.5.5.7.3.1", dissect_Dummy_PDU, proto_pkix1implicit, "id-kp-serverAuth");
377
15
  register_ber_oid_dissector("1.3.6.1.5.5.7.3.2", dissect_Dummy_PDU, proto_pkix1implicit, "id-kp-clientAuth");
378
15
  register_ber_oid_dissector("1.3.6.1.5.5.7.3.3", dissect_Dummy_PDU, proto_pkix1implicit, "id-kp-codeSigning");
379
15
  register_ber_oid_dissector("1.3.6.1.5.5.7.3.4", dissect_Dummy_PDU, proto_pkix1implicit, "id-kp-emailProtection");
380
15
  register_ber_oid_dissector("1.3.6.1.5.5.7.3.5", dissect_Dummy_PDU, proto_pkix1implicit, "id-kp-ip-kp-ipsecEndSystem");
381
15
  register_ber_oid_dissector("1.3.6.1.5.5.7.3.6", dissect_Dummy_PDU, proto_pkix1implicit, "id-kp-ipsecTunnel");
382
15
  register_ber_oid_dissector("1.3.6.1.5.5.7.3.7", dissect_Dummy_PDU, proto_pkix1implicit, "id-kp-ipsecUser");
383
15
  register_ber_oid_dissector("1.3.6.1.5.5.7.3.8", dissect_Dummy_PDU, proto_pkix1implicit, "id-kp-timeStamping");
384
15
  register_ber_oid_dissector("1.3.6.1.5.5.7.3.9", dissect_Dummy_PDU, proto_pkix1implicit, "OCSPSigning");
385
15
  register_ber_oid_dissector("1.3.6.1.4.1.311.10.12.1", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-any-application-policy");
386
15
  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");
387
15
  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");
388
15
  register_ber_oid_dissector("1.3.6.1.4.1.311.10.3.4", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-kp-efs");
389
15
  register_ber_oid_dissector("1.3.6.1.4.1.311.10.3.4.1", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-efs-recovery");
390
15
  register_ber_oid_dissector("1.3.6.1.4.1.311.10.3.5", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-whql-crypto");
391
15
  register_ber_oid_dissector("1.3.6.1.4.1.311.10.3.6", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-nt5-crypto");
392
15
  register_ber_oid_dissector("1.3.6.1.4.1.311.10.3.7", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-oem-whql-crypto");
393
15
  register_ber_oid_dissector("1.3.6.1.4.1.311.10.3.8", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-embedded-nt-crypto");
394
15
  register_ber_oid_dissector("1.3.6.1.4.1.311.10.3.9", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-root-list-signer");
395
15
  register_ber_oid_dissector("1.3.6.1.4.1.311.10.3.10", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-kp-qualified-subordination");
396
15
  register_ber_oid_dissector("1.3.6.1.4.1.311.10.3.11", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-kp-key-recovery");
397
15
  register_ber_oid_dissector("1.3.6.1.4.1.311.10.3.12", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-kp-document-signing");
398
15
  register_ber_oid_dissector("1.3.6.1.4.1.311.10.3.13", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-kp-lifetime-signing");
399
15
  register_ber_oid_dissector("1.3.6.1.4.1.311.10.5.1", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-drm");
400
15
  register_ber_oid_dissector("1.3.6.1.4.1.311.10.6.1", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-licenses");
401
15
  register_ber_oid_dissector("1.3.6.1.4.1.311.10.6.2", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-license-server");
402
15
  register_ber_oid_dissector("1.3.6.1.4.1.311.20.1", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-auto-enroll-ctl-usage");
403
15
  register_ber_oid_dissector("1.3.6.1.4.1.311.20.2.1", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-enrollment-agent");
404
15
  register_ber_oid_dissector("1.3.6.1.4.1.311.20.2.2", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-kp-smartcard-logon");
405
15
  register_ber_oid_dissector("1.3.6.1.4.1.311.21.5", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-kp-ca-exchange");
406
15
  register_ber_oid_dissector("1.3.6.1.4.1.311.21.6", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-kp-key-recovery-agent");
407
15
  register_ber_oid_dissector("1.3.6.1.4.1.311.21.19", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-ds-email-replication");
408
15
  register_ber_oid_dissector("1.3.6.1.5.5.8.2.2", dissect_Dummy_PDU, proto_pkix1implicit, "id-ms-ipsec-kp-ike-intermediate");
409
15
  register_ber_oid_dissector("1.3.6.1.5.5.7.2.2", dissect_UserNotice_PDU, proto_pkix1implicit, "id-qt-unotice");
410
411
15
}
412