Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/crypto/openssl/fuzz/server.c
103096 views
1
/*
2
* Copyright 2016-2024 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
#define FUZZTIME 1485898104
2277
2278
#define TIME_IMPL(t) \
2279
{ \
2280
if (t != NULL) \
2281
*t = FUZZTIME; \
2282
return FUZZTIME; \
2283
}
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
time_t time(time_t *t) TIME_IMPL(t)
2294
#endif
2295
2296
int FuzzerInitialize(int *argc, char ***argv)
2297
{
2298
STACK_OF(SSL_COMP) *comp_methods;
2299
2300
FuzzerSetRand();
2301
OPENSSL_init_crypto(OPENSSL_INIT_LOAD_CRYPTO_STRINGS | OPENSSL_INIT_ASYNC, NULL);
2302
OPENSSL_init_ssl(OPENSSL_INIT_LOAD_SSL_STRINGS, NULL);
2303
ERR_clear_error();
2304
CRYPTO_free_ex_index(0, -1);
2305
idx = SSL_get_ex_data_X509_STORE_CTX_idx();
2306
comp_methods = SSL_COMP_get_compression_methods();
2307
if (comp_methods != NULL)
2308
sk_SSL_COMP_sort(comp_methods);
2309
2310
return 1;
2311
}
2312
2313
int FuzzerTestOneInput(const uint8_t *buf, size_t len)
2314
{
2315
SSL *server;
2316
BIO *in;
2317
BIO *out;
2318
#if !defined(OPENSSL_NO_EC) \
2319
|| (!defined(OPENSSL_NO_DSA) && !defined(OPENSSL_NO_DEPRECATED_3_0))
2320
BIO *bio_buf;
2321
#endif
2322
SSL_CTX *ctx;
2323
int ret;
2324
#ifndef OPENSSL_NO_DEPRECATED_3_0
2325
RSA *privkey;
2326
#endif
2327
const uint8_t *bufp;
2328
#if !defined(OPENSSL_NO_DEPRECATED_3_0)
2329
EVP_PKEY *pkey;
2330
#endif
2331
X509 *cert;
2332
#ifndef OPENSSL_NO_DEPRECATED_3_0
2333
#ifndef OPENSSL_NO_EC
2334
EC_KEY *ecdsakey = NULL;
2335
#endif
2336
#endif
2337
#if !defined(OPENSSL_NO_DSA) && !defined(OPENSSL_NO_DEPRECATED_3_0)
2338
DSA *dsakey = NULL;
2339
#endif
2340
uint8_t opt;
2341
2342
if (len < 2)
2343
return 0;
2344
2345
/* This only fuzzes the initial flow from the client so far. */
2346
ctx = SSL_CTX_new(SSLv23_method());
2347
2348
ret = SSL_CTX_set_min_proto_version(ctx, 0);
2349
OPENSSL_assert(ret == 1);
2350
ret = SSL_CTX_set_cipher_list(ctx, "ALL:eNULL:@SECLEVEL=0");
2351
OPENSSL_assert(ret == 1);
2352
2353
#ifndef OPENSSL_NO_DEPRECATED_3_0
2354
/* RSA */
2355
bufp = kRSAPrivateKeyDER;
2356
privkey = d2i_RSAPrivateKey(NULL, &bufp, sizeof(kRSAPrivateKeyDER));
2357
OPENSSL_assert(privkey != NULL);
2358
pkey = EVP_PKEY_new();
2359
EVP_PKEY_assign_RSA(pkey, privkey);
2360
ret = SSL_CTX_use_PrivateKey(ctx, pkey);
2361
OPENSSL_assert(ret == 1);
2362
EVP_PKEY_free(pkey);
2363
#endif
2364
2365
bufp = kCertificateDER;
2366
cert = d2i_X509(NULL, &bufp, sizeof(kCertificateDER));
2367
OPENSSL_assert(cert != NULL);
2368
ret = SSL_CTX_use_certificate(ctx, cert);
2369
OPENSSL_assert(ret == 1);
2370
X509_free(cert);
2371
2372
#ifndef OPENSSL_NO_EC
2373
#ifndef OPENSSL_NO_DEPRECATED_3_0
2374
/* ECDSA */
2375
bio_buf = BIO_new(BIO_s_mem());
2376
OPENSSL_assert((size_t)BIO_write(bio_buf, ECDSAPrivateKeyPEM, sizeof(ECDSAPrivateKeyPEM)) == sizeof(ECDSAPrivateKeyPEM));
2377
ecdsakey = PEM_read_bio_ECPrivateKey(bio_buf, NULL, NULL, NULL);
2378
ERR_print_errors_fp(stderr);
2379
OPENSSL_assert(ecdsakey != NULL);
2380
BIO_free(bio_buf);
2381
pkey = EVP_PKEY_new();
2382
EVP_PKEY_assign_EC_KEY(pkey, ecdsakey);
2383
ret = SSL_CTX_use_PrivateKey(ctx, pkey);
2384
OPENSSL_assert(ret == 1);
2385
EVP_PKEY_free(pkey);
2386
#endif
2387
bio_buf = BIO_new(BIO_s_mem());
2388
OPENSSL_assert((size_t)BIO_write(bio_buf, ECDSACertPEM, sizeof(ECDSACertPEM)) == sizeof(ECDSACertPEM));
2389
cert = PEM_read_bio_X509(bio_buf, NULL, NULL, NULL);
2390
OPENSSL_assert(cert != NULL);
2391
BIO_free(bio_buf);
2392
ret = SSL_CTX_use_certificate(ctx, cert);
2393
OPENSSL_assert(ret == 1);
2394
X509_free(cert);
2395
#endif
2396
2397
#if !defined(OPENSSL_NO_DSA) && !defined(OPENSSL_NO_DEPRECATED_3_0)
2398
/* DSA */
2399
bio_buf = BIO_new(BIO_s_mem());
2400
OPENSSL_assert((size_t)BIO_write(bio_buf, DSAPrivateKeyPEM, sizeof(DSAPrivateKeyPEM)) == sizeof(DSAPrivateKeyPEM));
2401
dsakey = PEM_read_bio_DSAPrivateKey(bio_buf, NULL, NULL, NULL);
2402
ERR_print_errors_fp(stderr);
2403
OPENSSL_assert(dsakey != NULL);
2404
BIO_free(bio_buf);
2405
pkey = EVP_PKEY_new();
2406
EVP_PKEY_assign_DSA(pkey, dsakey);
2407
ret = SSL_CTX_use_PrivateKey(ctx, pkey);
2408
OPENSSL_assert(ret == 1);
2409
EVP_PKEY_free(pkey);
2410
2411
bio_buf = BIO_new(BIO_s_mem());
2412
OPENSSL_assert((size_t)BIO_write(bio_buf, DSACertPEM, sizeof(DSACertPEM)) == sizeof(DSACertPEM));
2413
cert = PEM_read_bio_X509(bio_buf, NULL, NULL, NULL);
2414
OPENSSL_assert(cert != NULL);
2415
BIO_free(bio_buf);
2416
ret = SSL_CTX_use_certificate(ctx, cert);
2417
OPENSSL_assert(ret == 1);
2418
X509_free(cert);
2419
#endif
2420
2421
server = SSL_new(ctx);
2422
in = BIO_new(BIO_s_mem());
2423
out = BIO_new(BIO_s_mem());
2424
SSL_set_bio(server, in, out);
2425
SSL_set_accept_state(server);
2426
2427
opt = (uint8_t)buf[len - 1];
2428
len--;
2429
2430
OPENSSL_assert((size_t)BIO_write(in, buf, len) == len);
2431
2432
if ((opt & 0x01) != 0) {
2433
do {
2434
char early_buf[16384];
2435
size_t early_len;
2436
ret = SSL_read_early_data(server, early_buf, sizeof(early_buf), &early_len);
2437
2438
if (ret != SSL_READ_EARLY_DATA_SUCCESS)
2439
break;
2440
} while (1);
2441
}
2442
2443
if (SSL_do_handshake(server) == 1) {
2444
/* Keep reading application data until error or EOF. */
2445
uint8_t tmp[1024];
2446
for (;;) {
2447
if (SSL_read(server, tmp, sizeof(tmp)) <= 0) {
2448
break;
2449
}
2450
}
2451
}
2452
SSL_free(server);
2453
ERR_clear_error();
2454
SSL_CTX_free(ctx);
2455
2456
return 0;
2457
}
2458
2459
void FuzzerCleanup(void)
2460
{
2461
FuzzerClearRand();
2462
}
2463
2464