Coverage Report

Created: 2023-06-08 06:40

/src/openssl/crypto/params_idx.c
Line
Count
Source (jump to first uncovered line)
1
/*
2
 * WARNING: do not edit!
3
 * Generated by Makefile from crypto/params_idx.c.in
4
 *
5
 * Copyright 2023 The OpenSSL Project Authors. All Rights Reserved.
6
 *
7
 * Licensed under the Apache License 2.0 (the "License").  You may not use
8
 * this file except in compliance with the License.  You can obtain a copy
9
 * in the file LICENSE in the source distribution or at
10
 * https://www.openssl.org/source/license.html
11
 */
12
13
14
#include "internal/e_os.h"
15
#include "internal/param_names.h"
16
#include <string.h>
17
18
/* Machine generated TRIE -- generated by util/perl/OpenSSL/paramnames.pm */
19
int ossl_param_find_pidx(const char *s)
20
0
{
21
0
    switch(s[0]) {
22
0
    default:
23
0
        break;
24
0
    case 'a':
25
0
        switch(s[1]) {
26
0
        default:
27
0
            break;
28
0
        case 'c':
29
0
            if (strcmp("vp-info", s + 2) == 0)
30
0
                return PIDX_KDF_PARAM_X942_ACVPINFO;
31
0
            break;
32
0
        case 'd':
33
0
            switch(s[2]) {
34
0
            default:
35
0
                break;
36
0
            case '\0':
37
0
                return PIDX_KDF_PARAM_ARGON2_AD;
38
0
            }
39
0
            break;
40
0
        case 'e':
41
0
            if (strcmp("ad", s + 2) == 0)
42
0
                return PIDX_CIPHER_PARAM_AEAD;
43
0
            break;
44
0
        case 'l':
45
0
            switch(s[2]) {
46
0
            default:
47
0
                break;
48
0
            case 'g':
49
0
                switch(s[3]) {
50
0
                default:
51
0
                    break;
52
0
                case '_':
53
0
                    if (strcmp("id_param", s + 4) == 0)
54
0
                        return PIDX_CIPHER_PARAM_ALGORITHM_ID_PARAMS;
55
0
                    break;
56
0
                case 'i':
57
0
                    if (strcmp("d-absent", s + 4) == 0)
58
0
                        return PIDX_DIGEST_PARAM_ALGID_ABSENT;
59
0
                    break;
60
0
                case 'o':
61
0
                    if (strcmp("rithm-id", s + 4) == 0)
62
0
                        return PIDX_SIGNATURE_PARAM_ALGORITHM_ID;
63
0
                }
64
0
                break;
65
0
            case 'i':
66
0
                if (strcmp("as", s + 3) == 0)
67
0
                    return PIDX_STORE_PARAM_ALIAS;
68
0
            }
69
0
            break;
70
0
        case '\0':
71
0
            return PIDX_PKEY_PARAM_EC_A;
72
0
        }
73
0
        break;
74
0
    case 'b':
75
0
        switch(s[1]) {
76
0
        default:
77
0
            break;
78
0
        case 'a':
79
0
            if (strcmp("sis-type", s + 2) == 0)
80
0
                return PIDX_PKEY_PARAM_EC_CHAR2_TYPE;
81
0
            break;
82
0
        case 'i':
83
0
            if (strcmp("ts", s + 2) == 0)
84
0
                return PIDX_PKEY_PARAM_BITS;
85
0
            break;
86
0
        case 'l':
87
0
            switch(s[2]) {
88
0
            default:
89
0
                break;
90
0
            case 'o':
91
0
                switch(s[3]) {
92
0
                default:
93
0
                    break;
94
0
                case 'c':
95
0
                    switch(s[4]) {
96
0
                    default:
97
0
                        break;
98
0
                    case 'k':
99
0
                        switch(s[5]) {
100
0
                        default:
101
0
                            break;
102
0
                        case '-':
103
0
                            if (strcmp("size", s + 6) == 0)
104
0
                                return PIDX_MAC_PARAM_BLOCK_SIZE;
105
0
                            break;
106
0
                        case '_':
107
0
                            if (strcmp("padding", s + 6) == 0)
108
0
                                return PIDX_LIBSSL_RECORD_LAYER_PARAM_BLOCK_PADDING;
109
0
                            break;
110
0
                        case 's':
111
0
                            if (strcmp("ize", s + 6) == 0)
112
0
                                return PIDX_CIPHER_PARAM_BLOCK_SIZE;
113
0
                        }
114
0
                    }
115
0
                }
116
0
            }
117
0
            break;
118
0
        case 'u':
119
0
            if (strcmp("ildinfo", s + 2) == 0)
120
0
                return PIDX_PROV_PARAM_BUILDINFO;
121
0
            break;
122
0
        case '\0':
123
0
            return PIDX_PKEY_PARAM_EC_B;
124
0
        }
125
0
        break;
126
0
    case 'c':
127
0
        switch(s[1]) {
128
0
        default:
129
0
            break;
130
0
        case '-':
131
0
            if (strcmp("rounds", s + 2) == 0)
132
0
                return PIDX_MAC_PARAM_C_ROUNDS;
133
0
            break;
134
0
        case 'e':
135
0
            if (strcmp("kalg", s + 2) == 0)
136
0
                return PIDX_KDF_PARAM_CEK_ALG;
137
0
            break;
138
0
        case 'i':
139
0
            if (strcmp("pher", s + 2) == 0)
140
0
                return PIDX_ALG_PARAM_CIPHER;
141
0
            break;
142
0
        case 'o':
143
0
            switch(s[2]) {
144
0
            default:
145
0
                break;
146
0
            case 'f':
147
0
                if (strcmp("actor", s + 3) == 0)
148
0
                    return PIDX_PKEY_PARAM_EC_COFACTOR;
149
0
                break;
150
0
            case 'n':
151
0
                switch(s[3]) {
152
0
                default:
153
0
                    break;
154
0
                case 's':
155
0
                    if (strcmp("tant", s + 4) == 0)
156
0
                        return PIDX_KDF_PARAM_CONSTANT;
157
0
                    break;
158
0
                case 't':
159
0
                    if (strcmp("ext-string", s + 4) == 0)
160
0
                        return PIDX_SIGNATURE_PARAM_CONTEXT_STRING;
161
0
                }
162
0
            }
163
0
            break;
164
0
        case 't':
165
0
            switch(s[2]) {
166
0
            default:
167
0
                break;
168
0
            case 's':
169
0
                switch(s[3]) {
170
0
                default:
171
0
                    break;
172
0
                case '_':
173
0
                    if (strcmp("mode", s + 4) == 0)
174
0
                        return PIDX_CIPHER_PARAM_CTS_MODE;
175
0
                    break;
176
0
                case '\0':
177
0
                    return PIDX_CIPHER_PARAM_CTS;
178
0
                }
179
0
            }
180
0
            break;
181
0
        case 'u':
182
0
            switch(s[2]) {
183
0
            default:
184
0
                break;
185
0
            case 's':
186
0
                switch(s[3]) {
187
0
                default:
188
0
                    break;
189
0
                case 't':
190
0
                    switch(s[4]) {
191
0
                    default:
192
0
                        break;
193
0
                    case 'o':
194
0
                        switch(s[5]) {
195
0
                        default:
196
0
                            break;
197
0
                        case 'm':
198
0
                            switch(s[6]) {
199
0
                            default:
200
0
                                break;
201
0
                            case '-':
202
0
                                if (strcmp("iv", s + 7) == 0)
203
0
                                    return PIDX_CIPHER_PARAM_CUSTOM_IV;
204
0
                                break;
205
0
                            case '\0':
206
0
                                return PIDX_MAC_PARAM_CUSTOM;
207
0
                            }
208
0
                        }
209
0
                    }
210
0
                }
211
0
            }
212
0
        }
213
0
        break;
214
0
    case 'd':
215
0
        switch(s[1]) {
216
0
        default:
217
0
            break;
218
0
        case '-':
219
0
            if (strcmp("rounds", s + 2) == 0)
220
0
                return PIDX_MAC_PARAM_D_ROUNDS;
221
0
            break;
222
0
        case 'a':
223
0
            switch(s[2]) {
224
0
            default:
225
0
                break;
226
0
            case 't':
227
0
                switch(s[3]) {
228
0
                default:
229
0
                    break;
230
0
                case 'a':
231
0
                    switch(s[4]) {
232
0
                    default:
233
0
                        break;
234
0
                    case '-':
235
0
                        switch(s[5]) {
236
0
                        default:
237
0
                            break;
238
0
                        case 's':
239
0
                            if (strcmp("tructure", s + 6) == 0)
240
0
                                return PIDX_OBJECT_PARAM_DATA_STRUCTURE;
241
0
                            break;
242
0
                        case 't':
243
0
                            if (strcmp("ype", s + 6) == 0)
244
0
                                return PIDX_OBJECT_PARAM_DATA_TYPE;
245
0
                        }
246
0
                        break;
247
0
                    case '\0':
248
0
                        return PIDX_KDF_PARAM_DATA;
249
0
                    }
250
0
                }
251
0
            }
252
0
            break;
253
0
        case 'e':
254
0
            switch(s[2]) {
255
0
            default:
256
0
                break;
257
0
            case 'c':
258
0
                if (strcmp("oded-from-explicit", s + 3) == 0)
259
0
                    return PIDX_PKEY_PARAM_EC_DECODED_FROM_EXPLICIT_PARAMS;
260
0
                break;
261
0
            case 'f':
262
0
                if (strcmp("ault-digest", s + 3) == 0)
263
0
                    return PIDX_PKEY_PARAM_DEFAULT_DIGEST;
264
0
                break;
265
0
            case 's':
266
0
                if (strcmp("c", s + 3) == 0)
267
0
                    return PIDX_OBJECT_PARAM_DESC;
268
0
            }
269
0
            break;
270
0
        case 'h':
271
0
            if (strcmp("kem-ikm", s + 2) == 0)
272
0
                return PIDX_PKEY_PARAM_DHKEM_IKM;
273
0
            break;
274
0
        case 'i':
275
0
            switch(s[2]) {
276
0
            default:
277
0
                break;
278
0
            case 'g':
279
0
                switch(s[3]) {
280
0
                default:
281
0
                    break;
282
0
                case 'e':
283
0
                    switch(s[4]) {
284
0
                    default:
285
0
                        break;
286
0
                    case 's':
287
0
                        switch(s[5]) {
288
0
                        default:
289
0
                            break;
290
0
                        case 't':
291
0
                            switch(s[6]) {
292
0
                            default:
293
0
                                break;
294
0
                            case '-':
295
0
                                switch(s[7]) {
296
0
                                default:
297
0
                                    break;
298
0
                                case 'n':
299
0
                                    if (strcmp("oinit", s + 8) == 0)
300
0
                                        return PIDX_MAC_PARAM_DIGEST_NOINIT;
301
0
                                    break;
302
0
                                case 'o':
303
0
                                    if (strcmp("neshot", s + 8) == 0)
304
0
                                        return PIDX_MAC_PARAM_DIGEST_ONESHOT;
305
0
                                    break;
306
0
                                case 'p':
307
0
                                    if (strcmp("rops", s + 8) == 0)
308
0
                                        return PIDX_ASYM_CIPHER_PARAM_OAEP_DIGEST_PROPS;
309
0
                                    break;
310
0
                                case 's':
311
0
                                    if (strcmp("ize", s + 8) == 0)
312
0
                                        return PIDX_PKEY_PARAM_DIGEST_SIZE;
313
0
                                }
314
0
                                break;
315
0
                            case '\0':
316
0
                                return PIDX_STORE_PARAM_DIGEST;
317
0
                            }
318
0
                        }
319
0
                    }
320
0
                }
321
0
                break;
322
0
            case 's':
323
0
                if (strcmp("tid", s + 3) == 0)
324
0
                    return PIDX_PKEY_PARAM_DIST_ID;
325
0
            }
326
0
            break;
327
0
        case 'r':
328
0
            if (strcmp("bg-no-trunc-md", s + 2) == 0)
329
0
                return PIDX_PROV_PARAM_DRBG_TRUNC_DIGEST;
330
0
            break;
331
0
        case '\0':
332
0
            return PIDX_PKEY_PARAM_RSA_D;
333
0
        }
334
0
        break;
335
0
    case 'e':
336
0
        switch(s[1]) {
337
0
        default:
338
0
            break;
339
0
        case 'a':
340
0
            if (strcmp("rly_clean", s + 2) == 0)
341
0
                return PIDX_KDF_PARAM_EARLY_CLEAN;
342
0
            break;
343
0
        case 'c':
344
0
            if (strcmp("dh-cofactor-mode", s + 2) == 0)
345
0
                return PIDX_EXCHANGE_PARAM_EC_ECDH_COFACTOR_MODE;
346
0
            break;
347
0
        case 'n':
348
0
            switch(s[2]) {
349
0
            default:
350
0
                break;
351
0
            case 'c':
352
0
                switch(s[3]) {
353
0
                default:
354
0
                    break;
355
0
                case 'o':
356
0
                    switch(s[4]) {
357
0
                    default:
358
0
                        break;
359
0
                    case 'd':
360
0
                        switch(s[5]) {
361
0
                        default:
362
0
                            break;
363
0
                        case 'e':
364
0
                            if (strcmp("d-pub-key", s + 6) == 0)
365
0
                                return PIDX_PKEY_PARAM_ENCODED_PUBLIC_KEY;
366
0
                            break;
367
0
                        case 'i':
368
0
                            if (strcmp("ng", s + 6) == 0)
369
0
                                return PIDX_PKEY_PARAM_EC_ENCODING;
370
0
                        }
371
0
                    }
372
0
                    break;
373
0
                case 'r':
374
0
                    if (strcmp("ypt-level", s + 4) == 0)
375
0
                        return PIDX_ENCODER_PARAM_ENCRYPT_LEVEL;
376
0
                }
377
0
                break;
378
0
            case 'g':
379
0
                if (strcmp("ine", s + 3) == 0)
380
0
                    return PIDX_ALG_PARAM_ENGINE;
381
0
                break;
382
0
            case 't':
383
0
                switch(s[3]) {
384
0
                default:
385
0
                    break;
386
0
                case 'r':
387
0
                    switch(s[4]) {
388
0
                    default:
389
0
                        break;
390
0
                    case 'o':
391
0
                        switch(s[5]) {
392
0
                        default:
393
0
                            break;
394
0
                        case 'p':
395
0
                            switch(s[6]) {
396
0
                            default:
397
0
                                break;
398
0
                            case 'y':
399
0
                                switch(s[7]) {
400
0
                                default:
401
0
                                    break;
402
0
                                case '_':
403
0
                                    if (strcmp("required", s + 8) == 0)
404
0
                                        return PIDX_DRBG_PARAM_ENTROPY_REQUIRED;
405
0
                                    break;
406
0
                                case '\0':
407
0
                                    return PIDX_KDF_PARAM_HMACDRBG_ENTROPY;
408
0
                                }
409
0
                            }
410
0
                        }
411
0
                    }
412
0
                }
413
0
            }
414
0
            break;
415
0
        case '\0':
416
0
            return PIDX_PKEY_PARAM_RSA_E;
417
0
            break;
418
0
        case 'x':
419
0
            if (strcmp("pect", s + 2) == 0)
420
0
                return PIDX_STORE_PARAM_EXPECT;
421
0
        }
422
0
        break;
423
0
    case 'f':
424
0
        switch(s[1]) {
425
0
        default:
426
0
            break;
427
0
        case 'i':
428
0
            switch(s[2]) {
429
0
            default:
430
0
                break;
431
0
            case 'e':
432
0
                if (strcmp("ld-type", s + 3) == 0)
433
0
                    return PIDX_PKEY_PARAM_EC_FIELD_TYPE;
434
0
                break;
435
0
            case 'n':
436
0
                if (strcmp("gerprint", s + 3) == 0)
437
0
                    return PIDX_STORE_PARAM_FINGERPRINT;
438
0
            }
439
0
        }
440
0
        break;
441
0
    case 'g':
442
0
        switch(s[1]) {
443
0
        default:
444
0
            break;
445
0
        case 'e':
446
0
            if (strcmp("nerator", s + 2) == 0)
447
0
                return PIDX_PKEY_PARAM_EC_GENERATOR;
448
0
            break;
449
0
        case 'i':
450
0
            if (strcmp("ndex", s + 2) == 0)
451
0
                return PIDX_PKEY_PARAM_FFC_GINDEX;
452
0
            break;
453
0
        case 'r':
454
0
            switch(s[2]) {
455
0
            default:
456
0
                break;
457
0
            case 'o':
458
0
                switch(s[3]) {
459
0
                default:
460
0
                    break;
461
0
                case 'u':
462
0
                    switch(s[4]) {
463
0
                    default:
464
0
                        break;
465
0
                    case 'p':
466
0
                        switch(s[5]) {
467
0
                        default:
468
0
                            break;
469
0
                        case '-':
470
0
                            if (strcmp("check", s + 6) == 0)
471
0
                                return PIDX_PKEY_PARAM_EC_GROUP_CHECK_TYPE;
472
0
                            break;
473
0
                        case '\0':
474
0
                            return PIDX_PKEY_PARAM_GROUP_NAME;
475
0
                        }
476
0
                    }
477
0
                }
478
0
            }
479
0
            break;
480
0
        case '\0':
481
0
            return PIDX_PKEY_PARAM_FFC_G;
482
0
        }
483
0
        break;
484
0
    case 'h':
485
0
        switch(s[1]) {
486
0
        default:
487
0
            break;
488
0
        case 'a':
489
0
            if (strcmp("s-randkey", s + 2) == 0)
490
0
                return PIDX_CIPHER_PARAM_HAS_RAND_KEY;
491
0
            break;
492
0
        case 'i':
493
0
            if (strcmp("ndex", s + 2) == 0)
494
0
                return PIDX_PKEY_PARAM_FFC_H;
495
0
        }
496
0
        break;
497
0
    case 'i':
498
0
        switch(s[1]) {
499
0
        default:
500
0
            break;
501
0
        case 'd':
502
0
            switch(s[2]) {
503
0
            default:
504
0
                break;
505
0
            case '\0':
506
0
                return PIDX_KDF_PARAM_PKCS12_ID;
507
0
            }
508
0
            break;
509
0
        case 'k':
510
0
            if (strcmp("me", s + 2) == 0)
511
0
                return PIDX_KEM_PARAM_IKME;
512
0
            break;
513
0
        case 'm':
514
0
            if (strcmp("plicit-rejection", s + 2) == 0)
515
0
                return PIDX_PKEY_PARAM_IMPLICIT_REJECTION;
516
0
            break;
517
0
        case 'n':
518
0
            switch(s[2]) {
519
0
            default:
520
0
                break;
521
0
            case 'c':
522
0
                if (strcmp("lude-public", s + 3) == 0)
523
0
                    return PIDX_PKEY_PARAM_EC_INCLUDE_PUBLIC;
524
0
                break;
525
0
            case 'f':
526
0
                if (strcmp("o", s + 3) == 0)
527
0
                    return PIDX_PASSPHRASE_PARAM_INFO;
528
0
                break;
529
0
            case 'p':
530
0
                if (strcmp("ut-type", s + 3) == 0)
531
0
                    return PIDX_STORE_PARAM_INPUT_TYPE;
532
0
                break;
533
0
            case 's':
534
0
                if (strcmp("tance", s + 3) == 0)
535
0
                    return PIDX_SIGNATURE_PARAM_INSTANCE;
536
0
            }
537
0
            break;
538
0
        case 't':
539
0
            switch(s[2]) {
540
0
            default:
541
0
                break;
542
0
            case 'e':
543
0
                switch(s[3]) {
544
0
                default:
545
0
                    break;
546
0
                case 'r':
547
0
                    switch(s[4]) {
548
0
                    default:
549
0
                        break;
550
0
                    case 'a':
551
0
                        if (strcmp("tion", s + 5) == 0)
552
0
                            return PIDX_GEN_PARAM_ITERATION;
553
0
                        break;
554
0
                    case '\0':
555
0
                        return PIDX_KDF_PARAM_ITER;
556
0
                    }
557
0
                }
558
0
            }
559
0
            break;
560
0
        case 'v':
561
0
            switch(s[2]) {
562
0
            default:
563
0
                break;
564
0
            case 'l':
565
0
                if (strcmp("en", s + 3) == 0)
566
0
                    return PIDX_CIPHER_PARAM_IVLEN;
567
0
                break;
568
0
            case '\0':
569
0
                return PIDX_MAC_PARAM_IV;
570
0
            }
571
0
        }
572
0
        break;
573
0
    case 'j':
574
0
        switch(s[1]) {
575
0
        default:
576
0
            break;
577
0
        case '\0':
578
0
            return PIDX_PKEY_PARAM_FFC_COFACTOR;
579
0
        }
580
0
        break;
581
0
    case 'k':
582
0
        switch(s[1]) {
583
0
        default:
584
0
            break;
585
0
        case '1':
586
0
            switch(s[2]) {
587
0
            default:
588
0
                break;
589
0
            case '\0':
590
0
                return PIDX_PKEY_PARAM_EC_CHAR2_PP_K1;
591
0
            }
592
0
            break;
593
0
        case '2':
594
0
            switch(s[2]) {
595
0
            default:
596
0
                break;
597
0
            case '\0':
598
0
                return PIDX_PKEY_PARAM_EC_CHAR2_PP_K2;
599
0
            }
600
0
            break;
601
0
        case '3':
602
0
            switch(s[2]) {
603
0
            default:
604
0
                break;
605
0
            case '\0':
606
0
                return PIDX_PKEY_PARAM_EC_CHAR2_PP_K3;
607
0
            }
608
0
            break;
609
0
        case 'a':
610
0
            if (strcmp("t", s + 2) == 0)
611
0
                return PIDX_SIGNATURE_PARAM_KAT;
612
0
            break;
613
0
        case 'd':
614
0
            switch(s[2]) {
615
0
            default:
616
0
                break;
617
0
            case 'f':
618
0
                switch(s[3]) {
619
0
                default:
620
0
                    break;
621
0
                case '-':
622
0
                    switch(s[4]) {
623
0
                    default:
624
0
                        break;
625
0
                    case 'd':
626
0
                        switch(s[5]) {
627
0
                        default:
628
0
                            break;
629
0
                        case 'i':
630
0
                            switch(s[6]) {
631
0
                            default:
632
0
                                break;
633
0
                            case 'g':
634
0
                                switch(s[7]) {
635
0
                                default:
636
0
                                    break;
637
0
                                case 'e':
638
0
                                    switch(s[8]) {
639
0
                                    default:
640
0
                                        break;
641
0
                                    case 's':
642
0
                                        switch(s[9]) {
643
0
                                        default:
644
0
                                            break;
645
0
                                        case 't':
646
0
                                            switch(s[10]) {
647
0
                                            default:
648
0
                                                break;
649
0
                                            case '-':
650
0
                                                if (strcmp("props", s + 11) == 0)
651
0
                                                    return PIDX_EXCHANGE_PARAM_KDF_DIGEST_PROPS;
652
0
                                                break;
653
0
                                            case '\0':
654
0
                                                return PIDX_EXCHANGE_PARAM_KDF_DIGEST;
655
0
                                            }
656
0
                                        }
657
0
                                    }
658
0
                                }
659
0
                            }
660
0
                        }
661
0
                        break;
662
0
                    case 'o':
663
0
                        if (strcmp("utlen", s + 5) == 0)
664
0
                            return PIDX_EXCHANGE_PARAM_KDF_OUTLEN;
665
0
                        break;
666
0
                    case 't':
667
0
                        if (strcmp("ype", s + 5) == 0)
668
0
                            return PIDX_EXCHANGE_PARAM_KDF_TYPE;
669
0
                        break;
670
0
                    case 'u':
671
0
                        if (strcmp("km", s + 5) == 0)
672
0
                            return PIDX_EXCHANGE_PARAM_KDF_UKM;
673
0
                    }
674
0
                }
675
0
            }
676
0
            break;
677
0
        case 'e':
678
0
            switch(s[2]) {
679
0
            default:
680
0
                break;
681
0
            case 'y':
682
0
                switch(s[3]) {
683
0
                default:
684
0
                    break;
685
0
                case 'b':
686
0
                    if (strcmp("its", s + 4) == 0)
687
0
                        return PIDX_CIPHER_PARAM_RC2_KEYBITS;
688
0
                    break;
689
0
                case 'l':
690
0
                    if (strcmp("en", s + 4) == 0)
691
0
                        return PIDX_CIPHER_PARAM_KEYLEN;
692
0
                    break;
693
0
                case '\0':
694
0
                    return PIDX_KDF_PARAM_KEY;
695
0
                }
696
0
            }
697
0
        }
698
0
        break;
699
0
    case 'l':
700
0
        switch(s[1]) {
701
0
        default:
702
0
            break;
703
0
        case 'a':
704
0
            switch(s[2]) {
705
0
            default:
706
0
                break;
707
0
            case 'b':
708
0
                if (strcmp("el", s + 3) == 0)
709
0
                    return PIDX_KDF_PARAM_LABEL;
710
0
                break;
711
0
            case 'n':
712
0
                if (strcmp("es", s + 3) == 0)
713
0
                    return PIDX_KDF_PARAM_ARGON2_LANES;
714
0
            }
715
0
        }
716
0
        break;
717
0
    case 'm':
718
0
        switch(s[1]) {
719
0
        default:
720
0
            break;
721
0
        case 'a':
722
0
            switch(s[2]) {
723
0
            default:
724
0
                break;
725
0
            case 'c':
726
0
                switch(s[3]) {
727
0
                default:
728
0
                    break;
729
0
                case 'k':
730
0
                    if (strcmp("ey", s + 4) == 0)
731
0
                        return PIDX_CIPHER_PARAM_AEAD_MAC_KEY;
732
0
                    break;
733
0
                case 'l':
734
0
                    if (strcmp("en", s + 4) == 0)
735
0
                        return PIDX_KDF_PARAM_MAC_SIZE;
736
0
                    break;
737
0
                case '\0':
738
0
                    return PIDX_ALG_PARAM_MAC;
739
0
                }
740
0
                break;
741
0
            case 'n':
742
0
                if (strcmp("datory-digest", s + 3) == 0)
743
0
                    return PIDX_PKEY_PARAM_MANDATORY_DIGEST;
744
0
                break;
745
0
            case 'x':
746
0
                switch(s[3]) {
747
0
                default:
748
0
                    break;
749
0
                case '-':
750
0
                    if (strcmp("size", s + 4) == 0)
751
0
                        return PIDX_PKEY_PARAM_MAX_SIZE;
752
0
                    break;
753
0
                case '_':
754
0
                    switch(s[4]) {
755
0
                    default:
756
0
                        break;
757
0
                    case 'a':
758
0
                        if (strcmp("dinlen", s + 5) == 0)
759
0
                            return PIDX_DRBG_PARAM_MAX_ADINLEN;
760
0
                        break;
761
0
                    case 'e':
762
0
                        switch(s[5]) {
763
0
                        default:
764
0
                            break;
765
0
                        case 'a':
766
0
                            if (strcmp("rly_data", s + 6) == 0)
767
0
                                return PIDX_LIBSSL_RECORD_LAYER_PARAM_MAX_EARLY_DATA;
768
0
                            break;
769
0
                        case 'n':
770
0
                            if (strcmp("tropylen", s + 6) == 0)
771
0
                                return PIDX_DRBG_PARAM_MAX_ENTROPYLEN;
772
0
                        }
773
0
                        break;
774
0
                    case 'f':
775
0
                        if (strcmp("rag_len", s + 5) == 0)
776
0
                            return PIDX_LIBSSL_RECORD_LAYER_PARAM_MAX_FRAG_LEN;
777
0
                        break;
778
0
                    case 'n':
779
0
                        if (strcmp("oncelen", s + 5) == 0)
780
0
                            return PIDX_DRBG_PARAM_MAX_NONCELEN;
781
0
                        break;
782
0
                    case 'p':
783
0
                        if (strcmp("erslen", s + 5) == 0)
784
0
                            return PIDX_DRBG_PARAM_MAX_PERSLEN;
785
0
                        break;
786
0
                    case 'r':
787
0
                        if (strcmp("equest", s + 5) == 0)
788
0
                            return PIDX_RAND_PARAM_MAX_REQUEST;
789
0
                    }
790
0
                    break;
791
0
                case 'i':
792
0
                    if (strcmp("um_length", s + 4) == 0)
793
0
                        return PIDX_DRBG_PARAM_MAX_LENGTH;
794
0
                    break;
795
0
                case 'm':
796
0
                    if (strcmp("em_bytes", s + 4) == 0)
797
0
                        return PIDX_KDF_PARAM_SCRYPT_MAXMEM;
798
0
                }
799
0
            }
800
0
            break;
801
0
        case 'e':
802
0
            if (strcmp("mcost", s + 2) == 0)
803
0
                return PIDX_KDF_PARAM_ARGON2_MEMCOST;
804
0
            break;
805
0
        case 'g':
806
0
            switch(s[2]) {
807
0
            default:
808
0
                break;
809
0
            case 'f':
810
0
                switch(s[3]) {
811
0
                default:
812
0
                    break;
813
0
                case '1':
814
0
                    switch(s[4]) {
815
0
                    default:
816
0
                        break;
817
0
                    case '-':
818
0
                        switch(s[5]) {
819
0
                        default:
820
0
                            break;
821
0
                        case 'd':
822
0
                            if (strcmp("igest", s + 6) == 0)
823
0
                                return PIDX_PKEY_PARAM_MGF1_DIGEST;
824
0
                            break;
825
0
                        case 'p':
826
0
                            if (strcmp("roperties", s + 6) == 0)
827
0
                                return PIDX_PKEY_PARAM_MGF1_PROPERTIES;
828
0
                        }
829
0
                    }
830
0
                    break;
831
0
                case '\0':
832
0
                    return PIDX_PKEY_PARAM_MASKGENFUNC;
833
0
                }
834
0
            }
835
0
            break;
836
0
        case 'i':
837
0
            switch(s[2]) {
838
0
            default:
839
0
                break;
840
0
            case 'c':
841
0
                if (strcmp("alg", s + 3) == 0)
842
0
                    return PIDX_DIGEST_PARAM_MICALG;
843
0
                break;
844
0
            case 'n':
845
0
                switch(s[3]) {
846
0
                default:
847
0
                    break;
848
0
                case '_':
849
0
                    switch(s[4]) {
850
0
                    default:
851
0
                        break;
852
0
                    case 'e':
853
0
                        if (strcmp("ntropylen", s + 5) == 0)
854
0
                            return PIDX_DRBG_PARAM_MIN_ENTROPYLEN;
855
0
                        break;
856
0
                    case 'n':
857
0
                        if (strcmp("oncelen", s + 5) == 0)
858
0
                            return PIDX_DRBG_PARAM_MIN_NONCELEN;
859
0
                    }
860
0
                    break;
861
0
                case 'i':
862
0
                    if (strcmp("um_length", s + 4) == 0)
863
0
                        return PIDX_DRBG_PARAM_MIN_LENGTH;
864
0
                }
865
0
            }
866
0
            break;
867
0
        case 'o':
868
0
            switch(s[2]) {
869
0
            default:
870
0
                break;
871
0
            case 'd':
872
0
                switch(s[3]) {
873
0
                default:
874
0
                    break;
875
0
                case 'e':
876
0
                    switch(s[4]) {
877
0
                    default:
878
0
                        break;
879
0
                    case '\0':
880
0
                        return PIDX_CIPHER_PARAM_MODE;
881
0
                    }
882
0
                    break;
883
0
                case 'u':
884
0
                    if (strcmp("le-filename", s + 4) == 0)
885
0
                        return PIDX_PROV_PARAM_CORE_MODULE_FILENAME;
886
0
                }
887
0
            }
888
0
            break;
889
0
        case '\0':
890
0
            return PIDX_PKEY_PARAM_EC_CHAR2_M;
891
0
        }
892
0
        break;
893
0
    case 'n':
894
0
        switch(s[1]) {
895
0
        default:
896
0
            break;
897
0
        case 'a':
898
0
            if (strcmp("me", s + 2) == 0)
899
0
                return PIDX_STORE_PARAM_ISSUER;
900
0
            break;
901
0
        case 'o':
902
0
            switch(s[2]) {
903
0
            default:
904
0
                break;
905
0
            case 'n':
906
0
                switch(s[3]) {
907
0
                default:
908
0
                    break;
909
0
                case 'c':
910
0
                    switch(s[4]) {
911
0
                    default:
912
0
                        break;
913
0
                    case 'e':
914
0
                        switch(s[5]) {
915
0
                        default:
916
0
                            break;
917
0
                        case '-':
918
0
                            if (strcmp("type", s + 6) == 0)
919
0
                                return PIDX_SIGNATURE_PARAM_NONCE_TYPE;
920
0
                            break;
921
0
                        case '\0':
922
0
                            return PIDX_KDF_PARAM_HMACDRBG_NONCE;
923
0
                        }
924
0
                    }
925
0
                }
926
0
            }
927
0
            break;
928
0
        case 'u':
929
0
            if (strcmp("m", s + 2) == 0)
930
0
                return PIDX_CIPHER_PARAM_NUM;
931
0
            break;
932
0
        case '\0':
933
0
            return PIDX_PKEY_PARAM_RSA_N;
934
0
        }
935
0
        break;
936
0
    case 'o':
937
0
        switch(s[1]) {
938
0
        default:
939
0
            break;
940
0
        case 'a':
941
0
            if (strcmp("ep-label", s + 2) == 0)
942
0
                return PIDX_ASYM_CIPHER_PARAM_OAEP_LABEL;
943
0
            break;
944
0
        case 'p':
945
0
            switch(s[2]) {
946
0
            default:
947
0
                break;
948
0
            case 'e':
949
0
                switch(s[3]) {
950
0
                default:
951
0
                    break;
952
0
                case 'n':
953
0
                    if (strcmp("ssl-version", s + 4) == 0)
954
0
                        return PIDX_PROV_PARAM_CORE_VERSION;
955
0
                    break;
956
0
                case 'r':
957
0
                    if (strcmp("ation", s + 4) == 0)
958
0
                        return PIDX_KEM_PARAM_OPERATION;
959
0
                }
960
0
                break;
961
0
            case 't':
962
0
                if (strcmp("ions", s + 3) == 0)
963
0
                    return PIDX_LIBSSL_RECORD_LAYER_PARAM_OPTIONS;
964
0
            }
965
0
            break;
966
0
        case 'r':
967
0
            if (strcmp("der", s + 2) == 0)
968
0
                return PIDX_PKEY_PARAM_EC_ORDER;
969
0
        }
970
0
        break;
971
0
    case 'p':
972
0
        switch(s[1]) {
973
0
        default:
974
0
            break;
975
0
        case '1':
976
0
            switch(s[2]) {
977
0
            default:
978
0
                break;
979
0
            case '\0':
980
0
                return PIDX_PKEY_PARAM_RSA_TEST_P1;
981
0
            }
982
0
            break;
983
0
        case '2':
984
0
            switch(s[2]) {
985
0
            default:
986
0
                break;
987
0
            case '\0':
988
0
                return PIDX_PKEY_PARAM_RSA_TEST_P2;
989
0
            }
990
0
            break;
991
0
        case 'a':
992
0
            switch(s[2]) {
993
0
            default:
994
0
                break;
995
0
            case 'd':
996
0
                switch(s[3]) {
997
0
                default:
998
0
                    break;
999
0
                case '-':
1000
0
                    switch(s[4]) {
1001
0
                    default:
1002
0
                        break;
1003
0
                    case 'm':
1004
0
                        if (strcmp("ode", s + 5) == 0)
1005
0
                            return PIDX_PKEY_PARAM_PAD_MODE;
1006
0
                        break;
1007
0
                    case 't':
1008
0
                        if (strcmp("ype", s + 5) == 0)
1009
0
                            return PIDX_DIGEST_PARAM_PAD_TYPE;
1010
0
                    }
1011
0
                    break;
1012
0
                case 'd':
1013
0
                    if (strcmp("ing", s + 4) == 0)
1014
0
                        return PIDX_CIPHER_PARAM_PADDING;
1015
0
                    break;
1016
0
                case '\0':
1017
0
                    return PIDX_EXCHANGE_PARAM_PAD;
1018
0
                }
1019
0
                break;
1020
0
            case 'r':
1021
0
                switch(s[3]) {
1022
0
                default:
1023
0
                    break;
1024
0
                case 't':
1025
0
                    switch(s[4]) {
1026
0
                    default:
1027
0
                        break;
1028
0
                    case 'y':
1029
0
                        switch(s[5]) {
1030
0
                        default:
1031
0
                            break;
1032
0
                        case 'u':
1033
0
                            if (strcmp("-info", s + 6) == 0)
1034
0
                                return PIDX_KDF_PARAM_X942_PARTYUINFO;
1035
0
                            break;
1036
0
                        case 'v':
1037
0
                            if (strcmp("-info", s + 6) == 0)
1038
0
                                return PIDX_KDF_PARAM_X942_PARTYVINFO;
1039
0
                        }
1040
0
                    }
1041
0
                }
1042
0
                break;
1043
0
            case 's':
1044
0
                if (strcmp("s", s + 3) == 0)
1045
0
                    return PIDX_KDF_PARAM_PASSWORD;
1046
0
            }
1047
0
            break;
1048
0
        case 'b':
1049
0
            if (strcmp("its", s + 2) == 0)
1050
0
                return PIDX_PKEY_PARAM_FFC_PBITS;
1051
0
            break;
1052
0
        case 'c':
1053
0
            if (strcmp("ounter", s + 2) == 0)
1054
0
                return PIDX_PKEY_PARAM_FFC_PCOUNTER;
1055
0
            break;
1056
0
        case 'k':
1057
0
            if (strcmp("cs5", s + 2) == 0)
1058
0
                return PIDX_KDF_PARAM_PKCS5;
1059
0
            break;
1060
0
        case 'o':
1061
0
            switch(s[2]) {
1062
0
            default:
1063
0
                break;
1064
0
            case 'i':
1065
0
                if (strcmp("nt-format", s + 3) == 0)
1066
0
                    return PIDX_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT;
1067
0
                break;
1068
0
            case 't':
1069
0
                if (strcmp("ential", s + 3) == 0)
1070
0
                    return PIDX_GEN_PARAM_POTENTIAL;
1071
0
            }
1072
0
            break;
1073
0
        case 'r':
1074
0
            switch(s[2]) {
1075
0
            default:
1076
0
                break;
1077
0
            case 'e':
1078
0
                switch(s[3]) {
1079
0
                default:
1080
0
                    break;
1081
0
                case 'd':
1082
0
                    if (strcmp("iction_resistance", s + 4) == 0)
1083
0
                        return PIDX_DRBG_PARAM_PREDICTION_RESISTANCE;
1084
0
                    break;
1085
0
                case 'f':
1086
0
                    if (strcmp("ix", s + 4) == 0)
1087
0
                        return PIDX_KDF_PARAM_PREFIX;
1088
0
                }
1089
0
                break;
1090
0
            case 'i':
1091
0
                switch(s[3]) {
1092
0
                default:
1093
0
                    break;
1094
0
                case 'm':
1095
0
                    if (strcmp("es", s + 4) == 0)
1096
0
                        return PIDX_PKEY_PARAM_RSA_PRIMES;
1097
0
                    break;
1098
0
                case 'v':
1099
0
                    switch(s[4]) {
1100
0
                    default:
1101
0
                        break;
1102
0
                    case '_':
1103
0
                        if (strcmp("len", s + 5) == 0)
1104
0
                            return PIDX_PKEY_PARAM_DH_PRIV_LEN;
1105
0
                        break;
1106
0
                    case '\0':
1107
0
                        return PIDX_PKEY_PARAM_PRIV_KEY;
1108
0
                    }
1109
0
                }
1110
0
                break;
1111
0
            case 'o':
1112
0
                switch(s[3]) {
1113
0
                default:
1114
0
                    break;
1115
0
                case 'p':
1116
0
                    if (strcmp("erties", s + 4) == 0)
1117
0
                        return PIDX_ALG_PARAM_PROPERTIES;
1118
0
                    break;
1119
0
                case 'v':
1120
0
                    if (strcmp("ider-name", s + 4) == 0)
1121
0
                        return PIDX_PROV_PARAM_CORE_PROV_NAME;
1122
0
                }
1123
0
            }
1124
0
            break;
1125
0
        case 'u':
1126
0
            if (strcmp("b", s + 2) == 0)
1127
0
                return PIDX_PKEY_PARAM_PUB_KEY;
1128
0
            break;
1129
0
        case '\0':
1130
0
            return PIDX_KDF_PARAM_SCRYPT_P;
1131
0
        }
1132
0
        break;
1133
0
    case 'q':
1134
0
        switch(s[1]) {
1135
0
        default:
1136
0
            break;
1137
0
        case '1':
1138
0
            switch(s[2]) {
1139
0
            default:
1140
0
                break;
1141
0
            case '\0':
1142
0
                return PIDX_PKEY_PARAM_RSA_TEST_Q1;
1143
0
            }
1144
0
            break;
1145
0
        case '2':
1146
0
            switch(s[2]) {
1147
0
            default:
1148
0
                break;
1149
0
            case '\0':
1150
0
                return PIDX_PKEY_PARAM_RSA_TEST_Q2;
1151
0
            }
1152
0
            break;
1153
0
        case 'b':
1154
0
            if (strcmp("its", s + 2) == 0)
1155
0
                return PIDX_PKEY_PARAM_FFC_QBITS;
1156
0
            break;
1157
0
        case '\0':
1158
0
            return PIDX_PKEY_PARAM_FFC_Q;
1159
0
            break;
1160
0
        case 'x':
1161
0
            switch(s[2]) {
1162
0
            default:
1163
0
                break;
1164
0
            case '\0':
1165
0
                return PIDX_PKEY_PARAM_EC_PUB_X;
1166
0
            }
1167
0
            break;
1168
0
        case 'y':
1169
0
            switch(s[2]) {
1170
0
            default:
1171
0
                break;
1172
0
            case '\0':
1173
0
                return PIDX_PKEY_PARAM_EC_PUB_Y;
1174
0
            }
1175
0
        }
1176
0
        break;
1177
0
    case 'r':
1178
0
        switch(s[1]) {
1179
0
        default:
1180
0
            break;
1181
0
        case 'a':
1182
0
            switch(s[2]) {
1183
0
            default:
1184
0
                break;
1185
0
            case 'n':
1186
0
                switch(s[3]) {
1187
0
                default:
1188
0
                    break;
1189
0
                case 'd':
1190
0
                    switch(s[4]) {
1191
0
                    default:
1192
0
                        break;
1193
0
                    case 'k':
1194
0
                        if (strcmp("ey", s + 5) == 0)
1195
0
                            return PIDX_CIPHER_PARAM_RANDOM_KEY;
1196
0
                        break;
1197
0
                    case 'o':
1198
0
                        if (strcmp("m_data", s + 5) == 0)
1199
0
                            return PIDX_DRBG_PARAM_RANDOM_DATA;
1200
0
                    }
1201
0
                }
1202
0
            }
1203
0
            break;
1204
0
        case 'e':
1205
0
            switch(s[2]) {
1206
0
            default:
1207
0
                break;
1208
0
            case 'a':
1209
0
                switch(s[3]) {
1210
0
                default:
1211
0
                    break;
1212
0
                case 'd':
1213
0
                    switch(s[4]) {
1214
0
                    default:
1215
0
                        break;
1216
0
                    case '_':
1217
0
                        switch(s[5]) {
1218
0
                        default:
1219
0
                            break;
1220
0
                        case 'a':
1221
0
                            if (strcmp("head", s + 6) == 0)
1222
0
                                return PIDX_LIBSSL_RECORD_LAYER_PARAM_READ_AHEAD;
1223
0
                            break;
1224
0
                        case 'b':
1225
0
                            if (strcmp("uffer_len", s + 6) == 0)
1226
0
                                return PIDX_LIBSSL_RECORD_LAYER_READ_BUFFER_LEN;
1227
0
                        }
1228
0
                    }
1229
0
                }
1230
0
                break;
1231
0
            case 'f':
1232
0
                if (strcmp("erence", s + 3) == 0)
1233
0
                    return PIDX_OBJECT_PARAM_REFERENCE;
1234
0
                break;
1235
0
            case 's':
1236
0
                switch(s[3]) {
1237
0
                default:
1238
0
                    break;
1239
0
                case 'e':
1240
0
                    switch(s[4]) {
1241
0
                    default:
1242
0
                        break;
1243
0
                    case 'e':
1244
0
                        switch(s[5]) {
1245
0
                        default:
1246
0
                            break;
1247
0
                        case 'd':
1248
0
                            switch(s[6]) {
1249
0
                            default:
1250
0
                                break;
1251
0
                            case '_':
1252
0
                                switch(s[7]) {
1253
0
                                default:
1254
0
                                    break;
1255
0
                                case 'c':
1256
0
                                    if (strcmp("ounter", s + 8) == 0)
1257
0
                                        return PIDX_DRBG_PARAM_RESEED_COUNTER;
1258
0
                                    break;
1259
0
                                case 'r':
1260
0
                                    if (strcmp("equests", s + 8) == 0)
1261
0
                                        return PIDX_DRBG_PARAM_RESEED_REQUESTS;
1262
0
                                    break;
1263
0
                                case 't':
1264
0
                                    switch(s[8]) {
1265
0
                                    default:
1266
0
                                        break;
1267
0
                                    case 'i':
1268
0
                                        switch(s[9]) {
1269
0
                                        default:
1270
0
                                            break;
1271
0
                                        case 'm':
1272
0
                                            switch(s[10]) {
1273
0
                                            default:
1274
0
                                                break;
1275
0
                                            case 'e':
1276
0
                                                switch(s[11]) {
1277
0
                                                default:
1278
0
                                                    break;
1279
0
                                                case '_':
1280
0
                                                    if (strcmp("interval", s + 12) == 0)
1281
0
                                                        return PIDX_DRBG_PARAM_RESEED_TIME_INTERVAL;
1282
0
                                                    break;
1283
0
                                                case '\0':
1284
0
                                                    return PIDX_DRBG_PARAM_RESEED_TIME;
1285
0
                                                }
1286
0
                                            }
1287
0
                                        }
1288
0
                                    }
1289
0
                                }
1290
0
                            }
1291
0
                        }
1292
0
                    }
1293
0
                }
1294
0
            }
1295
0
            break;
1296
0
        case 'o':
1297
0
            if (strcmp("unds", s + 2) == 0)
1298
0
                return PIDX_CIPHER_PARAM_ROUNDS;
1299
0
            break;
1300
0
        case 's':
1301
0
            switch(s[2]) {
1302
0
            default:
1303
0
                break;
1304
0
            case 'a':
1305
0
                switch(s[3]) {
1306
0
                default:
1307
0
                    break;
1308
0
                case '-':
1309
0
                    switch(s[4]) {
1310
0
                    default:
1311
0
                        break;
1312
0
                    case 'c':
1313
0
                        switch(s[5]) {
1314
0
                        default:
1315
0
                            break;
1316
0
                        case 'o':
1317
0
                            switch(s[6]) {
1318
0
                            default:
1319
0
                                break;
1320
0
                            case 'e':
1321
0
                                switch(s[7]) {
1322
0
                                default:
1323
0
                                    break;
1324
0
                                case 'f':
1325
0
                                    switch(s[8]) {
1326
0
                                    default:
1327
0
                                        break;
1328
0
                                    case 'f':
1329
0
                                        switch(s[9]) {
1330
0
                                        default:
1331
0
                                            break;
1332
0
                                        case 'i':
1333
0
                                            switch(s[10]) {
1334
0
                                            default:
1335
0
                                                break;
1336
0
                                            case 'c':
1337
0
                                                switch(s[11]) {
1338
0
                                                default:
1339
0
                                                    break;
1340
0
                                                case 'i':
1341
0
                                                    switch(s[12]) {
1342
0
                                                    default:
1343
0
                                                        break;
1344
0
                                                    case 'e':
1345
0
                                                        switch(s[13]) {
1346
0
                                                        default:
1347
0
                                                            break;
1348
0
                                                        case 'n':
1349
0
                                                            switch(s[14]) {
1350
0
                                                            default:
1351
0
                                                                break;
1352
0
                                                            case 't':
1353
0
                                                                switch(s[15]) {
1354
0
                                                                default:
1355
0
                                                                    break;
1356
0
                                                                case '1':
1357
0
                                                                    switch(s[16]) {
1358
0
                                                                    default:
1359
0
                                                                        break;
1360
0
                                                                    case '\0':
1361
0
                                                                        return PIDX_PKEY_PARAM_RSA_COEFFICIENT1;
1362
0
                                                                    }
1363
0
                                                                    break;
1364
0
                                                                case '2':
1365
0
                                                                    switch(s[16]) {
1366
0
                                                                    default:
1367
0
                                                                        break;
1368
0
                                                                    case '\0':
1369
0
                                                                        return PIDX_PKEY_PARAM_RSA_COEFFICIENT2;
1370
0
                                                                    }
1371
0
                                                                    break;
1372
0
                                                                case '3':
1373
0
                                                                    switch(s[16]) {
1374
0
                                                                    default:
1375
0
                                                                        break;
1376
0
                                                                    case '\0':
1377
0
                                                                        return PIDX_PKEY_PARAM_RSA_COEFFICIENT3;
1378
0
                                                                    }
1379
0
                                                                    break;
1380
0
                                                                case '4':
1381
0
                                                                    switch(s[16]) {
1382
0
                                                                    default:
1383
0
                                                                        break;
1384
0
                                                                    case '\0':
1385
0
                                                                        return PIDX_PKEY_PARAM_RSA_COEFFICIENT4;
1386
0
                                                                    }
1387
0
                                                                    break;
1388
0
                                                                case '5':
1389
0
                                                                    switch(s[16]) {
1390
0
                                                                    default:
1391
0
                                                                        break;
1392
0
                                                                    case '\0':
1393
0
                                                                        return PIDX_PKEY_PARAM_RSA_COEFFICIENT5;
1394
0
                                                                    }
1395
0
                                                                    break;
1396
0
                                                                case '6':
1397
0
                                                                    switch(s[16]) {
1398
0
                                                                    default:
1399
0
                                                                        break;
1400
0
                                                                    case '\0':
1401
0
                                                                        return PIDX_PKEY_PARAM_RSA_COEFFICIENT6;
1402
0
                                                                    }
1403
0
                                                                    break;
1404
0
                                                                case '7':
1405
0
                                                                    switch(s[16]) {
1406
0
                                                                    default:
1407
0
                                                                        break;
1408
0
                                                                    case '\0':
1409
0
                                                                        return PIDX_PKEY_PARAM_RSA_COEFFICIENT7;
1410
0
                                                                    }
1411
0
                                                                    break;
1412
0
                                                                case '8':
1413
0
                                                                    switch(s[16]) {
1414
0
                                                                    default:
1415
0
                                                                        break;
1416
0
                                                                    case '\0':
1417
0
                                                                        return PIDX_PKEY_PARAM_RSA_COEFFICIENT8;
1418
0
                                                                    }
1419
0
                                                                    break;
1420
0
                                                                case '9':
1421
0
                                                                    switch(s[16]) {
1422
0
                                                                    default:
1423
0
                                                                        break;
1424
0
                                                                    case '\0':
1425
0
                                                                        return PIDX_PKEY_PARAM_RSA_COEFFICIENT9;
1426
0
                                                                    }
1427
0
                                                                    break;
1428
0
                                                                case '\0':
1429
0
                                                                    return PIDX_PKEY_PARAM_RSA_COEFFICIENT;
1430
0
                                                                }
1431
0
                                                            }
1432
0
                                                        }
1433
0
                                                    }
1434
0
                                                }
1435
0
                                            }
1436
0
                                        }
1437
0
                                    }
1438
0
                                }
1439
0
                            }
1440
0
                        }
1441
0
                        break;
1442
0
                    case 'e':
1443
0
                        switch(s[5]) {
1444
0
                        default:
1445
0
                            break;
1446
0
                        case 'x':
1447
0
                            switch(s[6]) {
1448
0
                            default:
1449
0
                                break;
1450
0
                            case 'p':
1451
0
                                switch(s[7]) {
1452
0
                                default:
1453
0
                                    break;
1454
0
                                case 'o':
1455
0
                                    switch(s[8]) {
1456
0
                                    default:
1457
0
                                        break;
1458
0
                                    case 'n':
1459
0
                                        switch(s[9]) {
1460
0
                                        default:
1461
0
                                            break;
1462
0
                                        case 'e':
1463
0
                                            switch(s[10]) {
1464
0
                                            default:
1465
0
                                                break;
1466
0
                                            case 'n':
1467
0
                                                switch(s[11]) {
1468
0
                                                default:
1469
0
                                                    break;
1470
0
                                                case 't':
1471
0
                                                    switch(s[12]) {
1472
0
                                                    default:
1473
0
                                                        break;
1474
0
                                                    case '1':
1475
0
                                                        switch(s[13]) {
1476
0
                                                        default:
1477
0
                                                            break;
1478
0
                                                        case '0':
1479
0
                                                            switch(s[14]) {
1480
0
                                                            default:
1481
0
                                                                break;
1482
0
                                                            case '\0':
1483
0
                                                                return PIDX_PKEY_PARAM_RSA_EXPONENT10;
1484
0
                                                            }
1485
0
                                                            break;
1486
0
                                                        case '\0':
1487
0
                                                            return PIDX_PKEY_PARAM_RSA_EXPONENT1;
1488
0
                                                        }
1489
0
                                                        break;
1490
0
                                                    case '2':
1491
0
                                                        switch(s[13]) {
1492
0
                                                        default:
1493
0
                                                            break;
1494
0
                                                        case '\0':
1495
0
                                                            return PIDX_PKEY_PARAM_RSA_EXPONENT2;
1496
0
                                                        }
1497
0
                                                        break;
1498
0
                                                    case '3':
1499
0
                                                        switch(s[13]) {
1500
0
                                                        default:
1501
0
                                                            break;
1502
0
                                                        case '\0':
1503
0
                                                            return PIDX_PKEY_PARAM_RSA_EXPONENT3;
1504
0
                                                        }
1505
0
                                                        break;
1506
0
                                                    case '4':
1507
0
                                                        switch(s[13]) {
1508
0
                                                        default:
1509
0
                                                            break;
1510
0
                                                        case '\0':
1511
0
                                                            return PIDX_PKEY_PARAM_RSA_EXPONENT4;
1512
0
                                                        }
1513
0
                                                        break;
1514
0
                                                    case '5':
1515
0
                                                        switch(s[13]) {
1516
0
                                                        default:
1517
0
                                                            break;
1518
0
                                                        case '\0':
1519
0
                                                            return PIDX_PKEY_PARAM_RSA_EXPONENT5;
1520
0
                                                        }
1521
0
                                                        break;
1522
0
                                                    case '6':
1523
0
                                                        switch(s[13]) {
1524
0
                                                        default:
1525
0
                                                            break;
1526
0
                                                        case '\0':
1527
0
                                                            return PIDX_PKEY_PARAM_RSA_EXPONENT6;
1528
0
                                                        }
1529
0
                                                        break;
1530
0
                                                    case '7':
1531
0
                                                        switch(s[13]) {
1532
0
                                                        default:
1533
0
                                                            break;
1534
0
                                                        case '\0':
1535
0
                                                            return PIDX_PKEY_PARAM_RSA_EXPONENT7;
1536
0
                                                        }
1537
0
                                                        break;
1538
0
                                                    case '8':
1539
0
                                                        switch(s[13]) {
1540
0
                                                        default:
1541
0
                                                            break;
1542
0
                                                        case '\0':
1543
0
                                                            return PIDX_PKEY_PARAM_RSA_EXPONENT8;
1544
0
                                                        }
1545
0
                                                        break;
1546
0
                                                    case '9':
1547
0
                                                        switch(s[13]) {
1548
0
                                                        default:
1549
0
                                                            break;
1550
0
                                                        case '\0':
1551
0
                                                            return PIDX_PKEY_PARAM_RSA_EXPONENT9;
1552
0
                                                        }
1553
0
                                                        break;
1554
0
                                                    case '\0':
1555
0
                                                        return PIDX_PKEY_PARAM_RSA_EXPONENT;
1556
0
                                                    }
1557
0
                                                }
1558
0
                                            }
1559
0
                                        }
1560
0
                                    }
1561
0
                                }
1562
0
                            }
1563
0
                        }
1564
0
                        break;
1565
0
                    case 'f':
1566
0
                        switch(s[5]) {
1567
0
                        default:
1568
0
                            break;
1569
0
                        case 'a':
1570
0
                            switch(s[6]) {
1571
0
                            default:
1572
0
                                break;
1573
0
                            case 'c':
1574
0
                                switch(s[7]) {
1575
0
                                default:
1576
0
                                    break;
1577
0
                                case 't':
1578
0
                                    switch(s[8]) {
1579
0
                                    default:
1580
0
                                        break;
1581
0
                                    case 'o':
1582
0
                                        switch(s[9]) {
1583
0
                                        default:
1584
0
                                            break;
1585
0
                                        case 'r':
1586
0
                                            switch(s[10]) {
1587
0
                                            default:
1588
0
                                                break;
1589
0
                                            case '1':
1590
0
                                                switch(s[11]) {
1591
0
                                                default:
1592
0
                                                    break;
1593
0
                                                case '0':
1594
0
                                                    switch(s[12]) {
1595
0
                                                    default:
1596
0
                                                        break;
1597
0
                                                    case '\0':
1598
0
                                                        return PIDX_PKEY_PARAM_RSA_FACTOR10;
1599
0
                                                    }
1600
0
                                                    break;
1601
0
                                                case '\0':
1602
0
                                                    return PIDX_PKEY_PARAM_RSA_FACTOR1;
1603
0
                                                }
1604
0
                                                break;
1605
0
                                            case '2':
1606
0
                                                switch(s[11]) {
1607
0
                                                default:
1608
0
                                                    break;
1609
0
                                                case '\0':
1610
0
                                                    return PIDX_PKEY_PARAM_RSA_FACTOR2;
1611
0
                                                }
1612
0
                                                break;
1613
0
                                            case '3':
1614
0
                                                switch(s[11]) {
1615
0
                                                default:
1616
0
                                                    break;
1617
0
                                                case '\0':
1618
0
                                                    return PIDX_PKEY_PARAM_RSA_FACTOR3;
1619
0
                                                }
1620
0
                                                break;
1621
0
                                            case '4':
1622
0
                                                switch(s[11]) {
1623
0
                                                default:
1624
0
                                                    break;
1625
0
                                                case '\0':
1626
0
                                                    return PIDX_PKEY_PARAM_RSA_FACTOR4;
1627
0
                                                }
1628
0
                                                break;
1629
0
                                            case '5':
1630
0
                                                switch(s[11]) {
1631
0
                                                default:
1632
0
                                                    break;
1633
0
                                                case '\0':
1634
0
                                                    return PIDX_PKEY_PARAM_RSA_FACTOR5;
1635
0
                                                }
1636
0
                                                break;
1637
0
                                            case '6':
1638
0
                                                switch(s[11]) {
1639
0
                                                default:
1640
0
                                                    break;
1641
0
                                                case '\0':
1642
0
                                                    return PIDX_PKEY_PARAM_RSA_FACTOR6;
1643
0
                                                }
1644
0
                                                break;
1645
0
                                            case '7':
1646
0
                                                switch(s[11]) {
1647
0
                                                default:
1648
0
                                                    break;
1649
0
                                                case '\0':
1650
0
                                                    return PIDX_PKEY_PARAM_RSA_FACTOR7;
1651
0
                                                }
1652
0
                                                break;
1653
0
                                            case '8':
1654
0
                                                switch(s[11]) {
1655
0
                                                default:
1656
0
                                                    break;
1657
0
                                                case '\0':
1658
0
                                                    return PIDX_PKEY_PARAM_RSA_FACTOR8;
1659
0
                                                }
1660
0
                                                break;
1661
0
                                            case '9':
1662
0
                                                switch(s[11]) {
1663
0
                                                default:
1664
0
                                                    break;
1665
0
                                                case '\0':
1666
0
                                                    return PIDX_PKEY_PARAM_RSA_FACTOR9;
1667
0
                                                }
1668
0
                                                break;
1669
0
                                            case '\0':
1670
0
                                                return PIDX_PKEY_PARAM_RSA_FACTOR;
1671
0
                                            }
1672
0
                                        }
1673
0
                                    }
1674
0
                                }
1675
0
                            }
1676
0
                        }
1677
0
                    }
1678
0
                }
1679
0
            }
1680
0
            break;
1681
0
        case '\0':
1682
0
            return PIDX_KDF_PARAM_KBKDF_R;
1683
0
        }
1684
0
        break;
1685
0
    case 's':
1686
0
        switch(s[1]) {
1687
0
        default:
1688
0
            break;
1689
0
        case 'a':
1690
0
            switch(s[2]) {
1691
0
            default:
1692
0
                break;
1693
0
            case 'f':
1694
0
                if (strcmp("eprime-generator", s + 3) == 0)
1695
0
                    return PIDX_PKEY_PARAM_DH_GENERATOR;
1696
0
                break;
1697
0
            case 'l':
1698
0
                switch(s[3]) {
1699
0
                default:
1700
0
                    break;
1701
0
                case 't':
1702
0
                    switch(s[4]) {
1703
0
                    default:
1704
0
                        break;
1705
0
                    case 'l':
1706
0
                        if (strcmp("en", s + 5) == 0)
1707
0
                            return PIDX_PKEY_PARAM_RSA_PSS_SALTLEN;
1708
0
                        break;
1709
0
                    case '\0':
1710
0
                        return PIDX_KDF_PARAM_SALT;
1711
0
                    }
1712
0
                }
1713
0
                break;
1714
0
            case 'v':
1715
0
                if (strcmp("e-parameters", s + 3) == 0)
1716
0
                    return PIDX_ENCODER_PARAM_SAVE_PARAMETERS;
1717
0
            }
1718
0
            break;
1719
0
        case 'e':
1720
0
            switch(s[2]) {
1721
0
            default:
1722
0
                break;
1723
0
            case 'c':
1724
0
                switch(s[3]) {
1725
0
                default:
1726
0
                    break;
1727
0
                case 'r':
1728
0
                    if (strcmp("et", s + 4) == 0)
1729
0
                        return PIDX_KDF_PARAM_SECRET;
1730
0
                    break;
1731
0
                case 'u':
1732
0
                    switch(s[4]) {
1733
0
                    default:
1734
0
                        break;
1735
0
                    case 'r':
1736
0
                        switch(s[5]) {
1737
0
                        default:
1738
0
                            break;
1739
0
                        case 'i':
1740
0
                            switch(s[6]) {
1741
0
                            default:
1742
0
                                break;
1743
0
                            case 't':
1744
0
                                switch(s[7]) {
1745
0
                                default:
1746
0
                                    break;
1747
0
                                case 'y':
1748
0
                                    switch(s[8]) {
1749
0
                                    default:
1750
0
                                        break;
1751
0
                                    case '-':
1752
0
                                        switch(s[9]) {
1753
0
                                        default:
1754
0
                                            break;
1755
0
                                        case 'b':
1756
0
                                            if (strcmp("its", s + 10) == 0)
1757
0
                                                return PIDX_PKEY_PARAM_SECURITY_BITS;
1758
0
                                            break;
1759
0
                                        case 'c':
1760
0
                                            if (strcmp("hecks", s + 10) == 0)
1761
0
                                                return PIDX_PROV_PARAM_SECURITY_CHECKS;
1762
0
                                        }
1763
0
                                    }
1764
0
                                }
1765
0
                            }
1766
0
                        }
1767
0
                    }
1768
0
                }
1769
0
                break;
1770
0
            case 'e':
1771
0
                if (strcmp("d", s + 3) == 0)
1772
0
                    return PIDX_PKEY_PARAM_EC_SEED;
1773
0
                break;
1774
0
            case 'r':
1775
0
                if (strcmp("ial", s + 3) == 0)
1776
0
                    return PIDX_STORE_PARAM_SERIAL;
1777
0
                break;
1778
0
            case 's':
1779
0
                if (strcmp("sion_id", s + 3) == 0)
1780
0
                    return PIDX_KDF_PARAM_SSHKDF_SESSION_ID;
1781
0
            }
1782
0
            break;
1783
0
        case 'i':
1784
0
            if (strcmp("ze", s + 2) == 0)
1785
0
                return PIDX_DIGEST_PARAM_SIZE;
1786
0
            break;
1787
0
        case 'p':
1788
0
            if (strcmp("eed", s + 2) == 0)
1789
0
                return PIDX_CIPHER_PARAM_SPEED;
1790
0
            break;
1791
0
        case 's':
1792
0
            if (strcmp("l3-ms", s + 2) == 0)
1793
0
                return PIDX_DIGEST_PARAM_SSL3_MS;
1794
0
            break;
1795
0
        case 't':
1796
0
            switch(s[2]) {
1797
0
            default:
1798
0
                break;
1799
0
            case '-':
1800
0
                switch(s[3]) {
1801
0
                default:
1802
0
                    break;
1803
0
                case 'd':
1804
0
                    if (strcmp("esc", s + 4) == 0)
1805
0
                        return PIDX_PROV_PARAM_SELF_TEST_DESC;
1806
0
                    break;
1807
0
                case 'p':
1808
0
                    if (strcmp("hase", s + 4) == 0)
1809
0
                        return PIDX_PROV_PARAM_SELF_TEST_PHASE;
1810
0
                    break;
1811
0
                case 't':
1812
0
                    if (strcmp("ype", s + 4) == 0)
1813
0
                        return PIDX_PROV_PARAM_SELF_TEST_TYPE;
1814
0
                }
1815
0
                break;
1816
0
            case 'a':
1817
0
                switch(s[3]) {
1818
0
                default:
1819
0
                    break;
1820
0
                case 't':
1821
0
                    switch(s[4]) {
1822
0
                    default:
1823
0
                        break;
1824
0
                    case 'e':
1825
0
                        switch(s[5]) {
1826
0
                        default:
1827
0
                            break;
1828
0
                        case '\0':
1829
0
                            return PIDX_RAND_PARAM_STATE;
1830
0
                        }
1831
0
                        break;
1832
0
                    case 'u':
1833
0
                        if (strcmp("s", s + 5) == 0)
1834
0
                            return PIDX_PROV_PARAM_STATUS;
1835
0
                    }
1836
0
                }
1837
0
                break;
1838
0
            case 'r':
1839
0
                switch(s[3]) {
1840
0
                default:
1841
0
                    break;
1842
0
                case 'e':
1843
0
                    switch(s[4]) {
1844
0
                    default:
1845
0
                        break;
1846
0
                    case 'a':
1847
0
                        if (strcmp("m_mac", s + 5) == 0)
1848
0
                            return PIDX_LIBSSL_RECORD_LAYER_PARAM_STREAM_MAC;
1849
0
                        break;
1850
0
                    case 'n':
1851
0
                        if (strcmp("gth", s + 5) == 0)
1852
0
                            return PIDX_RAND_PARAM_STRENGTH;
1853
0
                    }
1854
0
                }
1855
0
            }
1856
0
            break;
1857
0
        case 'u':
1858
0
            switch(s[2]) {
1859
0
            default:
1860
0
                break;
1861
0
            case 'b':
1862
0
                if (strcmp("ject", s + 3) == 0)
1863
0
                    return PIDX_STORE_PARAM_SUBJECT;
1864
0
                break;
1865
0
            case 'p':
1866
0
                switch(s[3]) {
1867
0
                default:
1868
0
                    break;
1869
0
                case 'p':
1870
0
                    switch(s[4]) {
1871
0
                    default:
1872
0
                        break;
1873
0
                    case '-':
1874
0
                        switch(s[5]) {
1875
0
                        default:
1876
0
                            break;
1877
0
                        case 'p':
1878
0
                            switch(s[6]) {
1879
0
                            default:
1880
0
                                break;
1881
0
                            case 'r':
1882
0
                                if (strcmp("ivinfo", s + 7) == 0)
1883
0
                                    return PIDX_KDF_PARAM_X942_SUPP_PRIVINFO;
1884
0
                                break;
1885
0
                            case 'u':
1886
0
                                if (strcmp("binfo", s + 7) == 0)
1887
0
                                    return PIDX_KDF_PARAM_X942_SUPP_PUBINFO;
1888
0
                            }
1889
0
                        }
1890
0
                    }
1891
0
                }
1892
0
            }
1893
0
        }
1894
0
        break;
1895
0
    case 't':
1896
0
        switch(s[1]) {
1897
0
        default:
1898
0
            break;
1899
0
        case 'a':
1900
0
            switch(s[2]) {
1901
0
            default:
1902
0
                break;
1903
0
            case 'g':
1904
0
                switch(s[3]) {
1905
0
                default:
1906
0
                    break;
1907
0
                case 'l':
1908
0
                    if (strcmp("en", s + 4) == 0)
1909
0
                        return PIDX_CIPHER_PARAM_AEAD_TAGLEN;
1910
0
                    break;
1911
0
                case '\0':
1912
0
                    return PIDX_CIPHER_PARAM_AEAD_TAG;
1913
0
                }
1914
0
            }
1915
0
            break;
1916
0
        case 'e':
1917
0
            switch(s[2]) {
1918
0
            default:
1919
0
                break;
1920
0
            case 's':
1921
0
                switch(s[3]) {
1922
0
                default:
1923
0
                    break;
1924
0
                case 't':
1925
0
                    switch(s[4]) {
1926
0
                    default:
1927
0
                        break;
1928
0
                    case '_':
1929
0
                        switch(s[5]) {
1930
0
                        default:
1931
0
                            break;
1932
0
                        case 'e':
1933
0
                            if (strcmp("ntropy", s + 6) == 0)
1934
0
                                return PIDX_RAND_PARAM_TEST_ENTROPY;
1935
0
                            break;
1936
0
                        case 'n':
1937
0
                            if (strcmp("once", s + 6) == 0)
1938
0
                                return PIDX_RAND_PARAM_TEST_NONCE;
1939
0
                        }
1940
0
                    }
1941
0
                }
1942
0
            }
1943
0
            break;
1944
0
        case 'h':
1945
0
            if (strcmp("reads", s + 2) == 0)
1946
0
                return PIDX_KDF_PARAM_THREADS;
1947
0
            break;
1948
0
        case 'l':
1949
0
            switch(s[2]) {
1950
0
            default:
1951
0
                break;
1952
0
            case 's':
1953
0
                switch(s[3]) {
1954
0
                default:
1955
0
                    break;
1956
0
                case '-':
1957
0
                    switch(s[4]) {
1958
0
                    default:
1959
0
                        break;
1960
0
                    case 'c':
1961
0
                        if (strcmp("lient-version", s + 5) == 0)
1962
0
                            return PIDX_ASYM_CIPHER_PARAM_TLS_CLIENT_VERSION;
1963
0
                        break;
1964
0
                    case 'd':
1965
0
                        if (strcmp("ata-size", s + 5) == 0)
1966
0
                            return PIDX_MAC_PARAM_TLS_DATA_SIZE;
1967
0
                        break;
1968
0
                    case 'g':
1969
0
                        switch(s[5]) {
1970
0
                        default:
1971
0
                            break;
1972
0
                        case 'r':
1973
0
                            switch(s[6]) {
1974
0
                            default:
1975
0
                                break;
1976
0
                            case 'o':
1977
0
                                switch(s[7]) {
1978
0
                                default:
1979
0
                                    break;
1980
0
                                case 'u':
1981
0
                                    switch(s[8]) {
1982
0
                                    default:
1983
0
                                        break;
1984
0
                                    case 'p':
1985
0
                                        switch(s[9]) {
1986
0
                                        default:
1987
0
                                            break;
1988
0
                                        case '-':
1989
0
                                            switch(s[10]) {
1990
0
                                            default:
1991
0
                                                break;
1992
0
                                            case 'a':
1993
0
                                                if (strcmp("lg", s + 11) == 0)
1994
0
                                                    return PIDX_CAPABILITY_TLS_GROUP_ALG;
1995
0
                                                break;
1996
0
                                            case 'i':
1997
0
                                                switch(s[11]) {
1998
0
                                                default:
1999
0
                                                    break;
2000
0
                                                case 'd':
2001
0
                                                    switch(s[12]) {
2002
0
                                                    default:
2003
0
                                                        break;
2004
0
                                                    case '\0':
2005
0
                                                        return PIDX_CAPABILITY_TLS_GROUP_ID;
2006
0
                                                    }
2007
0
                                                    break;
2008
0
                                                case 's':
2009
0
                                                    if (strcmp("-kem", s + 12) == 0)
2010
0
                                                        return PIDX_CAPABILITY_TLS_GROUP_IS_KEM;
2011
0
                                                }
2012
0
                                                break;
2013
0
                                            case 'n':
2014
0
                                                switch(s[11]) {
2015
0
                                                default:
2016
0
                                                    break;
2017
0
                                                case 'a':
2018
0
                                                    switch(s[12]) {
2019
0
                                                    default:
2020
0
                                                        break;
2021
0
                                                    case 'm':
2022
0
                                                        switch(s[13]) {
2023
0
                                                        default:
2024
0
                                                            break;
2025
0
                                                        case 'e':
2026
0
                                                            switch(s[14]) {
2027
0
                                                            default:
2028
0
                                                                break;
2029
0
                                                            case '-':
2030
0
                                                                if (strcmp("internal", s + 15) == 0)
2031
0
                                                                    return PIDX_CAPABILITY_TLS_GROUP_NAME_INTERNAL;
2032
0
                                                                break;
2033
0
                                                            case '\0':
2034
0
                                                                return PIDX_CAPABILITY_TLS_GROUP_NAME;
2035
0
                                                            }
2036
0
                                                        }
2037
0
                                                    }
2038
0
                                                }
2039
0
                                                break;
2040
0
                                            case 's':
2041
0
                                                if (strcmp("ec-bits", s + 11) == 0)
2042
0
                                                    return PIDX_CAPABILITY_TLS_GROUP_SECURITY_BITS;
2043
0
                                            }
2044
0
                                        }
2045
0
                                    }
2046
0
                                }
2047
0
                            }
2048
0
                        }
2049
0
                        break;
2050
0
                    case 'm':
2051
0
                        switch(s[5]) {
2052
0
                        default:
2053
0
                            break;
2054
0
                        case 'a':
2055
0
                            switch(s[6]) {
2056
0
                            default:
2057
0
                                break;
2058
0
                            case 'c':
2059
0
                                switch(s[7]) {
2060
0
                                default:
2061
0
                                    break;
2062
0
                                case '-':
2063
0
                                    if (strcmp("size", s + 8) == 0)
2064
0
                                        return PIDX_CIPHER_PARAM_TLS_MAC_SIZE;
2065
0
                                    break;
2066
0
                                case '\0':
2067
0
                                    return PIDX_CIPHER_PARAM_TLS_MAC;
2068
0
                                }
2069
0
                                break;
2070
0
                            case 'x':
2071
0
                                switch(s[7]) {
2072
0
                                default:
2073
0
                                    break;
2074
0
                                case '-':
2075
0
                                    switch(s[8]) {
2076
0
                                    default:
2077
0
                                        break;
2078
0
                                    case 'd':
2079
0
                                        if (strcmp("tls", s + 9) == 0)
2080
0
                                            return PIDX_CAPABILITY_TLS_GROUP_MAX_DTLS;
2081
0
                                        break;
2082
0
                                    case 't':
2083
0
                                        if (strcmp("ls", s + 9) == 0)
2084
0
                                            return PIDX_CAPABILITY_TLS_GROUP_MAX_TLS;
2085
0
                                    }
2086
0
                                }
2087
0
                            }
2088
0
                            break;
2089
0
                        case 'i':
2090
0
                            switch(s[6]) {
2091
0
                            default:
2092
0
                                break;
2093
0
                            case 'n':
2094
0
                                switch(s[7]) {
2095
0
                                default:
2096
0
                                    break;
2097
0
                                case '-':
2098
0
                                    switch(s[8]) {
2099
0
                                    default:
2100
0
                                        break;
2101
0
                                    case 'd':
2102
0
                                        if (strcmp("tls", s + 9) == 0)
2103
0
                                            return PIDX_CAPABILITY_TLS_GROUP_MIN_DTLS;
2104
0
                                        break;
2105
0
                                    case 't':
2106
0
                                        if (strcmp("ls", s + 9) == 0)
2107
0
                                            return PIDX_CAPABILITY_TLS_SIGALG_MIN_TLS;
2108
0
                                    }
2109
0
                                }
2110
0
                            }
2111
0
                            break;
2112
0
                        case 'u':
2113
0
                            if (strcmp("lti", s + 6) == 0)
2114
0
                                return PIDX_CIPHER_PARAM_TLS1_MULTIBLOCK;
2115
0
                        }
2116
0
                        break;
2117
0
                    case 'n':
2118
0
                        if (strcmp("egotiated-version", s + 5) == 0)
2119
0
                            return PIDX_ASYM_CIPHER_PARAM_TLS_NEGOTIATED_VERSION;
2120
0
                        break;
2121
0
                    case 's':
2122
0
                        switch(s[5]) {
2123
0
                        default:
2124
0
                            break;
2125
0
                        case 'i':
2126
0
                            switch(s[6]) {
2127
0
                            default:
2128
0
                                break;
2129
0
                            case 'g':
2130
0
                                switch(s[7]) {
2131
0
                                default:
2132
0
                                    break;
2133
0
                                case 'a':
2134
0
                                    switch(s[8]) {
2135
0
                                    default:
2136
0
                                        break;
2137
0
                                    case 'l':
2138
0
                                        switch(s[9]) {
2139
0
                                        default:
2140
0
                                            break;
2141
0
                                        case 'g':
2142
0
                                            switch(s[10]) {
2143
0
                                            default:
2144
0
                                                break;
2145
0
                                            case '-':
2146
0
                                                switch(s[11]) {
2147
0
                                                default:
2148
0
                                                    break;
2149
0
                                                case 'c':
2150
0
                                                    if (strcmp("ode-point", s + 12) == 0)
2151
0
                                                        return PIDX_CAPABILITY_TLS_SIGALG_CODE_POINT;
2152
0
                                                    break;
2153
0
                                                case 'h':
2154
0
                                                    switch(s[12]) {
2155
0
                                                    default:
2156
0
                                                        break;
2157
0
                                                    case 'a':
2158
0
                                                        switch(s[13]) {
2159
0
                                                        default:
2160
0
                                                            break;
2161
0
                                                        case 's':
2162
0
                                                            switch(s[14]) {
2163
0
                                                            default:
2164
0
                                                                break;
2165
0
                                                            case 'h':
2166
0
                                                                switch(s[15]) {
2167
0
                                                                default:
2168
0
                                                                    break;
2169
0
                                                                case '-':
2170
0
                                                                    switch(s[16]) {
2171
0
                                                                    default:
2172
0
                                                                        break;
2173
0
                                                                    case 'n':
2174
0
                                                                        if (strcmp("ame", s + 17) == 0)
2175
0
                                                                            return PIDX_CAPABILITY_TLS_SIGALG_HASH_NAME;
2176
0
                                                                        break;
2177
0
                                                                    case 'o':
2178
0
                                                                        if (strcmp("id", s + 17) == 0)
2179
0
                                                                            return PIDX_CAPABILITY_TLS_SIGALG_HASH_OID;
2180
0
                                                                    }
2181
0
                                                                }
2182
0
                                                            }
2183
0
                                                        }
2184
0
                                                    }
2185
0
                                                    break;
2186
0
                                                case 'i':
2187
0
                                                    if (strcmp("ana-name", s + 12) == 0)
2188
0
                                                        return PIDX_CAPABILITY_TLS_SIGALG_IANA_NAME;
2189
0
                                                    break;
2190
0
                                                case 'k':
2191
0
                                                    switch(s[12]) {
2192
0
                                                    default:
2193
0
                                                        break;
2194
0
                                                    case 'e':
2195
0
                                                        switch(s[13]) {
2196
0
                                                        default:
2197
0
                                                            break;
2198
0
                                                        case 'y':
2199
0
                                                            switch(s[14]) {
2200
0
                                                            default:
2201
0
                                                                break;
2202
0
                                                            case 't':
2203
0
                                                                switch(s[15]) {
2204
0
                                                                default:
2205
0
                                                                    break;
2206
0
                                                                case 'y':
2207
0
                                                                    switch(s[16]) {
2208
0
                                                                    default:
2209
0
                                                                        break;
2210
0
                                                                    case 'p':
2211
0
                                                                        switch(s[17]) {
2212
0
                                                                        default:
2213
0
                                                                            break;
2214
0
                                                                        case 'e':
2215
0
                                                                            switch(s[18]) {
2216
0
                                                                            default:
2217
0
                                                                                break;
2218
0
                                                                            case '-':
2219
0
                                                                                if (strcmp("oid", s + 19) == 0)
2220
0
                                                                                    return PIDX_CAPABILITY_TLS_SIGALG_KEYTYPE_OID;
2221
0
                                                                                break;
2222
0
                                                                            case '\0':
2223
0
                                                                                return PIDX_CAPABILITY_TLS_SIGALG_KEYTYPE;
2224
0
                                                                            }
2225
0
                                                                        }
2226
0
                                                                    }
2227
0
                                                                }
2228
0
                                                            }
2229
0
                                                        }
2230
0
                                                    }
2231
0
                                                    break;
2232
0
                                                case 'n':
2233
0
                                                    if (strcmp("ame", s + 12) == 0)
2234
0
                                                        return PIDX_CAPABILITY_TLS_SIGALG_NAME;
2235
0
                                                    break;
2236
0
                                                case 'o':
2237
0
                                                    if (strcmp("id", s + 12) == 0)
2238
0
                                                        return PIDX_CAPABILITY_TLS_SIGALG_OID;
2239
0
                                                    break;
2240
0
                                                case 's':
2241
0
                                                    switch(s[12]) {
2242
0
                                                    default:
2243
0
                                                        break;
2244
0
                                                    case 'e':
2245
0
                                                        if (strcmp("c-bits", s + 13) == 0)
2246
0
                                                            return PIDX_CAPABILITY_TLS_SIGALG_SECURITY_BITS;
2247
0
                                                        break;
2248
0
                                                    case 'i':
2249
0
                                                        switch(s[13]) {
2250
0
                                                        default:
2251
0
                                                            break;
2252
0
                                                        case 'g':
2253
0
                                                            switch(s[14]) {
2254
0
                                                            default:
2255
0
                                                                break;
2256
0
                                                            case '-':
2257
0
                                                                switch(s[15]) {
2258
0
                                                                default:
2259
0
                                                                    break;
2260
0
                                                                case 'n':
2261
0
                                                                    if (strcmp("ame", s + 16) == 0)
2262
0
                                                                        return PIDX_CAPABILITY_TLS_SIGALG_SIG_NAME;
2263
0
                                                                    break;
2264
0
                                                                case 'o':
2265
0
                                                                    if (strcmp("id", s + 16) == 0)
2266
0
                                                                        return PIDX_CAPABILITY_TLS_SIGALG_SIG_OID;
2267
0
                                                                }
2268
0
                                                            }
2269
0
                                                        }
2270
0
                                                    }
2271
0
                                                }
2272
0
                                            }
2273
0
                                        }
2274
0
                                    }
2275
0
                                }
2276
0
                            }
2277
0
                        }
2278
0
                        break;
2279
0
                    case 'v':
2280
0
                        if (strcmp("ersion", s + 5) == 0)
2281
0
                            return PIDX_CIPHER_PARAM_TLS_VERSION;
2282
0
                    }
2283
0
                    break;
2284
0
                case '1':
2285
0
                    switch(s[4]) {
2286
0
                    default:
2287
0
                        break;
2288
0
                    case '-':
2289
0
                        if (strcmp("prf-ems-check", s + 5) == 0)
2290
0
                            return PIDX_PROV_PARAM_TLS1_PRF_EMS_CHECK;
2291
0
                        break;
2292
0
                    case 'm':
2293
0
                        switch(s[5]) {
2294
0
                        default:
2295
0
                            break;
2296
0
                        case 'u':
2297
0
                            switch(s[6]) {
2298
0
                            default:
2299
0
                                break;
2300
0
                            case 'l':
2301
0
                                switch(s[7]) {
2302
0
                                default:
2303
0
                                    break;
2304
0
                                case 't':
2305
0
                                    switch(s[8]) {
2306
0
                                    default:
2307
0
                                        break;
2308
0
                                    case 'i':
2309
0
                                        switch(s[9]) {
2310
0
                                        default:
2311
0
                                            break;
2312
0
                                        case '_':
2313
0
                                            switch(s[10]) {
2314
0
                                            default:
2315
0
                                                break;
2316
0
                                            case 'a':
2317
0
                                                switch(s[11]) {
2318
0
                                                default:
2319
0
                                                    break;
2320
0
                                                case 'a':
2321
0
                                                    switch(s[12]) {
2322
0
                                                    default:
2323
0
                                                        break;
2324
0
                                                    case 'd':
2325
0
                                                        switch(s[13]) {
2326
0
                                                        default:
2327
0
                                                            break;
2328
0
                                                        case 'p':
2329
0
                                                            if (strcmp("acklen", s + 14) == 0)
2330
0
                                                                return PIDX_CIPHER_PARAM_TLS1_MULTIBLOCK_AAD_PACKLEN;
2331
0
                                                            break;
2332
0
                                                        case '\0':
2333
0
                                                            return PIDX_CIPHER_PARAM_TLS1_MULTIBLOCK_AAD;
2334
0
                                                        }
2335
0
                                                    }
2336
0
                                                }
2337
0
                                                break;
2338
0
                                            case 'e':
2339
0
                                                switch(s[11]) {
2340
0
                                                default:
2341
0
                                                    break;
2342
0
                                                case 'n':
2343
0
                                                    switch(s[12]) {
2344
0
                                                    default:
2345
0
                                                        break;
2346
0
                                                    case 'c':
2347
0
                                                        switch(s[13]) {
2348
0
                                                        default:
2349
0
                                                            break;
2350
0
                                                        case 'i':
2351
0
                                                            if (strcmp("n", s + 14) == 0)
2352
0
                                                                return PIDX_CIPHER_PARAM_TLS1_MULTIBLOCK_ENC_IN;
2353
0
                                                            break;
2354
0
                                                        case 'l':
2355
0
                                                            if (strcmp("en", s + 14) == 0)
2356
0
                                                                return PIDX_CIPHER_PARAM_TLS1_MULTIBLOCK_ENC_LEN;
2357
0
                                                            break;
2358
0
                                                        case '\0':
2359
0
                                                            return PIDX_CIPHER_PARAM_TLS1_MULTIBLOCK_ENC;
2360
0
                                                        }
2361
0
                                                    }
2362
0
                                                }
2363
0
                                                break;
2364
0
                                            case 'i':
2365
0
                                                if (strcmp("nterleave", s + 11) == 0)
2366
0
                                                    return PIDX_CIPHER_PARAM_TLS1_MULTIBLOCK_INTERLEAVE;
2367
0
                                                break;
2368
0
                                            case 'm':
2369
0
                                                switch(s[11]) {
2370
0
                                                default:
2371
0
                                                    break;
2372
0
                                                case 'a':
2373
0
                                                    switch(s[12]) {
2374
0
                                                    default:
2375
0
                                                        break;
2376
0
                                                    case 'x':
2377
0
                                                        switch(s[13]) {
2378
0
                                                        default:
2379
0
                                                            break;
2380
0
                                                        case 'b':
2381
0
                                                            if (strcmp("ufsz", s + 14) == 0)
2382
0
                                                                return PIDX_CIPHER_PARAM_TLS1_MULTIBLOCK_MAX_BUFSIZE;
2383
0
                                                            break;
2384
0
                                                        case 's':
2385
0
                                                            if (strcmp("ndfrag", s + 14) == 0)
2386
0
                                                                return PIDX_CIPHER_PARAM_TLS1_MULTIBLOCK_MAX_SEND_FRAGMENT;
2387
0
                                                        }
2388
0
                                                    }
2389
0
                                                }
2390
0
                                            }
2391
0
                                        }
2392
0
                                    }
2393
0
                                }
2394
0
                            }
2395
0
                        }
2396
0
                    }
2397
0
                    break;
2398
0
                case 'a':
2399
0
                    switch(s[4]) {
2400
0
                    default:
2401
0
                        break;
2402
0
                    case 'a':
2403
0
                        switch(s[5]) {
2404
0
                        default:
2405
0
                            break;
2406
0
                        case 'd':
2407
0
                            switch(s[6]) {
2408
0
                            default:
2409
0
                                break;
2410
0
                            case 'p':
2411
0
                                if (strcmp("ad", s + 7) == 0)
2412
0
                                    return PIDX_CIPHER_PARAM_AEAD_TLS1_AAD_PAD;
2413
0
                                break;
2414
0
                            case '\0':
2415
0
                                return PIDX_CIPHER_PARAM_AEAD_TLS1_AAD;
2416
0
                            }
2417
0
                        }
2418
0
                    }
2419
0
                    break;
2420
0
                case 'i':
2421
0
                    switch(s[4]) {
2422
0
                    default:
2423
0
                        break;
2424
0
                    case 'v':
2425
0
                        switch(s[5]) {
2426
0
                        default:
2427
0
                            break;
2428
0
                        case 'f':
2429
0
                            if (strcmp("ixed", s + 6) == 0)
2430
0
                                return PIDX_CIPHER_PARAM_AEAD_TLS1_IV_FIXED;
2431
0
                            break;
2432
0
                        case 'g':
2433
0
                            if (strcmp("en", s + 6) == 0)
2434
0
                                return PIDX_CIPHER_PARAM_AEAD_TLS1_GET_IV_GEN;
2435
0
                            break;
2436
0
                        case 'i':
2437
0
                            if (strcmp("nv", s + 6) == 0)
2438
0
                                return PIDX_CIPHER_PARAM_AEAD_TLS1_SET_IV_INV;
2439
0
                        }
2440
0
                    }
2441
0
                    break;
2442
0
                case 't':
2443
0
                    if (strcmp("ree", s + 4) == 0)
2444
0
                        return PIDX_LIBSSL_RECORD_LAYER_PARAM_TLSTREE;
2445
0
                }
2446
0
            }
2447
0
            break;
2448
0
        case 'p':
2449
0
            switch(s[2]) {
2450
0
            default:
2451
0
                break;
2452
0
            case '\0':
2453
0
                return PIDX_PKEY_PARAM_EC_CHAR2_TP_BASIS;
2454
0
            }
2455
0
            break;
2456
0
        case 'y':
2457
0
            if (strcmp("pe", s + 2) == 0)
2458
0
                return PIDX_OBJECT_PARAM_TYPE;
2459
0
        }
2460
0
        break;
2461
0
    case 'u':
2462
0
        switch(s[1]) {
2463
0
        default:
2464
0
            break;
2465
0
        case 'k':
2466
0
            if (strcmp("m", s + 2) == 0)
2467
0
                return PIDX_KDF_PARAM_UKM;
2468
0
            break;
2469
0
        case 'p':
2470
0
            if (strcmp("dated-iv", s + 2) == 0)
2471
0
                return PIDX_CIPHER_PARAM_UPDATED_IV;
2472
0
            break;
2473
0
        case 's':
2474
0
            switch(s[2]) {
2475
0
            default:
2476
0
                break;
2477
0
            case 'e':
2478
0
                switch(s[3]) {
2479
0
                default:
2480
0
                    break;
2481
0
                case '-':
2482
0
                    switch(s[4]) {
2483
0
                    default:
2484
0
                        break;
2485
0
                    case 'b':
2486
0
                        if (strcmp("its", s + 5) == 0)
2487
0
                            return PIDX_CIPHER_PARAM_USE_BITS;
2488
0
                        break;
2489
0
                    case 'c':
2490
0
                        if (strcmp("ofactor-flag", s + 5) == 0)
2491
0
                            return PIDX_PKEY_PARAM_USE_COFACTOR_FLAG;
2492
0
                        break;
2493
0
                    case 'k':
2494
0
                        if (strcmp("eybits", s + 5) == 0)
2495
0
                            return PIDX_KDF_PARAM_X942_USE_KEYBITS;
2496
0
                        break;
2497
0
                    case 'l':
2498
0
                        switch(s[5]) {
2499
0
                        default:
2500
0
                            break;
2501
0
                        case '\0':
2502
0
                            return PIDX_KDF_PARAM_KBKDF_USE_L;
2503
0
                        }
2504
0
                        break;
2505
0
                    case 's':
2506
0
                        if (strcmp("eparator", s + 5) == 0)
2507
0
                            return PIDX_KDF_PARAM_KBKDF_USE_SEPARATOR;
2508
0
                    }
2509
0
                    break;
2510
0
                case '_':
2511
0
                    switch(s[4]) {
2512
0
                    default:
2513
0
                        break;
2514
0
                    case 'd':
2515
0
                        if (strcmp("erivation_function", s + 5) == 0)
2516
0
                            return PIDX_DRBG_PARAM_USE_DF;
2517
0
                        break;
2518
0
                    case 'e':
2519
0
                        if (strcmp("tm", s + 5) == 0)
2520
0
                            return PIDX_LIBSSL_RECORD_LAYER_PARAM_USE_ETM;
2521
0
                    }
2522
0
                }
2523
0
            }
2524
0
        }
2525
0
        break;
2526
0
    case 'v':
2527
0
        switch(s[1]) {
2528
0
        default:
2529
0
            break;
2530
0
        case 'a':
2531
0
            switch(s[2]) {
2532
0
            default:
2533
0
                break;
2534
0
            case 'l':
2535
0
                switch(s[3]) {
2536
0
                default:
2537
0
                    break;
2538
0
                case 'i':
2539
0
                    switch(s[4]) {
2540
0
                    default:
2541
0
                        break;
2542
0
                    case 'd':
2543
0
                        switch(s[5]) {
2544
0
                        default:
2545
0
                            break;
2546
0
                        case 'a':
2547
0
                            switch(s[6]) {
2548
0
                            default:
2549
0
                                break;
2550
0
                            case 't':
2551
0
                                switch(s[7]) {
2552
0
                                default:
2553
0
                                    break;
2554
0
                                case 'e':
2555
0
                                    switch(s[8]) {
2556
0
                                    default:
2557
0
                                        break;
2558
0
                                    case '-':
2559
0
                                        switch(s[9]) {
2560
0
                                        default:
2561
0
                                            break;
2562
0
                                        case 'g':
2563
0
                                            switch(s[10]) {
2564
0
                                            default:
2565
0
                                                break;
2566
0
                                            case '\0':
2567
0
                                                return PIDX_PKEY_PARAM_FFC_VALIDATE_G;
2568
0
                                            }
2569
0
                                            break;
2570
0
                                        case 'l':
2571
0
                                            if (strcmp("egacy", s + 10) == 0)
2572
0
                                                return PIDX_PKEY_PARAM_FFC_VALIDATE_LEGACY;
2573
0
                                            break;
2574
0
                                        case 'p':
2575
0
                                            if (strcmp("q", s + 10) == 0)
2576
0
                                                return PIDX_PKEY_PARAM_FFC_VALIDATE_PQ;
2577
0
                                        }
2578
0
                                    }
2579
0
                                }
2580
0
                            }
2581
0
                        }
2582
0
                    }
2583
0
                }
2584
0
            }
2585
0
            break;
2586
0
        case 'e':
2587
0
            if (strcmp("rsion", s + 2) == 0)
2588
0
                return PIDX_KDF_PARAM_ARGON2_VERSION;
2589
0
        }
2590
0
        break;
2591
0
    case 'x':
2592
0
        switch(s[1]) {
2593
0
        default:
2594
0
            break;
2595
0
        case 'c':
2596
0
            if (strcmp("ghash", s + 2) == 0)
2597
0
                return PIDX_KDF_PARAM_SSHKDF_XCGHASH;
2598
0
            break;
2599
0
        case 'o':
2600
0
            switch(s[2]) {
2601
0
            default:
2602
0
                break;
2603
0
            case 'f':
2604
0
                switch(s[3]) {
2605
0
                default:
2606
0
                    break;
2607
0
                case 'l':
2608
0
                    if (strcmp("en", s + 4) == 0)
2609
0
                        return PIDX_DIGEST_PARAM_XOFLEN;
2610
0
                    break;
2611
0
                case '\0':
2612
0
                    return PIDX_DIGEST_PARAM_XOF;
2613
0
                }
2614
0
            }
2615
0
            break;
2616
0
        case 'p':
2617
0
            switch(s[2]) {
2618
0
            default:
2619
0
                break;
2620
0
            case '1':
2621
0
                switch(s[3]) {
2622
0
                default:
2623
0
                    break;
2624
0
                case '\0':
2625
0
                    return PIDX_PKEY_PARAM_RSA_TEST_XP1;
2626
0
                }
2627
0
                break;
2628
0
            case '2':
2629
0
                switch(s[3]) {
2630
0
                default:
2631
0
                    break;
2632
0
                case '\0':
2633
0
                    return PIDX_PKEY_PARAM_RSA_TEST_XP2;
2634
0
                }
2635
0
                break;
2636
0
            case '\0':
2637
0
                return PIDX_PKEY_PARAM_RSA_TEST_XP;
2638
0
            }
2639
0
            break;
2640
0
        case 'q':
2641
0
            switch(s[2]) {
2642
0
            default:
2643
0
                break;
2644
0
            case '1':
2645
0
                switch(s[3]) {
2646
0
                default:
2647
0
                    break;
2648
0
                case '\0':
2649
0
                    return PIDX_PKEY_PARAM_RSA_TEST_XQ1;
2650
0
                }
2651
0
                break;
2652
0
            case '2':
2653
0
                switch(s[3]) {
2654
0
                default:
2655
0
                    break;
2656
0
                case '\0':
2657
0
                    return PIDX_PKEY_PARAM_RSA_TEST_XQ2;
2658
0
                }
2659
0
                break;
2660
0
            case '\0':
2661
0
                return PIDX_PKEY_PARAM_RSA_TEST_XQ;
2662
0
            }
2663
0
            break;
2664
0
        case 't':
2665
0
            if (strcmp("s_standard", s + 2) == 0)
2666
0
                return PIDX_CIPHER_PARAM_XTS_STANDARD;
2667
0
        }
2668
0
    }
2669
0
    return -1;
2670
0
}
2671
2672
/* End of TRIE */