Coverage Report

Created: 2026-02-14 07:20

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/openssl30/fuzz/server.c
Line
Count
Source
1
/*
2
 * Copyright 2016-2021 The OpenSSL Project Authors. All Rights Reserved.
3
 *
4
 * Licensed under the Apache License 2.0 (the "License");
5
 * you may not use this file except in compliance with the License.
6
 * You may obtain a copy of the License at
7
 * https://www.openssl.org/source/license.html
8
 * or in the file LICENSE in the source distribution.
9
 */
10
11
/* Shamelessly copied from BoringSSL and converted to C. */
12
13
/* Test first part of SSL server handshake. */
14
15
/* We need to use some deprecated APIs */
16
#define OPENSSL_SUPPRESS_DEPRECATED
17
18
#include <time.h>
19
#include <openssl/rand.h>
20
#include <openssl/ssl.h>
21
#include <openssl/rsa.h>
22
#include <openssl/dsa.h>
23
#include <openssl/ec.h>
24
#include <openssl/dh.h>
25
#include <openssl/err.h>
26
#include "fuzzer.h"
27
28
static const uint8_t kCertificateDER[] = {
29
    0x30,
30
    0x82,
31
    0x02,
32
    0xff,
33
    0x30,
34
    0x82,
35
    0x01,
36
    0xe7,
37
    0xa0,
38
    0x03,
39
    0x02,
40
    0x01,
41
    0x02,
42
    0x02,
43
    0x11,
44
    0x00,
45
    0xb1,
46
    0x84,
47
    0xee,
48
    0x34,
49
    0x99,
50
    0x98,
51
    0x76,
52
    0xfb,
53
    0x6f,
54
    0xb2,
55
    0x15,
56
    0xc8,
57
    0x47,
58
    0x79,
59
    0x05,
60
    0x9b,
61
    0x30,
62
    0x0d,
63
    0x06,
64
    0x09,
65
    0x2a,
66
    0x86,
67
    0x48,
68
    0x86,
69
    0xf7,
70
    0x0d,
71
    0x01,
72
    0x01,
73
    0x0b,
74
    0x05,
75
    0x00,
76
    0x30,
77
    0x12,
78
    0x31,
79
    0x10,
80
    0x30,
81
    0x0e,
82
    0x06,
83
    0x03,
84
    0x55,
85
    0x04,
86
    0x0a,
87
    0x13,
88
    0x07,
89
    0x41,
90
    0x63,
91
    0x6d,
92
    0x65,
93
    0x20,
94
    0x43,
95
    0x6f,
96
    0x30,
97
    0x1e,
98
    0x17,
99
    0x0d,
100
    0x31,
101
    0x35,
102
    0x31,
103
    0x31,
104
    0x30,
105
    0x37,
106
    0x30,
107
    0x30,
108
    0x32,
109
    0x34,
110
    0x35,
111
    0x36,
112
    0x5a,
113
    0x17,
114
    0x0d,
115
    0x31,
116
    0x36,
117
    0x31,
118
    0x31,
119
    0x30,
120
    0x36,
121
    0x30,
122
    0x30,
123
    0x32,
124
    0x34,
125
    0x35,
126
    0x36,
127
    0x5a,
128
    0x30,
129
    0x12,
130
    0x31,
131
    0x10,
132
    0x30,
133
    0x0e,
134
    0x06,
135
    0x03,
136
    0x55,
137
    0x04,
138
    0x0a,
139
    0x13,
140
    0x07,
141
    0x41,
142
    0x63,
143
    0x6d,
144
    0x65,
145
    0x20,
146
    0x43,
147
    0x6f,
148
    0x30,
149
    0x82,
150
    0x01,
151
    0x22,
152
    0x30,
153
    0x0d,
154
    0x06,
155
    0x09,
156
    0x2a,
157
    0x86,
158
    0x48,
159
    0x86,
160
    0xf7,
161
    0x0d,
162
    0x01,
163
    0x01,
164
    0x01,
165
    0x05,
166
    0x00,
167
    0x03,
168
    0x82,
169
    0x01,
170
    0x0f,
171
    0x00,
172
    0x30,
173
    0x82,
174
    0x01,
175
    0x0a,
176
    0x02,
177
    0x82,
178
    0x01,
179
    0x01,
180
    0x00,
181
    0xce,
182
    0x47,
183
    0xcb,
184
    0x11,
185
    0xbb,
186
    0xd2,
187
    0x9d,
188
    0x8e,
189
    0x9e,
190
    0xd2,
191
    0x1e,
192
    0x14,
193
    0xaf,
194
    0xc7,
195
    0xea,
196
    0xb6,
197
    0xc9,
198
    0x38,
199
    0x2a,
200
    0x6f,
201
    0xb3,
202
    0x7e,
203
    0xfb,
204
    0xbc,
205
    0xfc,
206
    0x59,
207
    0x42,
208
    0xb9,
209
    0x56,
210
    0xf0,
211
    0x4c,
212
    0x3f,
213
    0xf7,
214
    0x31,
215
    0x84,
216
    0xbe,
217
    0xac,
218
    0x03,
219
    0x9e,
220
    0x71,
221
    0x91,
222
    0x85,
223
    0xd8,
224
    0x32,
225
    0xbd,
226
    0x00,
227
    0xea,
228
    0xac,
229
    0x65,
230
    0xf6,
231
    0x03,
232
    0xc8,
233
    0x0f,
234
    0x8b,
235
    0xfd,
236
    0x6e,
237
    0x58,
238
    0x88,
239
    0x04,
240
    0x41,
241
    0x92,
242
    0x74,
243
    0xa6,
244
    0x57,
245
    0x2e,
246
    0x8e,
247
    0x88,
248
    0xd5,
249
    0x3d,
250
    0xda,
251
    0x14,
252
    0x3e,
253
    0x63,
254
    0x88,
255
    0x22,
256
    0xe3,
257
    0x53,
258
    0xe9,
259
    0xba,
260
    0x39,
261
    0x09,
262
    0xac,
263
    0xfb,
264
    0xd0,
265
    0x4c,
266
    0xf2,
267
    0x3c,
268
    0x20,
269
    0xd6,
270
    0x97,
271
    0xe6,
272
    0xed,
273
    0xf1,
274
    0x62,
275
    0x1e,
276
    0xe5,
277
    0xc9,
278
    0x48,
279
    0xa0,
280
    0xca,
281
    0x2e,
282
    0x3c,
283
    0x14,
284
    0x5a,
285
    0x82,
286
    0xd4,
287
    0xed,
288
    0xb1,
289
    0xe3,
290
    0x43,
291
    0xc1,
292
    0x2a,
293
    0x59,
294
    0xa5,
295
    0xb9,
296
    0xc8,
297
    0x48,
298
    0xa7,
299
    0x39,
300
    0x23,
301
    0x74,
302
    0xa7,
303
    0x37,
304
    0xb0,
305
    0x6f,
306
    0xc3,
307
    0x64,
308
    0x99,
309
    0x6c,
310
    0xa2,
311
    0x82,
312
    0xc8,
313
    0xf6,
314
    0xdb,
315
    0x86,
316
    0x40,
317
    0xce,
318
    0xd1,
319
    0x85,
320
    0x9f,
321
    0xce,
322
    0x69,
323
    0xf4,
324
    0x15,
325
    0x2a,
326
    0x23,
327
    0xca,
328
    0xea,
329
    0xb7,
330
    0x7b,
331
    0xdf,
332
    0xfb,
333
    0x43,
334
    0x5f,
335
    0xff,
336
    0x7a,
337
    0x49,
338
    0x49,
339
    0x0e,
340
    0xe7,
341
    0x02,
342
    0x51,
343
    0x45,
344
    0x13,
345
    0xe8,
346
    0x90,
347
    0x64,
348
    0x21,
349
    0x0c,
350
    0x26,
351
    0x2b,
352
    0x5d,
353
    0xfc,
354
    0xe4,
355
    0xb5,
356
    0x86,
357
    0x89,
358
    0x43,
359
    0x22,
360
    0x4c,
361
    0xf3,
362
    0x3b,
363
    0xf3,
364
    0x09,
365
    0xc4,
366
    0xa4,
367
    0x10,
368
    0x80,
369
    0xf2,
370
    0x46,
371
    0xe2,
372
    0x46,
373
    0x8f,
374
    0x76,
375
    0x50,
376
    0xbf,
377
    0xaf,
378
    0x2b,
379
    0x90,
380
    0x1b,
381
    0x78,
382
    0xc7,
383
    0xcf,
384
    0xc1,
385
    0x77,
386
    0xd0,
387
    0xfb,
388
    0xa9,
389
    0xfb,
390
    0xc9,
391
    0x66,
392
    0x5a,
393
    0xc5,
394
    0x9b,
395
    0x31,
396
    0x41,
397
    0x67,
398
    0x01,
399
    0xbe,
400
    0x33,
401
    0x10,
402
    0xba,
403
    0x05,
404
    0x58,
405
    0xed,
406
    0x76,
407
    0x53,
408
    0xde,
409
    0x5d,
410
    0xc1,
411
    0xe8,
412
    0xbb,
413
    0x9f,
414
    0xf1,
415
    0xcd,
416
    0xfb,
417
    0xdf,
418
    0x64,
419
    0x7f,
420
    0xd7,
421
    0x18,
422
    0xab,
423
    0x0f,
424
    0x94,
425
    0x28,
426
    0x95,
427
    0x4a,
428
    0xcc,
429
    0x6a,
430
    0xa9,
431
    0x50,
432
    0xc7,
433
    0x05,
434
    0x47,
435
    0x10,
436
    0x41,
437
    0x02,
438
    0x03,
439
    0x01,
440
    0x00,
441
    0x01,
442
    0xa3,
443
    0x50,
444
    0x30,
445
    0x4e,
446
    0x30,
447
    0x0e,
448
    0x06,
449
    0x03,
450
    0x55,
451
    0x1d,
452
    0x0f,
453
    0x01,
454
    0x01,
455
    0xff,
456
    0x04,
457
    0x04,
458
    0x03,
459
    0x02,
460
    0x05,
461
    0xa0,
462
    0x30,
463
    0x13,
464
    0x06,
465
    0x03,
466
    0x55,
467
    0x1d,
468
    0x25,
469
    0x04,
470
    0x0c,
471
    0x30,
472
    0x0a,
473
    0x06,
474
    0x08,
475
    0x2b,
476
    0x06,
477
    0x01,
478
    0x05,
479
    0x05,
480
    0x07,
481
    0x03,
482
    0x01,
483
    0x30,
484
    0x0c,
485
    0x06,
486
    0x03,
487
    0x55,
488
    0x1d,
489
    0x13,
490
    0x01,
491
    0x01,
492
    0xff,
493
    0x04,
494
    0x02,
495
    0x30,
496
    0x00,
497
    0x30,
498
    0x19,
499
    0x06,
500
    0x03,
501
    0x55,
502
    0x1d,
503
    0x11,
504
    0x04,
505
    0x12,
506
    0x30,
507
    0x10,
508
    0x82,
509
    0x0e,
510
    0x66,
511
    0x75,
512
    0x7a,
513
    0x7a,
514
    0x2e,
515
    0x62,
516
    0x6f,
517
    0x72,
518
    0x69,
519
    0x6e,
520
    0x67,
521
    0x73,
522
    0x73,
523
    0x6c,
524
    0x30,
525
    0x0d,
526
    0x06,
527
    0x09,
528
    0x2a,
529
    0x86,
530
    0x48,
531
    0x86,
532
    0xf7,
533
    0x0d,
534
    0x01,
535
    0x01,
536
    0x0b,
537
    0x05,
538
    0x00,
539
    0x03,
540
    0x82,
541
    0x01,
542
    0x01,
543
    0x00,
544
    0x92,
545
    0xde,
546
    0xef,
547
    0x96,
548
    0x06,
549
    0x7b,
550
    0xff,
551
    0x71,
552
    0x7d,
553
    0x4e,
554
    0xa0,
555
    0x7d,
556
    0xae,
557
    0xb8,
558
    0x22,
559
    0xb4,
560
    0x2c,
561
    0xf7,
562
    0x96,
563
    0x9c,
564
    0x37,
565
    0x1d,
566
    0x8f,
567
    0xe7,
568
    0xd9,
569
    0x47,
570
    0xff,
571
    0x3f,
572
    0xe9,
573
    0x35,
574
    0x95,
575
    0x0e,
576
    0xdd,
577
    0xdc,
578
    0x7f,
579
    0xc8,
580
    0x8a,
581
    0x1e,
582
    0x36,
583
    0x1d,
584
    0x38,
585
    0x47,
586
    0xfc,
587
    0x76,
588
    0xd2,
589
    0x1f,
590
    0x98,
591
    0xa1,
592
    0x36,
593
    0xac,
594
    0xc8,
595
    0x70,
596
    0x38,
597
    0x0a,
598
    0x3d,
599
    0x51,
600
    0x8d,
601
    0x0f,
602
    0x03,
603
    0x1b,
604
    0xef,
605
    0x62,
606
    0xa1,
607
    0xcb,
608
    0x2b,
609
    0x4a,
610
    0x8c,
611
    0x12,
612
    0x2b,
613
    0x54,
614
    0x50,
615
    0x9a,
616
    0x6b,
617
    0xfe,
618
    0xaf,
619
    0xd9,
620
    0xf6,
621
    0xbf,
622
    0x58,
623
    0x11,
624
    0x58,
625
    0x5e,
626
    0xe5,
627
    0x86,
628
    0x1e,
629
    0x3b,
630
    0x6b,
631
    0x30,
632
    0x7e,
633
    0x72,
634
    0x89,
635
    0xe8,
636
    0x6b,
637
    0x7b,
638
    0xb7,
639
    0xaf,
640
    0xef,
641
    0x8b,
642
    0xa9,
643
    0x3e,
644
    0xb0,
645
    0xcd,
646
    0x0b,
647
    0xef,
648
    0xb0,
649
    0x0c,
650
    0x96,
651
    0x2b,
652
    0xc5,
653
    0x3b,
654
    0xd5,
655
    0xf1,
656
    0xc2,
657
    0xae,
658
    0x3a,
659
    0x60,
660
    0xd9,
661
    0x0f,
662
    0x75,
663
    0x37,
664
    0x55,
665
    0x4d,
666
    0x62,
667
    0xd2,
668
    0xed,
669
    0x96,
670
    0xac,
671
    0x30,
672
    0x6b,
673
    0xda,
674
    0xa1,
675
    0x48,
676
    0x17,
677
    0x96,
678
    0x23,
679
    0x85,
680
    0x9a,
681
    0x57,
682
    0x77,
683
    0xe9,
684
    0x22,
685
    0xa2,
686
    0x37,
687
    0x03,
688
    0xba,
689
    0x49,
690
    0x77,
691
    0x40,
692
    0x3b,
693
    0x76,
694
    0x4b,
695
    0xda,
696
    0xc1,
697
    0x04,
698
    0x57,
699
    0x55,
700
    0x34,
701
    0x22,
702
    0x83,
703
    0x45,
704
    0x29,
705
    0xab,
706
    0x2e,
707
    0x11,
708
    0xff,
709
    0x0d,
710
    0xab,
711
    0x55,
712
    0xb1,
713
    0xa7,
714
    0x58,
715
    0x59,
716
    0x05,
717
    0x25,
718
    0xf9,
719
    0x1e,
720
    0x3d,
721
    0xb7,
722
    0xac,
723
    0x04,
724
    0x39,
725
    0x2c,
726
    0xf9,
727
    0xaf,
728
    0xb8,
729
    0x68,
730
    0xfb,
731
    0x8e,
732
    0x35,
733
    0x71,
734
    0x32,
735
    0xff,
736
    0x70,
737
    0xe9,
738
    0x46,
739
    0x6d,
740
    0x5c,
741
    0x06,
742
    0x90,
743
    0x88,
744
    0x23,
745
    0x48,
746
    0x0c,
747
    0x50,
748
    0xeb,
749
    0x0a,
750
    0xa9,
751
    0xae,
752
    0xe8,
753
    0xfc,
754
    0xbe,
755
    0xa5,
756
    0x76,
757
    0x94,
758
    0xd7,
759
    0x64,
760
    0x22,
761
    0x38,
762
    0x98,
763
    0x17,
764
    0xa4,
765
    0x3a,
766
    0xa7,
767
    0x59,
768
    0x9f,
769
    0x1d,
770
    0x3b,
771
    0x75,
772
    0x90,
773
    0x1a,
774
    0x81,
775
    0xef,
776
    0x19,
777
    0xfb,
778
    0x2b,
779
    0xb7,
780
    0xa7,
781
    0x64,
782
    0x61,
783
    0x22,
784
    0xa4,
785
    0x6f,
786
    0x7b,
787
    0xfa,
788
    0x58,
789
    0xbb,
790
    0x8c,
791
    0x4e,
792
    0x77,
793
    0x67,
794
    0xd0,
795
    0x5d,
796
    0x58,
797
    0x76,
798
    0x8a,
799
    0xbb,
800
};
801
802
#ifndef OPENSSL_NO_DEPRECATED_3_0
803
static const uint8_t kRSAPrivateKeyDER[] = {
804
    0x30,
805
    0x82,
806
    0x04,
807
    0xa5,
808
    0x02,
809
    0x01,
810
    0x00,
811
    0x02,
812
    0x82,
813
    0x01,
814
    0x01,
815
    0x00,
816
    0xce,
817
    0x47,
818
    0xcb,
819
    0x11,
820
    0xbb,
821
    0xd2,
822
    0x9d,
823
    0x8e,
824
    0x9e,
825
    0xd2,
826
    0x1e,
827
    0x14,
828
    0xaf,
829
    0xc7,
830
    0xea,
831
    0xb6,
832
    0xc9,
833
    0x38,
834
    0x2a,
835
    0x6f,
836
    0xb3,
837
    0x7e,
838
    0xfb,
839
    0xbc,
840
    0xfc,
841
    0x59,
842
    0x42,
843
    0xb9,
844
    0x56,
845
    0xf0,
846
    0x4c,
847
    0x3f,
848
    0xf7,
849
    0x31,
850
    0x84,
851
    0xbe,
852
    0xac,
853
    0x03,
854
    0x9e,
855
    0x71,
856
    0x91,
857
    0x85,
858
    0xd8,
859
    0x32,
860
    0xbd,
861
    0x00,
862
    0xea,
863
    0xac,
864
    0x65,
865
    0xf6,
866
    0x03,
867
    0xc8,
868
    0x0f,
869
    0x8b,
870
    0xfd,
871
    0x6e,
872
    0x58,
873
    0x88,
874
    0x04,
875
    0x41,
876
    0x92,
877
    0x74,
878
    0xa6,
879
    0x57,
880
    0x2e,
881
    0x8e,
882
    0x88,
883
    0xd5,
884
    0x3d,
885
    0xda,
886
    0x14,
887
    0x3e,
888
    0x63,
889
    0x88,
890
    0x22,
891
    0xe3,
892
    0x53,
893
    0xe9,
894
    0xba,
895
    0x39,
896
    0x09,
897
    0xac,
898
    0xfb,
899
    0xd0,
900
    0x4c,
901
    0xf2,
902
    0x3c,
903
    0x20,
904
    0xd6,
905
    0x97,
906
    0xe6,
907
    0xed,
908
    0xf1,
909
    0x62,
910
    0x1e,
911
    0xe5,
912
    0xc9,
913
    0x48,
914
    0xa0,
915
    0xca,
916
    0x2e,
917
    0x3c,
918
    0x14,
919
    0x5a,
920
    0x82,
921
    0xd4,
922
    0xed,
923
    0xb1,
924
    0xe3,
925
    0x43,
926
    0xc1,
927
    0x2a,
928
    0x59,
929
    0xa5,
930
    0xb9,
931
    0xc8,
932
    0x48,
933
    0xa7,
934
    0x39,
935
    0x23,
936
    0x74,
937
    0xa7,
938
    0x37,
939
    0xb0,
940
    0x6f,
941
    0xc3,
942
    0x64,
943
    0x99,
944
    0x6c,
945
    0xa2,
946
    0x82,
947
    0xc8,
948
    0xf6,
949
    0xdb,
950
    0x86,
951
    0x40,
952
    0xce,
953
    0xd1,
954
    0x85,
955
    0x9f,
956
    0xce,
957
    0x69,
958
    0xf4,
959
    0x15,
960
    0x2a,
961
    0x23,
962
    0xca,
963
    0xea,
964
    0xb7,
965
    0x7b,
966
    0xdf,
967
    0xfb,
968
    0x43,
969
    0x5f,
970
    0xff,
971
    0x7a,
972
    0x49,
973
    0x49,
974
    0x0e,
975
    0xe7,
976
    0x02,
977
    0x51,
978
    0x45,
979
    0x13,
980
    0xe8,
981
    0x90,
982
    0x64,
983
    0x21,
984
    0x0c,
985
    0x26,
986
    0x2b,
987
    0x5d,
988
    0xfc,
989
    0xe4,
990
    0xb5,
991
    0x86,
992
    0x89,
993
    0x43,
994
    0x22,
995
    0x4c,
996
    0xf3,
997
    0x3b,
998
    0xf3,
999
    0x09,
1000
    0xc4,
1001
    0xa4,
1002
    0x10,
1003
    0x80,
1004
    0xf2,
1005
    0x46,
1006
    0xe2,
1007
    0x46,
1008
    0x8f,
1009
    0x76,
1010
    0x50,
1011
    0xbf,
1012
    0xaf,
1013
    0x2b,
1014
    0x90,
1015
    0x1b,
1016
    0x78,
1017
    0xc7,
1018
    0xcf,
1019
    0xc1,
1020
    0x77,
1021
    0xd0,
1022
    0xfb,
1023
    0xa9,
1024
    0xfb,
1025
    0xc9,
1026
    0x66,
1027
    0x5a,
1028
    0xc5,
1029
    0x9b,
1030
    0x31,
1031
    0x41,
1032
    0x67,
1033
    0x01,
1034
    0xbe,
1035
    0x33,
1036
    0x10,
1037
    0xba,
1038
    0x05,
1039
    0x58,
1040
    0xed,
1041
    0x76,
1042
    0x53,
1043
    0xde,
1044
    0x5d,
1045
    0xc1,
1046
    0xe8,
1047
    0xbb,
1048
    0x9f,
1049
    0xf1,
1050
    0xcd,
1051
    0xfb,
1052
    0xdf,
1053
    0x64,
1054
    0x7f,
1055
    0xd7,
1056
    0x18,
1057
    0xab,
1058
    0x0f,
1059
    0x94,
1060
    0x28,
1061
    0x95,
1062
    0x4a,
1063
    0xcc,
1064
    0x6a,
1065
    0xa9,
1066
    0x50,
1067
    0xc7,
1068
    0x05,
1069
    0x47,
1070
    0x10,
1071
    0x41,
1072
    0x02,
1073
    0x03,
1074
    0x01,
1075
    0x00,
1076
    0x01,
1077
    0x02,
1078
    0x82,
1079
    0x01,
1080
    0x01,
1081
    0x00,
1082
    0xa8,
1083
    0x47,
1084
    0xb9,
1085
    0x4a,
1086
    0x06,
1087
    0x47,
1088
    0x93,
1089
    0x71,
1090
    0x3d,
1091
    0xef,
1092
    0x7b,
1093
    0xca,
1094
    0xb4,
1095
    0x7c,
1096
    0x0a,
1097
    0xe6,
1098
    0x82,
1099
    0xd0,
1100
    0xe7,
1101
    0x0d,
1102
    0xa9,
1103
    0x08,
1104
    0xf6,
1105
    0xa4,
1106
    0xfd,
1107
    0xd8,
1108
    0x73,
1109
    0xae,
1110
    0x6f,
1111
    0x56,
1112
    0x29,
1113
    0x5e,
1114
    0x25,
1115
    0x72,
1116
    0xa8,
1117
    0x30,
1118
    0x44,
1119
    0x73,
1120
    0xcf,
1121
    0x56,
1122
    0x26,
1123
    0xb9,
1124
    0x61,
1125
    0xde,
1126
    0x42,
1127
    0x81,
1128
    0xf4,
1129
    0xf0,
1130
    0x1f,
1131
    0x5d,
1132
    0xcb,
1133
    0x47,
1134
    0xf2,
1135
    0x26,
1136
    0xe9,
1137
    0xe0,
1138
    0x93,
1139
    0x28,
1140
    0xa3,
1141
    0x10,
1142
    0x3b,
1143
    0x42,
1144
    0x1e,
1145
    0x51,
1146
    0x11,
1147
    0x12,
1148
    0x06,
1149
    0x5e,
1150
    0xaf,
1151
    0xce,
1152
    0xb0,
1153
    0xa5,
1154
    0x14,
1155
    0xdd,
1156
    0x82,
1157
    0x58,
1158
    0xa1,
1159
    0xa4,
1160
    0x12,
1161
    0xdf,
1162
    0x65,
1163
    0x1d,
1164
    0x51,
1165
    0x70,
1166
    0x64,
1167
    0xd5,
1168
    0x58,
1169
    0x68,
1170
    0x11,
1171
    0xa8,
1172
    0x6a,
1173
    0x23,
1174
    0xc2,
1175
    0xbf,
1176
    0xa1,
1177
    0x25,
1178
    0x24,
1179
    0x47,
1180
    0xb3,
1181
    0xa4,
1182
    0x3c,
1183
    0x83,
1184
    0x96,
1185
    0xb7,
1186
    0x1f,
1187
    0xf4,
1188
    0x44,
1189
    0xd4,
1190
    0xd1,
1191
    0xe9,
1192
    0xfc,
1193
    0x33,
1194
    0x68,
1195
    0x5e,
1196
    0xe2,
1197
    0x68,
1198
    0x99,
1199
    0x9c,
1200
    0x91,
1201
    0xe8,
1202
    0x72,
1203
    0xc9,
1204
    0xd7,
1205
    0x8c,
1206
    0x80,
1207
    0x20,
1208
    0x8e,
1209
    0x77,
1210
    0x83,
1211
    0x4d,
1212
    0xe4,
1213
    0xab,
1214
    0xf9,
1215
    0x74,
1216
    0xa1,
1217
    0xdf,
1218
    0xd3,
1219
    0xc0,
1220
    0x0d,
1221
    0x5b,
1222
    0x05,
1223
    0x51,
1224
    0xc2,
1225
    0x6f,
1226
    0xb2,
1227
    0x91,
1228
    0x02,
1229
    0xec,
1230
    0xc0,
1231
    0x02,
1232
    0x1a,
1233
    0x5c,
1234
    0x91,
1235
    0x05,
1236
    0xf1,
1237
    0xe3,
1238
    0xfa,
1239
    0x65,
1240
    0xc2,
1241
    0xad,
1242
    0x24,
1243
    0xe6,
1244
    0xe5,
1245
    0x3c,
1246
    0xb6,
1247
    0x16,
1248
    0xf1,
1249
    0xa1,
1250
    0x67,
1251
    0x1a,
1252
    0x9d,
1253
    0x37,
1254
    0x56,
1255
    0xbf,
1256
    0x01,
1257
    0xd7,
1258
    0x3b,
1259
    0x35,
1260
    0x30,
1261
    0x57,
1262
    0x73,
1263
    0xf4,
1264
    0xf0,
1265
    0x5e,
1266
    0xa7,
1267
    0xe8,
1268
    0x0a,
1269
    0xc1,
1270
    0x94,
1271
    0x17,
1272
    0xcf,
1273
    0x0a,
1274
    0xbd,
1275
    0xf5,
1276
    0x31,
1277
    0xa7,
1278
    0x2d,
1279
    0xf7,
1280
    0xf5,
1281
    0xd9,
1282
    0x8c,
1283
    0xc2,
1284
    0x01,
1285
    0xbd,
1286
    0xda,
1287
    0x16,
1288
    0x8e,
1289
    0xb9,
1290
    0x30,
1291
    0x40,
1292
    0xa6,
1293
    0x6e,
1294
    0xbd,
1295
    0xcd,
1296
    0x4d,
1297
    0x84,
1298
    0x67,
1299
    0x4e,
1300
    0x0b,
1301
    0xce,
1302
    0xd5,
1303
    0xef,
1304
    0xf8,
1305
    0x08,
1306
    0x63,
1307
    0x02,
1308
    0xc6,
1309
    0xc7,
1310
    0xf7,
1311
    0x67,
1312
    0x92,
1313
    0xe2,
1314
    0x23,
1315
    0x9d,
1316
    0x27,
1317
    0x22,
1318
    0x1d,
1319
    0xc6,
1320
    0x67,
1321
    0x5e,
1322
    0x66,
1323
    0xbf,
1324
    0x03,
1325
    0xb8,
1326
    0xa9,
1327
    0x67,
1328
    0xd4,
1329
    0x39,
1330
    0xd8,
1331
    0x75,
1332
    0xfa,
1333
    0xe8,
1334
    0xed,
1335
    0x56,
1336
    0xb8,
1337
    0x81,
1338
    0x02,
1339
    0x81,
1340
    0x81,
1341
    0x00,
1342
    0xf7,
1343
    0x46,
1344
    0x68,
1345
    0xc6,
1346
    0x13,
1347
    0xf8,
1348
    0xba,
1349
    0x0f,
1350
    0x83,
1351
    0xdb,
1352
    0x05,
1353
    0xa8,
1354
    0x25,
1355
    0x00,
1356
    0x70,
1357
    0x9c,
1358
    0x9e,
1359
    0x8b,
1360
    0x12,
1361
    0x34,
1362
    0x0d,
1363
    0x96,
1364
    0xcf,
1365
    0x0d,
1366
    0x98,
1367
    0x9b,
1368
    0x8d,
1369
    0x9c,
1370
    0x96,
1371
    0x78,
1372
    0xd1,
1373
    0x3c,
1374
    0x01,
1375
    0x8c,
1376
    0xb9,
1377
    0x35,
1378
    0x5c,
1379
    0x20,
1380
    0x42,
1381
    0xb4,
1382
    0x38,
1383
    0xe3,
1384
    0xd6,
1385
    0x54,
1386
    0xe7,
1387
    0x55,
1388
    0xd6,
1389
    0x26,
1390
    0x8a,
1391
    0x0c,
1392
    0xf6,
1393
    0x1f,
1394
    0xe0,
1395
    0x04,
1396
    0xc1,
1397
    0x22,
1398
    0x42,
1399
    0x19,
1400
    0x61,
1401
    0xc4,
1402
    0x94,
1403
    0x7c,
1404
    0x07,
1405
    0x2e,
1406
    0x80,
1407
    0x52,
1408
    0xfe,
1409
    0x8d,
1410
    0xe6,
1411
    0x92,
1412
    0x3a,
1413
    0x91,
1414
    0xfe,
1415
    0x72,
1416
    0x99,
1417
    0xe1,
1418
    0x2a,
1419
    0x73,
1420
    0x76,
1421
    0xb1,
1422
    0x24,
1423
    0x20,
1424
    0x67,
1425
    0xde,
1426
    0x28,
1427
    0xcb,
1428
    0x0e,
1429
    0xe6,
1430
    0x52,
1431
    0xb5,
1432
    0xfa,
1433
    0xfb,
1434
    0x8b,
1435
    0x1e,
1436
    0x6a,
1437
    0x1d,
1438
    0x09,
1439
    0x26,
1440
    0xb9,
1441
    0xa7,
1442
    0x61,
1443
    0xba,
1444
    0xf8,
1445
    0x79,
1446
    0xd2,
1447
    0x66,
1448
    0x57,
1449
    0x28,
1450
    0xd7,
1451
    0x31,
1452
    0xb5,
1453
    0x0b,
1454
    0x27,
1455
    0x19,
1456
    0x1e,
1457
    0x6f,
1458
    0x46,
1459
    0xfc,
1460
    0x54,
1461
    0x95,
1462
    0xeb,
1463
    0x78,
1464
    0x01,
1465
    0xb6,
1466
    0xd9,
1467
    0x79,
1468
    0x5a,
1469
    0x4d,
1470
    0x02,
1471
    0x81,
1472
    0x81,
1473
    0x00,
1474
    0xd5,
1475
    0x8f,
1476
    0x16,
1477
    0x53,
1478
    0x2f,
1479
    0x57,
1480
    0x93,
1481
    0xbf,
1482
    0x09,
1483
    0x75,
1484
    0xbf,
1485
    0x63,
1486
    0x40,
1487
    0x3d,
1488
    0x27,
1489
    0xfd,
1490
    0x23,
1491
    0x21,
1492
    0xde,
1493
    0x9b,
1494
    0xe9,
1495
    0x73,
1496
    0x3f,
1497
    0x49,
1498
    0x02,
1499
    0xd2,
1500
    0x38,
1501
    0x96,
1502
    0xcf,
1503
    0xc3,
1504
    0xba,
1505
    0x92,
1506
    0x07,
1507
    0x87,
1508
    0x52,
1509
    0xa9,
1510
    0x35,
1511
    0xe3,
1512
    0x0c,
1513
    0xe4,
1514
    0x2f,
1515
    0x05,
1516
    0x7b,
1517
    0x37,
1518
    0xa5,
1519
    0x40,
1520
    0x9c,
1521
    0x3b,
1522
    0x94,
1523
    0xf7,
1524
    0xad,
1525
    0xa0,
1526
    0xee,
1527
    0x3a,
1528
    0xa8,
1529
    0xfb,
1530
    0x1f,
1531
    0x11,
1532
    0x1f,
1533
    0xd8,
1534
    0x9a,
1535
    0x80,
1536
    0x42,
1537
    0x3d,
1538
    0x7f,
1539
    0xa4,
1540
    0xb8,
1541
    0x9a,
1542
    0xaa,
1543
    0xea,
1544
    0x72,
1545
    0xc1,
1546
    0xe3,
1547
    0xed,
1548
    0x06,
1549
    0x60,
1550
    0x92,
1551
    0x37,
1552
    0xf9,
1553
    0xba,
1554
    0xfb,
1555
    0x9e,
1556
    0xed,
1557
    0x05,
1558
    0xa6,
1559
    0xd4,
1560
    0x72,
1561
    0x68,
1562
    0x4f,
1563
    0x63,
1564
    0xfe,
1565
    0xd6,
1566
    0x10,
1567
    0x0d,
1568
    0x4f,
1569
    0x0a,
1570
    0x93,
1571
    0xc6,
1572
    0xb9,
1573
    0xd7,
1574
    0xaf,
1575
    0xfd,
1576
    0xd9,
1577
    0x57,
1578
    0x7d,
1579
    0xcb,
1580
    0x75,
1581
    0xe8,
1582
    0x93,
1583
    0x2b,
1584
    0xae,
1585
    0x4f,
1586
    0xea,
1587
    0xd7,
1588
    0x30,
1589
    0x0b,
1590
    0x58,
1591
    0x44,
1592
    0x82,
1593
    0x0f,
1594
    0x84,
1595
    0x5d,
1596
    0x62,
1597
    0x11,
1598
    0x78,
1599
    0xea,
1600
    0x5f,
1601
    0xc5,
1602
    0x02,
1603
    0x81,
1604
    0x81,
1605
    0x00,
1606
    0x82,
1607
    0x0c,
1608
    0xc1,
1609
    0xe6,
1610
    0x0b,
1611
    0x72,
1612
    0xf1,
1613
    0x48,
1614
    0x5f,
1615
    0xac,
1616
    0xbd,
1617
    0x98,
1618
    0xe5,
1619
    0x7d,
1620
    0x09,
1621
    0xbd,
1622
    0x15,
1623
    0x95,
1624
    0x47,
1625
    0x09,
1626
    0xa1,
1627
    0x6c,
1628
    0x03,
1629
    0x91,
1630
    0xbf,
1631
    0x05,
1632
    0x70,
1633
    0xc1,
1634
    0x3e,
1635
    0x52,
1636
    0x64,
1637
    0x99,
1638
    0x0e,
1639
    0xa7,
1640
    0x98,
1641
    0x70,
1642
    0xfb,
1643
    0xf6,
1644
    0xeb,
1645
    0x9e,
1646
    0x25,
1647
    0x9d,
1648
    0x8e,
1649
    0x88,
1650
    0x30,
1651
    0xf2,
1652
    0xf0,
1653
    0x22,
1654
    0x6c,
1655
    0xd0,
1656
    0xcc,
1657
    0x51,
1658
    0x8f,
1659
    0x5c,
1660
    0x70,
1661
    0xc7,
1662
    0x37,
1663
    0xc4,
1664
    0x69,
1665
    0xab,
1666
    0x1d,
1667
    0xfc,
1668
    0xed,
1669
    0x3a,
1670
    0x03,
1671
    0xbb,
1672
    0xa2,
1673
    0xad,
1674
    0xb6,
1675
    0xea,
1676
    0x89,
1677
    0x6b,
1678
    0x67,
1679
    0x4b,
1680
    0x96,
1681
    0xaa,
1682
    0xd9,
1683
    0xcc,
1684
    0xc8,
1685
    0x4b,
1686
    0xfa,
1687
    0x18,
1688
    0x21,
1689
    0x08,
1690
    0xb2,
1691
    0xa3,
1692
    0xb9,
1693
    0x3e,
1694
    0x61,
1695
    0x99,
1696
    0xdc,
1697
    0x5a,
1698
    0x97,
1699
    0x9c,
1700
    0x73,
1701
    0x6a,
1702
    0xb9,
1703
    0xf9,
1704
    0x68,
1705
    0x03,
1706
    0x24,
1707
    0x5f,
1708
    0x55,
1709
    0x77,
1710
    0x9c,
1711
    0xb4,
1712
    0xbe,
1713
    0x7a,
1714
    0x78,
1715
    0x53,
1716
    0x68,
1717
    0x48,
1718
    0x69,
1719
    0x53,
1720
    0xc8,
1721
    0xb1,
1722
    0xf5,
1723
    0xbf,
1724
    0x98,
1725
    0x2d,
1726
    0x11,
1727
    0x1e,
1728
    0x98,
1729
    0xa8,
1730
    0x36,
1731
    0x50,
1732
    0xa0,
1733
    0xb1,
1734
    0x02,
1735
    0x81,
1736
    0x81,
1737
    0x00,
1738
    0x90,
1739
    0x88,
1740
    0x30,
1741
    0x71,
1742
    0xc7,
1743
    0xfe,
1744
    0x9b,
1745
    0x6d,
1746
    0x95,
1747
    0x37,
1748
    0x6d,
1749
    0x79,
1750
    0xfc,
1751
    0x85,
1752
    0xe7,
1753
    0x44,
1754
    0x78,
1755
    0xbc,
1756
    0x79,
1757
    0x6e,
1758
    0x47,
1759
    0x86,
1760
    0xc9,
1761
    0xf3,
1762
    0xdd,
1763
    0xc6,
1764
    0xec,
1765
    0xa9,
1766
    0x94,
1767
    0x9f,
1768
    0x40,
1769
    0xeb,
1770
    0x87,
1771
    0xd0,
1772
    0xdb,
1773
    0xee,
1774
    0xcd,
1775
    0x1b,
1776
    0x87,
1777
    0x23,
1778
    0xff,
1779
    0x76,
1780
    0xd4,
1781
    0x37,
1782
    0x8a,
1783
    0xcd,
1784
    0xb9,
1785
    0x6e,
1786
    0xd1,
1787
    0x98,
1788
    0xf6,
1789
    0x97,
1790
    0x8d,
1791
    0xe3,
1792
    0x81,
1793
    0x6d,
1794
    0xc3,
1795
    0x4e,
1796
    0xd1,
1797
    0xa0,
1798
    0xc4,
1799
    0x9f,
1800
    0xbd,
1801
    0x34,
1802
    0xe5,
1803
    0xe8,
1804
    0x53,
1805
    0x4f,
1806
    0xca,
1807
    0x10,
1808
    0xb5,
1809
    0xed,
1810
    0xe7,
1811
    0x16,
1812
    0x09,
1813
    0x54,
1814
    0xde,
1815
    0x60,
1816
    0xa7,
1817
    0xd1,
1818
    0x16,
1819
    0x6e,
1820
    0x2e,
1821
    0xb7,
1822
    0xbe,
1823
    0x7a,
1824
    0xd5,
1825
    0x9b,
1826
    0x26,
1827
    0xef,
1828
    0xe4,
1829
    0x0e,
1830
    0x77,
1831
    0xfa,
1832
    0xa9,
1833
    0xdd,
1834
    0xdc,
1835
    0xb9,
1836
    0x88,
1837
    0x19,
1838
    0x23,
1839
    0x70,
1840
    0xc7,
1841
    0xe1,
1842
    0x60,
1843
    0xaf,
1844
    0x8c,
1845
    0x73,
1846
    0x04,
1847
    0xf7,
1848
    0x71,
1849
    0x17,
1850
    0x81,
1851
    0x36,
1852
    0x75,
1853
    0xbb,
1854
    0x97,
1855
    0xd7,
1856
    0x75,
1857
    0xb6,
1858
    0x8e,
1859
    0xbc,
1860
    0xac,
1861
    0x9c,
1862
    0x6a,
1863
    0x9b,
1864
    0x24,
1865
    0x89,
1866
    0x02,
1867
    0x81,
1868
    0x80,
1869
    0x5a,
1870
    0x2b,
1871
    0xc7,
1872
    0x6b,
1873
    0x8c,
1874
    0x65,
1875
    0xdb,
1876
    0x04,
1877
    0x73,
1878
    0xab,
1879
    0x25,
1880
    0xe1,
1881
    0x5b,
1882
    0xbc,
1883
    0x3c,
1884
    0xcf,
1885
    0x5a,
1886
    0x3c,
1887
    0x04,
1888
    0xae,
1889
    0x97,
1890
    0x2e,
1891
    0xfd,
1892
    0xa4,
1893
    0x97,
1894
    0x1f,
1895
    0x05,
1896
    0x17,
1897
    0x27,
1898
    0xac,
1899
    0x7c,
1900
    0x30,
1901
    0x85,
1902
    0xb4,
1903
    0x82,
1904
    0x3f,
1905
    0x5b,
1906
    0xb7,
1907
    0x94,
1908
    0x3b,
1909
    0x7f,
1910
    0x6c,
1911
    0x0c,
1912
    0xc7,
1913
    0x16,
1914
    0xc6,
1915
    0xa0,
1916
    0xbd,
1917
    0x80,
1918
    0xb0,
1919
    0x81,
1920
    0xde,
1921
    0xa0,
1922
    0x23,
1923
    0xa6,
1924
    0xf6,
1925
    0x75,
1926
    0x33,
1927
    0x51,
1928
    0x35,
1929
    0xa2,
1930
    0x75,
1931
    0x55,
1932
    0x70,
1933
    0x4d,
1934
    0x42,
1935
    0xbb,
1936
    0xcf,
1937
    0x54,
1938
    0xe4,
1939
    0xdb,
1940
    0x2d,
1941
    0x88,
1942
    0xa0,
1943
    0x7a,
1944
    0xf2,
1945
    0x17,
1946
    0xa7,
1947
    0xdd,
1948
    0x13,
1949
    0x44,
1950
    0x9f,
1951
    0x5f,
1952
    0x6b,
1953
    0x2c,
1954
    0x42,
1955
    0x42,
1956
    0x8b,
1957
    0x13,
1958
    0x4d,
1959
    0xf9,
1960
    0x5b,
1961
    0xf8,
1962
    0x33,
1963
    0x42,
1964
    0xd9,
1965
    0x9e,
1966
    0x50,
1967
    0x1c,
1968
    0x7c,
1969
    0xbc,
1970
    0xfa,
1971
    0x62,
1972
    0x85,
1973
    0x0b,
1974
    0xcf,
1975
    0x99,
1976
    0xda,
1977
    0x9e,
1978
    0x04,
1979
    0x90,
1980
    0xb2,
1981
    0xc6,
1982
    0xb2,
1983
    0x0a,
1984
    0x2a,
1985
    0x7c,
1986
    0x6d,
1987
    0x6a,
1988
    0x40,
1989
    0xfc,
1990
    0xf5,
1991
    0x50,
1992
    0x98,
1993
    0x46,
1994
    0x89,
1995
    0x82,
1996
    0x40,
1997
};
1998
#endif
1999
2000
#ifndef OPENSSL_NO_EC
2001
#ifndef OPENSSL_NO_DEPRECATED_3_0
2002
/*
2003
 *  -----BEGIN EC PRIVATE KEY-----
2004
 *  MHcCAQEEIJLyl7hJjpQL/RhP1x2zS79xdiPJQB683gWeqcqHPeZkoAoGCCqGSM49
2005
 *  AwEHoUQDQgAEdsjygVYjjaKBF4CNECVllNf017p5/MxNSWDoTHy9I2GeDwEDDazI
2006
 *  D/xy8JiYjtPKVE/Zqwbmivp2UwtH28a7NQ==
2007
 *  -----END EC PRIVATE KEY-----
2008
 */
2009
static const char ECDSAPrivateKeyPEM[] = {
2010
    0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x45,
2011
    0x43, 0x20, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x20, 0x4b, 0x45,
2012
    0x59, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x48, 0x63, 0x43, 0x41,
2013
    0x51, 0x45, 0x45, 0x49, 0x4a, 0x4c, 0x79, 0x6c, 0x37, 0x68, 0x4a, 0x6a,
2014
    0x70, 0x51, 0x4c, 0x2f, 0x52, 0x68, 0x50, 0x31, 0x78, 0x32, 0x7a, 0x53,
2015
    0x37, 0x39, 0x78, 0x64, 0x69, 0x50, 0x4a, 0x51, 0x42, 0x36, 0x38, 0x33,
2016
    0x67, 0x57, 0x65, 0x71, 0x63, 0x71, 0x48, 0x50, 0x65, 0x5a, 0x6b, 0x6f,
2017
    0x41, 0x6f, 0x47, 0x43, 0x43, 0x71, 0x47, 0x53, 0x4d, 0x34, 0x39, 0x0a,
2018
    0x41, 0x77, 0x45, 0x48, 0x6f, 0x55, 0x51, 0x44, 0x51, 0x67, 0x41, 0x45,
2019
    0x64, 0x73, 0x6a, 0x79, 0x67, 0x56, 0x59, 0x6a, 0x6a, 0x61, 0x4b, 0x42,
2020
    0x46, 0x34, 0x43, 0x4e, 0x45, 0x43, 0x56, 0x6c, 0x6c, 0x4e, 0x66, 0x30,
2021
    0x31, 0x37, 0x70, 0x35, 0x2f, 0x4d, 0x78, 0x4e, 0x53, 0x57, 0x44, 0x6f,
2022
    0x54, 0x48, 0x79, 0x39, 0x49, 0x32, 0x47, 0x65, 0x44, 0x77, 0x45, 0x44,
2023
    0x44, 0x61, 0x7a, 0x49, 0x0a, 0x44, 0x2f, 0x78, 0x79, 0x38, 0x4a, 0x69,
2024
    0x59, 0x6a, 0x74, 0x50, 0x4b, 0x56, 0x45, 0x2f, 0x5a, 0x71, 0x77, 0x62,
2025
    0x6d, 0x69, 0x76, 0x70, 0x32, 0x55, 0x77, 0x74, 0x48, 0x32, 0x38, 0x61,
2026
    0x37, 0x4e, 0x51, 0x3d, 0x3d, 0x0a, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x45,
2027
    0x4e, 0x44, 0x20, 0x45, 0x43, 0x20, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54,
2028
    0x45, 0x20, 0x4b, 0x45, 0x59, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a
2029
};
2030
#endif
2031
2032
/*
2033
 * -----BEGIN CERTIFICATE-----
2034
 *  MIIBXzCCAQagAwIBAgIJAK6/Yvf/ain6MAoGCCqGSM49BAMCMBIxEDAOBgNVBAoM
2035
 *  B0FjbWUgQ28wHhcNMTYxMjI1MTEzOTI3WhcNMjYxMjI1MTEzOTI3WjASMRAwDgYD
2036
 *  VQQKDAdBY21lIENvMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEdsjygVYjjaKB
2037
 *  F4CNECVllNf017p5/MxNSWDoTHy9I2GeDwEDDazID/xy8JiYjtPKVE/Zqwbmivp2
2038
 *  UwtH28a7NaNFMEMwCQYDVR0TBAIwADALBgNVHQ8EBAMCBaAwEwYDVR0lBAwwCgYI
2039
 *  KwYBBQUHAwEwFAYDVR0RBA0wC4IJbG9jYWxob3N0MAoGCCqGSM49BAMCA0cAMEQC
2040
 *  IEzr3t/jejVE9oSnBp8c3P2p+lDLVRrB8zxLyjZvirUXAiAyQPaE9MNcL8/nRpuu
2041
 *  99I1enCSmWIAJ57IwuJ/n1d45Q==
2042
 *  -----END CERTIFICATE-----
2043
 */
2044
static const char ECDSACertPEM[] = {
2045
    0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x43,
2046
    0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d,
2047
    0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49, 0x42, 0x58, 0x7a, 0x43, 0x43,
2048
    0x41, 0x51, 0x61, 0x67, 0x41, 0x77, 0x49, 0x42, 0x41, 0x67, 0x49, 0x4a,
2049
    0x41, 0x4b, 0x36, 0x2f, 0x59, 0x76, 0x66, 0x2f, 0x61, 0x69, 0x6e, 0x36,
2050
    0x4d, 0x41, 0x6f, 0x47, 0x43, 0x43, 0x71, 0x47, 0x53, 0x4d, 0x34, 0x39,
2051
    0x42, 0x41, 0x4d, 0x43, 0x4d, 0x42, 0x49, 0x78, 0x45, 0x44, 0x41, 0x4f,
2052
    0x42, 0x67, 0x4e, 0x56, 0x42, 0x41, 0x6f, 0x4d, 0x0a, 0x42, 0x30, 0x46,
2053
    0x6a, 0x62, 0x57, 0x55, 0x67, 0x51, 0x32, 0x38, 0x77, 0x48, 0x68, 0x63,
2054
    0x4e, 0x4d, 0x54, 0x59, 0x78, 0x4d, 0x6a, 0x49, 0x31, 0x4d, 0x54, 0x45,
2055
    0x7a, 0x4f, 0x54, 0x49, 0x33, 0x57, 0x68, 0x63, 0x4e, 0x4d, 0x6a, 0x59,
2056
    0x78, 0x4d, 0x6a, 0x49, 0x31, 0x4d, 0x54, 0x45, 0x7a, 0x4f, 0x54, 0x49,
2057
    0x33, 0x57, 0x6a, 0x41, 0x53, 0x4d, 0x52, 0x41, 0x77, 0x44, 0x67, 0x59,
2058
    0x44, 0x0a, 0x56, 0x51, 0x51, 0x4b, 0x44, 0x41, 0x64, 0x42, 0x59, 0x32,
2059
    0x31, 0x6c, 0x49, 0x45, 0x4e, 0x76, 0x4d, 0x46, 0x6b, 0x77, 0x45, 0x77,
2060
    0x59, 0x48, 0x4b, 0x6f, 0x5a, 0x49, 0x7a, 0x6a, 0x30, 0x43, 0x41, 0x51,
2061
    0x59, 0x49, 0x4b, 0x6f, 0x5a, 0x49, 0x7a, 0x6a, 0x30, 0x44, 0x41, 0x51,
2062
    0x63, 0x44, 0x51, 0x67, 0x41, 0x45, 0x64, 0x73, 0x6a, 0x79, 0x67, 0x56,
2063
    0x59, 0x6a, 0x6a, 0x61, 0x4b, 0x42, 0x0a, 0x46, 0x34, 0x43, 0x4e, 0x45,
2064
    0x43, 0x56, 0x6c, 0x6c, 0x4e, 0x66, 0x30, 0x31, 0x37, 0x70, 0x35, 0x2f,
2065
    0x4d, 0x78, 0x4e, 0x53, 0x57, 0x44, 0x6f, 0x54, 0x48, 0x79, 0x39, 0x49,
2066
    0x32, 0x47, 0x65, 0x44, 0x77, 0x45, 0x44, 0x44, 0x61, 0x7a, 0x49, 0x44,
2067
    0x2f, 0x78, 0x79, 0x38, 0x4a, 0x69, 0x59, 0x6a, 0x74, 0x50, 0x4b, 0x56,
2068
    0x45, 0x2f, 0x5a, 0x71, 0x77, 0x62, 0x6d, 0x69, 0x76, 0x70, 0x32, 0x0a,
2069
    0x55, 0x77, 0x74, 0x48, 0x32, 0x38, 0x61, 0x37, 0x4e, 0x61, 0x4e, 0x46,
2070
    0x4d, 0x45, 0x4d, 0x77, 0x43, 0x51, 0x59, 0x44, 0x56, 0x52, 0x30, 0x54,
2071
    0x42, 0x41, 0x49, 0x77, 0x41, 0x44, 0x41, 0x4c, 0x42, 0x67, 0x4e, 0x56,
2072
    0x48, 0x51, 0x38, 0x45, 0x42, 0x41, 0x4d, 0x43, 0x42, 0x61, 0x41, 0x77,
2073
    0x45, 0x77, 0x59, 0x44, 0x56, 0x52, 0x30, 0x6c, 0x42, 0x41, 0x77, 0x77,
2074
    0x43, 0x67, 0x59, 0x49, 0x0a, 0x4b, 0x77, 0x59, 0x42, 0x42, 0x51, 0x55,
2075
    0x48, 0x41, 0x77, 0x45, 0x77, 0x46, 0x41, 0x59, 0x44, 0x56, 0x52, 0x30,
2076
    0x52, 0x42, 0x41, 0x30, 0x77, 0x43, 0x34, 0x49, 0x4a, 0x62, 0x47, 0x39,
2077
    0x6a, 0x59, 0x57, 0x78, 0x6f, 0x62, 0x33, 0x4e, 0x30, 0x4d, 0x41, 0x6f,
2078
    0x47, 0x43, 0x43, 0x71, 0x47, 0x53, 0x4d, 0x34, 0x39, 0x42, 0x41, 0x4d,
2079
    0x43, 0x41, 0x30, 0x63, 0x41, 0x4d, 0x45, 0x51, 0x43, 0x0a, 0x49, 0x45,
2080
    0x7a, 0x72, 0x33, 0x74, 0x2f, 0x6a, 0x65, 0x6a, 0x56, 0x45, 0x39, 0x6f,
2081
    0x53, 0x6e, 0x42, 0x70, 0x38, 0x63, 0x33, 0x50, 0x32, 0x70, 0x2b, 0x6c,
2082
    0x44, 0x4c, 0x56, 0x52, 0x72, 0x42, 0x38, 0x7a, 0x78, 0x4c, 0x79, 0x6a,
2083
    0x5a, 0x76, 0x69, 0x72, 0x55, 0x58, 0x41, 0x69, 0x41, 0x79, 0x51, 0x50,
2084
    0x61, 0x45, 0x39, 0x4d, 0x4e, 0x63, 0x4c, 0x38, 0x2f, 0x6e, 0x52, 0x70,
2085
    0x75, 0x75, 0x0a, 0x39, 0x39, 0x49, 0x31, 0x65, 0x6e, 0x43, 0x53, 0x6d,
2086
    0x57, 0x49, 0x41, 0x4a, 0x35, 0x37, 0x49, 0x77, 0x75, 0x4a, 0x2f, 0x6e,
2087
    0x31, 0x64, 0x34, 0x35, 0x51, 0x3d, 0x3d, 0x0a, 0x2d, 0x2d, 0x2d, 0x2d,
2088
    0x2d, 0x45, 0x4e, 0x44, 0x20, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49,
2089
    0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a
2090
};
2091
#endif
2092
2093
#if !defined(OPENSSL_NO_DSA) && !defined(OPENSSL_NO_DEPRECATED_3_0)
2094
/*
2095
 * -----BEGIN DSA PRIVATE KEY-----
2096
 * MIIBuwIBAAKBgQDdkFKzNABLOha7Eqj7004+p5fhtR6bxpujToMmSZTYi8igVVXP
2097
 * Wzf03ULKS5UKjA6WpR6EiZAhm+PdxusZ5xfAuRZLdKy0bgxn1f348Rwh+EQNaEM8
2098
 * 0TGcnw5ijwKmSw5yyHPDWdiHzoqEBlhAf8Nl22YTXax/clsc/pu/RRLAdwIVAIEg
2099
 * QqWRf/1EIZZcgM65Qpd65YuxAoGBAKBauV/RuloFHoSy5iWXESDywiS380tN5974
2100
 * GukGwoYdZo5uSIH6ahpeNSef0MbHGAzr7ZVEnhCQfRAwH1gRvSHoq/Rbmcvtd3r+
2101
 * QtQHOwvQHgLAynhI4i73c794czHaR+439bmcaSwDnQduRM85Mho/jiiZzAVPxBmG
2102
 * POIMWNXXAoGAI6Ep5IE7yn3JzkXO9B6tC3bbDM+ZzuuInwZLbtZ8lim7Dsqabg4k
2103
 * 2YbE4R95Bnfwnjsyl80mq/DbQN5lAHBvjDrkC6ItojBGKI3+iIrqGUEJdxvl4ulj
2104
 * F0PmSD7zvIG8BfocKOel+EHH0YryExiW6krV1KW2ZRmJrqSFw6KCjV0CFFQFbPfU
2105
 * xy5PmKytJmXR8BmppkIO
2106
 * -----END DSA PRIVATE KEY-----
2107
 */
2108
static const char DSAPrivateKeyPEM[] = {
2109
    0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x44,
2110
    0x53, 0x41, 0x20, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x20, 0x4b,
2111
    0x45, 0x59, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49, 0x42,
2112
    0x75, 0x77, 0x49, 0x42, 0x41, 0x41, 0x4b, 0x42, 0x67, 0x51, 0x44, 0x64,
2113
    0x6b, 0x46, 0x4b, 0x7a, 0x4e, 0x41, 0x42, 0x4c, 0x4f, 0x68, 0x61, 0x37,
2114
    0x45, 0x71, 0x6a, 0x37, 0x30, 0x30, 0x34, 0x2b, 0x70, 0x35, 0x66, 0x68,
2115
    0x74, 0x52, 0x36, 0x62, 0x78, 0x70, 0x75, 0x6a, 0x54, 0x6f, 0x4d, 0x6d,
2116
    0x53, 0x5a, 0x54, 0x59, 0x69, 0x38, 0x69, 0x67, 0x56, 0x56, 0x58, 0x50,
2117
    0x0a, 0x57, 0x7a, 0x66, 0x30, 0x33, 0x55, 0x4c, 0x4b, 0x53, 0x35, 0x55,
2118
    0x4b, 0x6a, 0x41, 0x36, 0x57, 0x70, 0x52, 0x36, 0x45, 0x69, 0x5a, 0x41,
2119
    0x68, 0x6d, 0x2b, 0x50, 0x64, 0x78, 0x75, 0x73, 0x5a, 0x35, 0x78, 0x66,
2120
    0x41, 0x75, 0x52, 0x5a, 0x4c, 0x64, 0x4b, 0x79, 0x30, 0x62, 0x67, 0x78,
2121
    0x6e, 0x31, 0x66, 0x33, 0x34, 0x38, 0x52, 0x77, 0x68, 0x2b, 0x45, 0x51,
2122
    0x4e, 0x61, 0x45, 0x4d, 0x38, 0x0a, 0x30, 0x54, 0x47, 0x63, 0x6e, 0x77,
2123
    0x35, 0x69, 0x6a, 0x77, 0x4b, 0x6d, 0x53, 0x77, 0x35, 0x79, 0x79, 0x48,
2124
    0x50, 0x44, 0x57, 0x64, 0x69, 0x48, 0x7a, 0x6f, 0x71, 0x45, 0x42, 0x6c,
2125
    0x68, 0x41, 0x66, 0x38, 0x4e, 0x6c, 0x32, 0x32, 0x59, 0x54, 0x58, 0x61,
2126
    0x78, 0x2f, 0x63, 0x6c, 0x73, 0x63, 0x2f, 0x70, 0x75, 0x2f, 0x52, 0x52,
2127
    0x4c, 0x41, 0x64, 0x77, 0x49, 0x56, 0x41, 0x49, 0x45, 0x67, 0x0a, 0x51,
2128
    0x71, 0x57, 0x52, 0x66, 0x2f, 0x31, 0x45, 0x49, 0x5a, 0x5a, 0x63, 0x67,
2129
    0x4d, 0x36, 0x35, 0x51, 0x70, 0x64, 0x36, 0x35, 0x59, 0x75, 0x78, 0x41,
2130
    0x6f, 0x47, 0x42, 0x41, 0x4b, 0x42, 0x61, 0x75, 0x56, 0x2f, 0x52, 0x75,
2131
    0x6c, 0x6f, 0x46, 0x48, 0x6f, 0x53, 0x79, 0x35, 0x69, 0x57, 0x58, 0x45,
2132
    0x53, 0x44, 0x79, 0x77, 0x69, 0x53, 0x33, 0x38, 0x30, 0x74, 0x4e, 0x35,
2133
    0x39, 0x37, 0x34, 0x0a, 0x47, 0x75, 0x6b, 0x47, 0x77, 0x6f, 0x59, 0x64,
2134
    0x5a, 0x6f, 0x35, 0x75, 0x53, 0x49, 0x48, 0x36, 0x61, 0x68, 0x70, 0x65,
2135
    0x4e, 0x53, 0x65, 0x66, 0x30, 0x4d, 0x62, 0x48, 0x47, 0x41, 0x7a, 0x72,
2136
    0x37, 0x5a, 0x56, 0x45, 0x6e, 0x68, 0x43, 0x51, 0x66, 0x52, 0x41, 0x77,
2137
    0x48, 0x31, 0x67, 0x52, 0x76, 0x53, 0x48, 0x6f, 0x71, 0x2f, 0x52, 0x62,
2138
    0x6d, 0x63, 0x76, 0x74, 0x64, 0x33, 0x72, 0x2b, 0x0a, 0x51, 0x74, 0x51,
2139
    0x48, 0x4f, 0x77, 0x76, 0x51, 0x48, 0x67, 0x4c, 0x41, 0x79, 0x6e, 0x68,
2140
    0x49, 0x34, 0x69, 0x37, 0x33, 0x63, 0x37, 0x39, 0x34, 0x63, 0x7a, 0x48,
2141
    0x61, 0x52, 0x2b, 0x34, 0x33, 0x39, 0x62, 0x6d, 0x63, 0x61, 0x53, 0x77,
2142
    0x44, 0x6e, 0x51, 0x64, 0x75, 0x52, 0x4d, 0x38, 0x35, 0x4d, 0x68, 0x6f,
2143
    0x2f, 0x6a, 0x69, 0x69, 0x5a, 0x7a, 0x41, 0x56, 0x50, 0x78, 0x42, 0x6d,
2144
    0x47, 0x0a, 0x50, 0x4f, 0x49, 0x4d, 0x57, 0x4e, 0x58, 0x58, 0x41, 0x6f,
2145
    0x47, 0x41, 0x49, 0x36, 0x45, 0x70, 0x35, 0x49, 0x45, 0x37, 0x79, 0x6e,
2146
    0x33, 0x4a, 0x7a, 0x6b, 0x58, 0x4f, 0x39, 0x42, 0x36, 0x74, 0x43, 0x33,
2147
    0x62, 0x62, 0x44, 0x4d, 0x2b, 0x5a, 0x7a, 0x75, 0x75, 0x49, 0x6e, 0x77,
2148
    0x5a, 0x4c, 0x62, 0x74, 0x5a, 0x38, 0x6c, 0x69, 0x6d, 0x37, 0x44, 0x73,
2149
    0x71, 0x61, 0x62, 0x67, 0x34, 0x6b, 0x0a, 0x32, 0x59, 0x62, 0x45, 0x34,
2150
    0x52, 0x39, 0x35, 0x42, 0x6e, 0x66, 0x77, 0x6e, 0x6a, 0x73, 0x79, 0x6c,
2151
    0x38, 0x30, 0x6d, 0x71, 0x2f, 0x44, 0x62, 0x51, 0x4e, 0x35, 0x6c, 0x41,
2152
    0x48, 0x42, 0x76, 0x6a, 0x44, 0x72, 0x6b, 0x43, 0x36, 0x49, 0x74, 0x6f,
2153
    0x6a, 0x42, 0x47, 0x4b, 0x49, 0x33, 0x2b, 0x69, 0x49, 0x72, 0x71, 0x47,
2154
    0x55, 0x45, 0x4a, 0x64, 0x78, 0x76, 0x6c, 0x34, 0x75, 0x6c, 0x6a, 0x0a,
2155
    0x46, 0x30, 0x50, 0x6d, 0x53, 0x44, 0x37, 0x7a, 0x76, 0x49, 0x47, 0x38,
2156
    0x42, 0x66, 0x6f, 0x63, 0x4b, 0x4f, 0x65, 0x6c, 0x2b, 0x45, 0x48, 0x48,
2157
    0x30, 0x59, 0x72, 0x79, 0x45, 0x78, 0x69, 0x57, 0x36, 0x6b, 0x72, 0x56,
2158
    0x31, 0x4b, 0x57, 0x32, 0x5a, 0x52, 0x6d, 0x4a, 0x72, 0x71, 0x53, 0x46,
2159
    0x77, 0x36, 0x4b, 0x43, 0x6a, 0x56, 0x30, 0x43, 0x46, 0x46, 0x51, 0x46,
2160
    0x62, 0x50, 0x66, 0x55, 0x0a, 0x78, 0x79, 0x35, 0x50, 0x6d, 0x4b, 0x79,
2161
    0x74, 0x4a, 0x6d, 0x58, 0x52, 0x38, 0x42, 0x6d, 0x70, 0x70, 0x6b, 0x49,
2162
    0x4f, 0x0a, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x45, 0x4e, 0x44, 0x20, 0x44,
2163
    0x53, 0x41, 0x20, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x20, 0x4b,
2164
    0x45, 0x59, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a
2165
};
2166
2167
/*
2168
 * -----BEGIN CERTIFICATE-----
2169
 * MIICqTCCAmegAwIBAgIJAILDGUk37fWGMAsGCWCGSAFlAwQDAjASMRAwDgYDVQQK
2170
 * DAdBY21lIENvMB4XDTE2MTIyNTEzMjUzNloXDTI2MTIyNTEzMjUzNlowEjEQMA4G
2171
 * A1UECgwHQWNtZSBDbzCCAbcwggEsBgcqhkjOOAQBMIIBHwKBgQDdkFKzNABLOha7
2172
 * Eqj7004+p5fhtR6bxpujToMmSZTYi8igVVXPWzf03ULKS5UKjA6WpR6EiZAhm+Pd
2173
 * xusZ5xfAuRZLdKy0bgxn1f348Rwh+EQNaEM80TGcnw5ijwKmSw5yyHPDWdiHzoqE
2174
 * BlhAf8Nl22YTXax/clsc/pu/RRLAdwIVAIEgQqWRf/1EIZZcgM65Qpd65YuxAoGB
2175
 * AKBauV/RuloFHoSy5iWXESDywiS380tN5974GukGwoYdZo5uSIH6ahpeNSef0MbH
2176
 * GAzr7ZVEnhCQfRAwH1gRvSHoq/Rbmcvtd3r+QtQHOwvQHgLAynhI4i73c794czHa
2177
 * R+439bmcaSwDnQduRM85Mho/jiiZzAVPxBmGPOIMWNXXA4GEAAKBgCOhKeSBO8p9
2178
 * yc5FzvQerQt22wzPmc7riJ8GS27WfJYpuw7Kmm4OJNmGxOEfeQZ38J47MpfNJqvw
2179
 * 20DeZQBwb4w65AuiLaIwRiiN/oiK6hlBCXcb5eLpYxdD5kg+87yBvAX6HCjnpfhB
2180
 * x9GK8hMYlupK1dSltmUZia6khcOigo1do0UwQzAJBgNVHRMEAjAAMAsGA1UdDwQE
2181
 * AwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATAUBgNVHREEDTALgglsb2NhbGhvc3Qw
2182
 * CwYJYIZIAWUDBAMCAy8AMCwCFClxInXTRWNJEWdi5ilNr/fbM1bKAhQy4B7wtmfd
2183
 * I+zV6g3w9qBkNqStpA==
2184
 * -----END CERTIFICATE-----
2185
 */
2186
static const char DSACertPEM[] = {
2187
    0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x43,
2188
    0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d,
2189
    0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49, 0x43, 0x71, 0x54, 0x43, 0x43,
2190
    0x41, 0x6d, 0x65, 0x67, 0x41, 0x77, 0x49, 0x42, 0x41, 0x67, 0x49, 0x4a,
2191
    0x41, 0x49, 0x4c, 0x44, 0x47, 0x55, 0x6b, 0x33, 0x37, 0x66, 0x57, 0x47,
2192
    0x4d, 0x41, 0x73, 0x47, 0x43, 0x57, 0x43, 0x47, 0x53, 0x41, 0x46, 0x6c,
2193
    0x41, 0x77, 0x51, 0x44, 0x41, 0x6a, 0x41, 0x53, 0x4d, 0x52, 0x41, 0x77,
2194
    0x44, 0x67, 0x59, 0x44, 0x56, 0x51, 0x51, 0x4b, 0x0a, 0x44, 0x41, 0x64,
2195
    0x42, 0x59, 0x32, 0x31, 0x6c, 0x49, 0x45, 0x4e, 0x76, 0x4d, 0x42, 0x34,
2196
    0x58, 0x44, 0x54, 0x45, 0x32, 0x4d, 0x54, 0x49, 0x79, 0x4e, 0x54, 0x45,
2197
    0x7a, 0x4d, 0x6a, 0x55, 0x7a, 0x4e, 0x6c, 0x6f, 0x58, 0x44, 0x54, 0x49,
2198
    0x32, 0x4d, 0x54, 0x49, 0x79, 0x4e, 0x54, 0x45, 0x7a, 0x4d, 0x6a, 0x55,
2199
    0x7a, 0x4e, 0x6c, 0x6f, 0x77, 0x45, 0x6a, 0x45, 0x51, 0x4d, 0x41, 0x34,
2200
    0x47, 0x0a, 0x41, 0x31, 0x55, 0x45, 0x43, 0x67, 0x77, 0x48, 0x51, 0x57,
2201
    0x4e, 0x74, 0x5a, 0x53, 0x42, 0x44, 0x62, 0x7a, 0x43, 0x43, 0x41, 0x62,
2202
    0x63, 0x77, 0x67, 0x67, 0x45, 0x73, 0x42, 0x67, 0x63, 0x71, 0x68, 0x6b,
2203
    0x6a, 0x4f, 0x4f, 0x41, 0x51, 0x42, 0x4d, 0x49, 0x49, 0x42, 0x48, 0x77,
2204
    0x4b, 0x42, 0x67, 0x51, 0x44, 0x64, 0x6b, 0x46, 0x4b, 0x7a, 0x4e, 0x41,
2205
    0x42, 0x4c, 0x4f, 0x68, 0x61, 0x37, 0x0a, 0x45, 0x71, 0x6a, 0x37, 0x30,
2206
    0x30, 0x34, 0x2b, 0x70, 0x35, 0x66, 0x68, 0x74, 0x52, 0x36, 0x62, 0x78,
2207
    0x70, 0x75, 0x6a, 0x54, 0x6f, 0x4d, 0x6d, 0x53, 0x5a, 0x54, 0x59, 0x69,
2208
    0x38, 0x69, 0x67, 0x56, 0x56, 0x58, 0x50, 0x57, 0x7a, 0x66, 0x30, 0x33,
2209
    0x55, 0x4c, 0x4b, 0x53, 0x35, 0x55, 0x4b, 0x6a, 0x41, 0x36, 0x57, 0x70,
2210
    0x52, 0x36, 0x45, 0x69, 0x5a, 0x41, 0x68, 0x6d, 0x2b, 0x50, 0x64, 0x0a,
2211
    0x78, 0x75, 0x73, 0x5a, 0x35, 0x78, 0x66, 0x41, 0x75, 0x52, 0x5a, 0x4c,
2212
    0x64, 0x4b, 0x79, 0x30, 0x62, 0x67, 0x78, 0x6e, 0x31, 0x66, 0x33, 0x34,
2213
    0x38, 0x52, 0x77, 0x68, 0x2b, 0x45, 0x51, 0x4e, 0x61, 0x45, 0x4d, 0x38,
2214
    0x30, 0x54, 0x47, 0x63, 0x6e, 0x77, 0x35, 0x69, 0x6a, 0x77, 0x4b, 0x6d,
2215
    0x53, 0x77, 0x35, 0x79, 0x79, 0x48, 0x50, 0x44, 0x57, 0x64, 0x69, 0x48,
2216
    0x7a, 0x6f, 0x71, 0x45, 0x0a, 0x42, 0x6c, 0x68, 0x41, 0x66, 0x38, 0x4e,
2217
    0x6c, 0x32, 0x32, 0x59, 0x54, 0x58, 0x61, 0x78, 0x2f, 0x63, 0x6c, 0x73,
2218
    0x63, 0x2f, 0x70, 0x75, 0x2f, 0x52, 0x52, 0x4c, 0x41, 0x64, 0x77, 0x49,
2219
    0x56, 0x41, 0x49, 0x45, 0x67, 0x51, 0x71, 0x57, 0x52, 0x66, 0x2f, 0x31,
2220
    0x45, 0x49, 0x5a, 0x5a, 0x63, 0x67, 0x4d, 0x36, 0x35, 0x51, 0x70, 0x64,
2221
    0x36, 0x35, 0x59, 0x75, 0x78, 0x41, 0x6f, 0x47, 0x42, 0x0a, 0x41, 0x4b,
2222
    0x42, 0x61, 0x75, 0x56, 0x2f, 0x52, 0x75, 0x6c, 0x6f, 0x46, 0x48, 0x6f,
2223
    0x53, 0x79, 0x35, 0x69, 0x57, 0x58, 0x45, 0x53, 0x44, 0x79, 0x77, 0x69,
2224
    0x53, 0x33, 0x38, 0x30, 0x74, 0x4e, 0x35, 0x39, 0x37, 0x34, 0x47, 0x75,
2225
    0x6b, 0x47, 0x77, 0x6f, 0x59, 0x64, 0x5a, 0x6f, 0x35, 0x75, 0x53, 0x49,
2226
    0x48, 0x36, 0x61, 0x68, 0x70, 0x65, 0x4e, 0x53, 0x65, 0x66, 0x30, 0x4d,
2227
    0x62, 0x48, 0x0a, 0x47, 0x41, 0x7a, 0x72, 0x37, 0x5a, 0x56, 0x45, 0x6e,
2228
    0x68, 0x43, 0x51, 0x66, 0x52, 0x41, 0x77, 0x48, 0x31, 0x67, 0x52, 0x76,
2229
    0x53, 0x48, 0x6f, 0x71, 0x2f, 0x52, 0x62, 0x6d, 0x63, 0x76, 0x74, 0x64,
2230
    0x33, 0x72, 0x2b, 0x51, 0x74, 0x51, 0x48, 0x4f, 0x77, 0x76, 0x51, 0x48,
2231
    0x67, 0x4c, 0x41, 0x79, 0x6e, 0x68, 0x49, 0x34, 0x69, 0x37, 0x33, 0x63,
2232
    0x37, 0x39, 0x34, 0x63, 0x7a, 0x48, 0x61, 0x0a, 0x52, 0x2b, 0x34, 0x33,
2233
    0x39, 0x62, 0x6d, 0x63, 0x61, 0x53, 0x77, 0x44, 0x6e, 0x51, 0x64, 0x75,
2234
    0x52, 0x4d, 0x38, 0x35, 0x4d, 0x68, 0x6f, 0x2f, 0x6a, 0x69, 0x69, 0x5a,
2235
    0x7a, 0x41, 0x56, 0x50, 0x78, 0x42, 0x6d, 0x47, 0x50, 0x4f, 0x49, 0x4d,
2236
    0x57, 0x4e, 0x58, 0x58, 0x41, 0x34, 0x47, 0x45, 0x41, 0x41, 0x4b, 0x42,
2237
    0x67, 0x43, 0x4f, 0x68, 0x4b, 0x65, 0x53, 0x42, 0x4f, 0x38, 0x70, 0x39,
2238
    0x0a, 0x79, 0x63, 0x35, 0x46, 0x7a, 0x76, 0x51, 0x65, 0x72, 0x51, 0x74,
2239
    0x32, 0x32, 0x77, 0x7a, 0x50, 0x6d, 0x63, 0x37, 0x72, 0x69, 0x4a, 0x38,
2240
    0x47, 0x53, 0x32, 0x37, 0x57, 0x66, 0x4a, 0x59, 0x70, 0x75, 0x77, 0x37,
2241
    0x4b, 0x6d, 0x6d, 0x34, 0x4f, 0x4a, 0x4e, 0x6d, 0x47, 0x78, 0x4f, 0x45,
2242
    0x66, 0x65, 0x51, 0x5a, 0x33, 0x38, 0x4a, 0x34, 0x37, 0x4d, 0x70, 0x66,
2243
    0x4e, 0x4a, 0x71, 0x76, 0x77, 0x0a, 0x32, 0x30, 0x44, 0x65, 0x5a, 0x51,
2244
    0x42, 0x77, 0x62, 0x34, 0x77, 0x36, 0x35, 0x41, 0x75, 0x69, 0x4c, 0x61,
2245
    0x49, 0x77, 0x52, 0x69, 0x69, 0x4e, 0x2f, 0x6f, 0x69, 0x4b, 0x36, 0x68,
2246
    0x6c, 0x42, 0x43, 0x58, 0x63, 0x62, 0x35, 0x65, 0x4c, 0x70, 0x59, 0x78,
2247
    0x64, 0x44, 0x35, 0x6b, 0x67, 0x2b, 0x38, 0x37, 0x79, 0x42, 0x76, 0x41,
2248
    0x58, 0x36, 0x48, 0x43, 0x6a, 0x6e, 0x70, 0x66, 0x68, 0x42, 0x0a, 0x78,
2249
    0x39, 0x47, 0x4b, 0x38, 0x68, 0x4d, 0x59, 0x6c, 0x75, 0x70, 0x4b, 0x31,
2250
    0x64, 0x53, 0x6c, 0x74, 0x6d, 0x55, 0x5a, 0x69, 0x61, 0x36, 0x6b, 0x68,
2251
    0x63, 0x4f, 0x69, 0x67, 0x6f, 0x31, 0x64, 0x6f, 0x30, 0x55, 0x77, 0x51,
2252
    0x7a, 0x41, 0x4a, 0x42, 0x67, 0x4e, 0x56, 0x48, 0x52, 0x4d, 0x45, 0x41,
2253
    0x6a, 0x41, 0x41, 0x4d, 0x41, 0x73, 0x47, 0x41, 0x31, 0x55, 0x64, 0x44,
2254
    0x77, 0x51, 0x45, 0x0a, 0x41, 0x77, 0x49, 0x46, 0x6f, 0x44, 0x41, 0x54,
2255
    0x42, 0x67, 0x4e, 0x56, 0x48, 0x53, 0x55, 0x45, 0x44, 0x44, 0x41, 0x4b,
2256
    0x42, 0x67, 0x67, 0x72, 0x42, 0x67, 0x45, 0x46, 0x42, 0x51, 0x63, 0x44,
2257
    0x41, 0x54, 0x41, 0x55, 0x42, 0x67, 0x4e, 0x56, 0x48, 0x52, 0x45, 0x45,
2258
    0x44, 0x54, 0x41, 0x4c, 0x67, 0x67, 0x6c, 0x73, 0x62, 0x32, 0x4e, 0x68,
2259
    0x62, 0x47, 0x68, 0x76, 0x63, 0x33, 0x51, 0x77, 0x0a, 0x43, 0x77, 0x59,
2260
    0x4a, 0x59, 0x49, 0x5a, 0x49, 0x41, 0x57, 0x55, 0x44, 0x42, 0x41, 0x4d,
2261
    0x43, 0x41, 0x79, 0x38, 0x41, 0x4d, 0x43, 0x77, 0x43, 0x46, 0x43, 0x6c,
2262
    0x78, 0x49, 0x6e, 0x58, 0x54, 0x52, 0x57, 0x4e, 0x4a, 0x45, 0x57, 0x64,
2263
    0x69, 0x35, 0x69, 0x6c, 0x4e, 0x72, 0x2f, 0x66, 0x62, 0x4d, 0x31, 0x62,
2264
    0x4b, 0x41, 0x68, 0x51, 0x79, 0x34, 0x42, 0x37, 0x77, 0x74, 0x6d, 0x66,
2265
    0x64, 0x0a, 0x49, 0x2b, 0x7a, 0x56, 0x36, 0x67, 0x33, 0x77, 0x39, 0x71,
2266
    0x42, 0x6b, 0x4e, 0x71, 0x53, 0x74, 0x70, 0x41, 0x3d, 0x3d, 0x0a, 0x2d,
2267
    0x2d, 0x2d, 0x2d, 0x2d, 0x45, 0x4e, 0x44, 0x20, 0x43, 0x45, 0x52, 0x54,
2268
    0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
2269
    0x0a
2270
};
2271
#endif
2272
2273
/* unused, to avoid warning. */
2274
static int idx;
2275
2276
12.8k
#define FUZZTIME 1485898104
2277
2278
#define TIME_IMPL(t)       \
2279
11.8k
    {                      \
2280
11.8k
        if (t != NULL)     \
2281
11.8k
            *t = FUZZTIME; \
2282
11.8k
        return FUZZTIME;   \
2283
11.8k
    }
2284
2285
/*
2286
 * This might not work in all cases (and definitely not on Windows
2287
 * because of the way linkers are) and callees can still get the
2288
 * current time instead of the fixed time. This will just result
2289
 * in things not being fully reproducible and have a slightly
2290
 * different coverage.
2291
 */
2292
#if !defined(_WIN32)
2293
11.8k
time_t time(time_t *t) TIME_IMPL(t)
2294
#endif
2295
2296
    int FuzzerInitialize(int *argc, char ***argv)
2297
60
{
2298
60
    STACK_OF(SSL_COMP) *comp_methods;
2299
2300
60
    FuzzerSetRand();
2301
60
    OPENSSL_init_crypto(OPENSSL_INIT_LOAD_CRYPTO_STRINGS | OPENSSL_INIT_ASYNC, NULL);
2302
60
    OPENSSL_init_ssl(OPENSSL_INIT_LOAD_SSL_STRINGS, NULL);
2303
60
    ERR_clear_error();
2304
60
    CRYPTO_free_ex_index(0, -1);
2305
60
    idx = SSL_get_ex_data_X509_STORE_CTX_idx();
2306
60
    comp_methods = SSL_COMP_get_compression_methods();
2307
60
    if (comp_methods != NULL)
2308
60
        sk_SSL_COMP_sort(comp_methods);
2309
2310
60
    return 1;
2311
60
}
2312
2313
int FuzzerTestOneInput(const uint8_t *buf, size_t len)
2314
19.2k
{
2315
19.2k
    SSL *server;
2316
19.2k
    BIO *in;
2317
19.2k
    BIO *out;
2318
19.2k
#if !defined(OPENSSL_NO_EC) \
2319
19.2k
    || (!defined(OPENSSL_NO_DSA) && !defined(OPENSSL_NO_DEPRECATED_3_0))
2320
19.2k
    BIO *bio_buf;
2321
19.2k
#endif
2322
19.2k
    SSL_CTX *ctx;
2323
19.2k
    int ret;
2324
19.2k
#ifndef OPENSSL_NO_DEPRECATED_3_0
2325
19.2k
    RSA *privkey;
2326
19.2k
#endif
2327
19.2k
    const uint8_t *bufp;
2328
19.2k
#if !defined(OPENSSL_NO_DEPRECATED_3_0)
2329
19.2k
    EVP_PKEY *pkey;
2330
19.2k
#endif
2331
19.2k
    X509 *cert;
2332
19.2k
#ifndef OPENSSL_NO_DEPRECATED_3_0
2333
19.2k
#ifndef OPENSSL_NO_EC
2334
19.2k
    EC_KEY *ecdsakey = NULL;
2335
19.2k
#endif
2336
19.2k
#endif
2337
19.2k
#if !defined(OPENSSL_NO_DSA) && !defined(OPENSSL_NO_DEPRECATED_3_0)
2338
19.2k
    DSA *dsakey = NULL;
2339
19.2k
#endif
2340
19.2k
    uint8_t opt;
2341
2342
19.2k
    if (len < 2)
2343
4
        return 0;
2344
2345
    /* This only fuzzes the initial flow from the client so far. */
2346
19.2k
    ctx = SSL_CTX_new(SSLv23_method());
2347
2348
19.2k
    ret = SSL_CTX_set_min_proto_version(ctx, 0);
2349
19.2k
    OPENSSL_assert(ret == 1);
2350
19.2k
    ret = SSL_CTX_set_cipher_list(ctx, "ALL:eNULL:@SECLEVEL=0");
2351
19.2k
    OPENSSL_assert(ret == 1);
2352
2353
19.2k
#ifndef OPENSSL_NO_DEPRECATED_3_0
2354
    /* RSA */
2355
19.2k
    bufp = kRSAPrivateKeyDER;
2356
19.2k
    privkey = d2i_RSAPrivateKey(NULL, &bufp, sizeof(kRSAPrivateKeyDER));
2357
19.2k
    OPENSSL_assert(privkey != NULL);
2358
19.2k
    pkey = EVP_PKEY_new();
2359
19.2k
    EVP_PKEY_assign_RSA(pkey, privkey);
2360
19.2k
    ret = SSL_CTX_use_PrivateKey(ctx, pkey);
2361
19.2k
    OPENSSL_assert(ret == 1);
2362
19.2k
    EVP_PKEY_free(pkey);
2363
19.2k
#endif
2364
2365
19.2k
    bufp = kCertificateDER;
2366
19.2k
    cert = d2i_X509(NULL, &bufp, sizeof(kCertificateDER));
2367
19.2k
    OPENSSL_assert(cert != NULL);
2368
19.2k
    ret = SSL_CTX_use_certificate(ctx, cert);
2369
19.2k
    OPENSSL_assert(ret == 1);
2370
19.2k
    X509_free(cert);
2371
2372
19.2k
#ifndef OPENSSL_NO_EC
2373
19.2k
#ifndef OPENSSL_NO_DEPRECATED_3_0
2374
    /* ECDSA */
2375
19.2k
    bio_buf = BIO_new(BIO_s_mem());
2376
19.2k
    OPENSSL_assert((size_t)BIO_write(bio_buf, ECDSAPrivateKeyPEM, sizeof(ECDSAPrivateKeyPEM)) == sizeof(ECDSAPrivateKeyPEM));
2377
19.2k
    ecdsakey = PEM_read_bio_ECPrivateKey(bio_buf, NULL, NULL, NULL);
2378
19.2k
    ERR_print_errors_fp(stderr);
2379
19.2k
    OPENSSL_assert(ecdsakey != NULL);
2380
19.2k
    BIO_free(bio_buf);
2381
19.2k
    pkey = EVP_PKEY_new();
2382
19.2k
    EVP_PKEY_assign_EC_KEY(pkey, ecdsakey);
2383
19.2k
    ret = SSL_CTX_use_PrivateKey(ctx, pkey);
2384
19.2k
    OPENSSL_assert(ret == 1);
2385
19.2k
    EVP_PKEY_free(pkey);
2386
19.2k
#endif
2387
19.2k
    bio_buf = BIO_new(BIO_s_mem());
2388
19.2k
    OPENSSL_assert((size_t)BIO_write(bio_buf, ECDSACertPEM, sizeof(ECDSACertPEM)) == sizeof(ECDSACertPEM));
2389
19.2k
    cert = PEM_read_bio_X509(bio_buf, NULL, NULL, NULL);
2390
19.2k
    OPENSSL_assert(cert != NULL);
2391
19.2k
    BIO_free(bio_buf);
2392
19.2k
    ret = SSL_CTX_use_certificate(ctx, cert);
2393
19.2k
    OPENSSL_assert(ret == 1);
2394
19.2k
    X509_free(cert);
2395
19.2k
#endif
2396
2397
19.2k
#if !defined(OPENSSL_NO_DSA) && !defined(OPENSSL_NO_DEPRECATED_3_0)
2398
    /* DSA */
2399
19.2k
    bio_buf = BIO_new(BIO_s_mem());
2400
19.2k
    OPENSSL_assert((size_t)BIO_write(bio_buf, DSAPrivateKeyPEM, sizeof(DSAPrivateKeyPEM)) == sizeof(DSAPrivateKeyPEM));
2401
19.2k
    dsakey = PEM_read_bio_DSAPrivateKey(bio_buf, NULL, NULL, NULL);
2402
19.2k
    ERR_print_errors_fp(stderr);
2403
19.2k
    OPENSSL_assert(dsakey != NULL);
2404
19.2k
    BIO_free(bio_buf);
2405
19.2k
    pkey = EVP_PKEY_new();
2406
19.2k
    EVP_PKEY_assign_DSA(pkey, dsakey);
2407
19.2k
    ret = SSL_CTX_use_PrivateKey(ctx, pkey);
2408
19.2k
    OPENSSL_assert(ret == 1);
2409
19.2k
    EVP_PKEY_free(pkey);
2410
2411
19.2k
    bio_buf = BIO_new(BIO_s_mem());
2412
19.2k
    OPENSSL_assert((size_t)BIO_write(bio_buf, DSACertPEM, sizeof(DSACertPEM)) == sizeof(DSACertPEM));
2413
19.2k
    cert = PEM_read_bio_X509(bio_buf, NULL, NULL, NULL);
2414
19.2k
    OPENSSL_assert(cert != NULL);
2415
19.2k
    BIO_free(bio_buf);
2416
19.2k
    ret = SSL_CTX_use_certificate(ctx, cert);
2417
19.2k
    OPENSSL_assert(ret == 1);
2418
19.2k
    X509_free(cert);
2419
19.2k
#endif
2420
2421
19.2k
    server = SSL_new(ctx);
2422
19.2k
    in = BIO_new(BIO_s_mem());
2423
19.2k
    out = BIO_new(BIO_s_mem());
2424
19.2k
    SSL_set_bio(server, in, out);
2425
19.2k
    SSL_set_accept_state(server);
2426
2427
19.2k
    opt = (uint8_t)buf[len - 1];
2428
19.2k
    len--;
2429
2430
19.2k
    OPENSSL_assert((size_t)BIO_write(in, buf, len) == len);
2431
2432
19.2k
    if ((opt & 0x01) != 0) {
2433
8.44k
        do {
2434
8.44k
            char early_buf[16384];
2435
8.44k
            size_t early_len;
2436
8.44k
            ret = SSL_read_early_data(server, early_buf, sizeof(early_buf), &early_len);
2437
2438
8.44k
            if (ret != SSL_READ_EARLY_DATA_SUCCESS)
2439
8.44k
                break;
2440
8.44k
        } while (1);
2441
8.44k
    }
2442
2443
19.2k
    if (SSL_do_handshake(server) == 1) {
2444
        /* Keep reading application data until error or EOF. */
2445
762
        uint8_t tmp[1024];
2446
35.5k
        for (;;) {
2447
35.5k
            if (SSL_read(server, tmp, sizeof(tmp)) <= 0) {
2448
762
                break;
2449
762
            }
2450
35.5k
        }
2451
762
    }
2452
19.2k
    SSL_free(server);
2453
19.2k
    ERR_clear_error();
2454
19.2k
    SSL_CTX_free(ctx);
2455
2456
19.2k
    return 0;
2457
19.2k
}
2458
2459
void FuzzerCleanup(void)
2460
0
{
2461
0
    FuzzerClearRand();
2462
0
}