1 /*
2 * Copyright 2016-2025 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 /*
29 -----BEGIN CERTIFICATE-----
30 MIIDozCCAougAwIBAgIUSKwQD1qRtS+lridawmaYK6cej2kwDQYJKoZIhvcNAQEL
31 BQAwYTELMAkGA1UEBhMCbm8xCzAJBgNVBAgMAm5vMQswCQYDVQQHDAJubzELMAkG
32 A1UECgwCbm8xCzAJBgNVBAsMAm5vMQswCQYDVQQDDAJubzERMA8GCSqGSIb3DQEJ
33 ARYCbm8wHhcNMjQwMjI4MTkzNzEwWhcNMjUwMjI3MTkzNzEwWjBhMQswCQYDVQQG
34 EwJubzELMAkGA1UECAwCbm8xCzAJBgNVBAcMAm5vMQswCQYDVQQKDAJubzELMAkG
35 A1UECwwCbm8xCzAJBgNVBAMMAm5vMREwDwYJKoZIhvcNAQkBFgJubzCCASIwDQYJ
36 KoZIhvcNAQEBBQADggEPADCCAQoCggEBALWZB9Mtas0V9Sya+UhEabwzs3Eol+/M
37 hwUFWIFrr8tVyYvg8Xs/KnC2VaEpnEltBNLaOADZGUuXzz5Ebccb2i18ghvMDX5o
38 OwAAidL3tv6lh8/Vuj8tpLA53SDR5VTQcxitipsccjacHDftTqDA7+94STT8QSHt
39 Wu5FmXPKvJLmPuKQJMbOJSGDJLvdT/0dyM9aU3xKw64iv7S3laERWyW4/OemMQXs
40 i+kbanpVNJVmqTtS+q/FyYvvr1NpX0Oc/A5H2HYQ6f6P3nvJ22IOXoIcNjI1FmKb
41 X3NJHetHXtyZKXcfpizljsNvbffsL6twxjjCR3JdUqP1xECeuoLBMzkCAwEAAaNT
42 MFEwHQYDVR0OBBYEFKZ2b9IJ3YWCYyMkROjtjF7CxsfaMB8GA1UdIwQYMBaAFKZ2
43 b9IJ3YWCYyMkROjtjF7CxsfaMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL
44 BQADggEBAGJoHDTsAiuRtACTGiGz/oyNZfH/OUJaijUMaLbHd/JG2L6gtpACYY2b
45 AoLkIcCl38nsLYMLZ32Bbc5jnP/Qy3d2HKsTJ5It4qxDgtbtpU8e5MhEeJoeMHOC
46 fizbcWc7W7m2SLfpeQJWMgu2Da0HYEDS/xzLn7pxQgZpOrMQ7Ihi1jwXfKFqIIal
47 g6SijRGXh7onEAxEmKLkpVQRq633BYPV6odxtXDhxyJKyGjSJsQoKv9oCF2kAdAi
48 CvvatqRWRwgIeln1Sw9Ee6cTYZCG2U+/Uf+Ls7fjN8trb/Shmxo8do/npBnz8j+1
49 a2vbz3gpOsl87U0c01JCl9SZXDSO09w=
50 -----END CERTIFICATE-----
51 */
52 static const uint8_t RSACertificatePEM[] = {
53 0x2d,
54 0x2d,
55 0x2d,
56 0x2d,
57 0x2d,
58 0x42,
59 0x45,
60 0x47,
61 0x49,
62 0x4e,
63 0x20,
64 0x43,
65 0x45,
66 0x52,
67 0x54,
68 0x49,
69 0x46,
70 0x49,
71 0x43,
72 0x41,
73 0x54,
74 0x45,
75 0x2d,
76 0x2d,
77 0x2d,
78 0x2d,
79 0x2d,
80 0x0a,
81 0x4d,
82 0x49,
83 0x49,
84 0x44,
85 0x6f,
86 0x7a,
87 0x43,
88 0x43,
89 0x41,
90 0x6f,
91 0x75,
92 0x67,
93 0x41,
94 0x77,
95 0x49,
96 0x42,
97 0x41,
98 0x67,
99 0x49,
100 0x55,
101 0x53,
102 0x4b,
103 0x77,
104 0x51,
105 0x44,
106 0x31,
107 0x71,
108 0x52,
109 0x74,
110 0x53,
111 0x2b,
112 0x6c,
113 0x72,
114 0x69,
115 0x64,
116 0x61,
117 0x77,
118 0x6d,
119 0x61,
120 0x59,
121 0x4b,
122 0x36,
123 0x63,
124 0x65,
125 0x6a,
126 0x32,
127 0x6b,
128 0x77,
129 0x44,
130 0x51,
131 0x59,
132 0x4a,
133 0x4b,
134 0x6f,
135 0x5a,
136 0x49,
137 0x68,
138 0x76,
139 0x63,
140 0x4e,
141 0x41,
142 0x51,
143 0x45,
144 0x4c,
145 0x0a,
146 0x42,
147 0x51,
148 0x41,
149 0x77,
150 0x59,
151 0x54,
152 0x45,
153 0x4c,
154 0x4d,
155 0x41,
156 0x6b,
157 0x47,
158 0x41,
159 0x31,
160 0x55,
161 0x45,
162 0x42,
163 0x68,
164 0x4d,
165 0x43,
166 0x62,
167 0x6d,
168 0x38,
169 0x78,
170 0x43,
171 0x7a,
172 0x41,
173 0x4a,
174 0x42,
175 0x67,
176 0x4e,
177 0x56,
178 0x42,
179 0x41,
180 0x67,
181 0x4d,
182 0x41,
183 0x6d,
184 0x35,
185 0x76,
186 0x4d,
187 0x51,
188 0x73,
189 0x77,
190 0x43,
191 0x51,
192 0x59,
193 0x44,
194 0x56,
195 0x51,
196 0x51,
197 0x48,
198 0x44,
199 0x41,
200 0x4a,
201 0x75,
202 0x62,
203 0x7a,
204 0x45,
205 0x4c,
206 0x4d,
207 0x41,
208 0x6b,
209 0x47,
210 0x0a,
211 0x41,
212 0x31,
213 0x55,
214 0x45,
215 0x43,
216 0x67,
217 0x77,
218 0x43,
219 0x62,
220 0x6d,
221 0x38,
222 0x78,
223 0x43,
224 0x7a,
225 0x41,
226 0x4a,
227 0x42,
228 0x67,
229 0x4e,
230 0x56,
231 0x42,
232 0x41,
233 0x73,
234 0x4d,
235 0x41,
236 0x6d,
237 0x35,
238 0x76,
239 0x4d,
240 0x51,
241 0x73,
242 0x77,
243 0x43,
244 0x51,
245 0x59,
246 0x44,
247 0x56,
248 0x51,
249 0x51,
250 0x44,
251 0x44,
252 0x41,
253 0x4a,
254 0x75,
255 0x62,
256 0x7a,
257 0x45,
258 0x52,
259 0x4d,
260 0x41,
261 0x38,
262 0x47,
263 0x43,
264 0x53,
265 0x71,
266 0x47,
267 0x53,
268 0x49,
269 0x62,
270 0x33,
271 0x44,
272 0x51,
273 0x45,
274 0x4a,
275 0x0a,
276 0x41,
277 0x52,
278 0x59,
279 0x43,
280 0x62,
281 0x6d,
282 0x38,
283 0x77,
284 0x48,
285 0x68,
286 0x63,
287 0x4e,
288 0x4d,
289 0x6a,
290 0x51,
291 0x77,
292 0x4d,
293 0x6a,
294 0x49,
295 0x34,
296 0x4d,
297 0x54,
298 0x6b,
299 0x7a,
300 0x4e,
301 0x7a,
302 0x45,
303 0x77,
304 0x57,
305 0x68,
306 0x63,
307 0x4e,
308 0x4d,
309 0x6a,
310 0x55,
311 0x77,
312 0x4d,
313 0x6a,
314 0x49,
315 0x33,
316 0x4d,
317 0x54,
318 0x6b,
319 0x7a,
320 0x4e,
321 0x7a,
322 0x45,
323 0x77,
324 0x57,
325 0x6a,
326 0x42,
327 0x68,
328 0x4d,
329 0x51,
330 0x73,
331 0x77,
332 0x43,
333 0x51,
334 0x59,
335 0x44,
336 0x56,
337 0x51,
338 0x51,
339 0x47,
340 0x0a,
341 0x45,
342 0x77,
343 0x4a,
344 0x75,
345 0x62,
346 0x7a,
347 0x45,
348 0x4c,
349 0x4d,
350 0x41,
351 0x6b,
352 0x47,
353 0x41,
354 0x31,
355 0x55,
356 0x45,
357 0x43,
358 0x41,
359 0x77,
360 0x43,
361 0x62,
362 0x6d,
363 0x38,
364 0x78,
365 0x43,
366 0x7a,
367 0x41,
368 0x4a,
369 0x42,
370 0x67,
371 0x4e,
372 0x56,
373 0x42,
374 0x41,
375 0x63,
376 0x4d,
377 0x41,
378 0x6d,
379 0x35,
380 0x76,
381 0x4d,
382 0x51,
383 0x73,
384 0x77,
385 0x43,
386 0x51,
387 0x59,
388 0x44,
389 0x56,
390 0x51,
391 0x51,
392 0x4b,
393 0x44,
394 0x41,
395 0x4a,
396 0x75,
397 0x62,
398 0x7a,
399 0x45,
400 0x4c,
401 0x4d,
402 0x41,
403 0x6b,
404 0x47,
405 0x0a,
406 0x41,
407 0x31,
408 0x55,
409 0x45,
410 0x43,
411 0x77,
412 0x77,
413 0x43,
414 0x62,
415 0x6d,
416 0x38,
417 0x78,
418 0x43,
419 0x7a,
420 0x41,
421 0x4a,
422 0x42,
423 0x67,
424 0x4e,
425 0x56,
426 0x42,
427 0x41,
428 0x4d,
429 0x4d,
430 0x41,
431 0x6d,
432 0x35,
433 0x76,
434 0x4d,
435 0x52,
436 0x45,
437 0x77,
438 0x44,
439 0x77,
440 0x59,
441 0x4a,
442 0x4b,
443 0x6f,
444 0x5a,
445 0x49,
446 0x68,
447 0x76,
448 0x63,
449 0x4e,
450 0x41,
451 0x51,
452 0x6b,
453 0x42,
454 0x46,
455 0x67,
456 0x4a,
457 0x75,
458 0x62,
459 0x7a,
460 0x43,
461 0x43,
462 0x41,
463 0x53,
464 0x49,
465 0x77,
466 0x44,
467 0x51,
468 0x59,
469 0x4a,
470 0x0a,
471 0x4b,
472 0x6f,
473 0x5a,
474 0x49,
475 0x68,
476 0x76,
477 0x63,
478 0x4e,
479 0x41,
480 0x51,
481 0x45,
482 0x42,
483 0x42,
484 0x51,
485 0x41,
486 0x44,
487 0x67,
488 0x67,
489 0x45,
490 0x50,
491 0x41,
492 0x44,
493 0x43,
494 0x43,
495 0x41,
496 0x51,
497 0x6f,
498 0x43,
499 0x67,
500 0x67,
501 0x45,
502 0x42,
503 0x41,
504 0x4c,
505 0x57,
506 0x5a,
507 0x42,
508 0x39,
509 0x4d,
510 0x74,
511 0x61,
512 0x73,
513 0x30,
514 0x56,
515 0x39,
516 0x53,
517 0x79,
518 0x61,
519 0x2b,
520 0x55,
521 0x68,
522 0x45,
523 0x61,
524 0x62,
525 0x77,
526 0x7a,
527 0x73,
528 0x33,
529 0x45,
530 0x6f,
531 0x6c,
532 0x2b,
533 0x2f,
534 0x4d,
535 0x0a,
536 0x68,
537 0x77,
538 0x55,
539 0x46,
540 0x57,
541 0x49,
542 0x46,
543 0x72,
544 0x72,
545 0x38,
546 0x74,
547 0x56,
548 0x79,
549 0x59,
550 0x76,
551 0x67,
552 0x38,
553 0x58,
554 0x73,
555 0x2f,
556 0x4b,
557 0x6e,
558 0x43,
559 0x32,
560 0x56,
561 0x61,
562 0x45,
563 0x70,
564 0x6e,
565 0x45,
566 0x6c,
567 0x74,
568 0x42,
569 0x4e,
570 0x4c,
571 0x61,
572 0x4f,
573 0x41,
574 0x44,
575 0x5a,
576 0x47,
577 0x55,
578 0x75,
579 0x58,
580 0x7a,
581 0x7a,
582 0x35,
583 0x45,
584 0x62,
585 0x63,
586 0x63,
587 0x62,
588 0x32,
589 0x69,
590 0x31,
591 0x38,
592 0x67,
593 0x68,
594 0x76,
595 0x4d,
596 0x44,
597 0x58,
598 0x35,
599 0x6f,
600 0x0a,
601 0x4f,
602 0x77,
603 0x41,
604 0x41,
605 0x69,
606 0x64,
607 0x4c,
608 0x33,
609 0x74,
610 0x76,
611 0x36,
612 0x6c,
613 0x68,
614 0x38,
615 0x2f,
616 0x56,
617 0x75,
618 0x6a,
619 0x38,
620 0x74,
621 0x70,
622 0x4c,
623 0x41,
624 0x35,
625 0x33,
626 0x53,
627 0x44,
628 0x52,
629 0x35,
630 0x56,
631 0x54,
632 0x51,
633 0x63,
634 0x78,
635 0x69,
636 0x74,
637 0x69,
638 0x70,
639 0x73,
640 0x63,
641 0x63,
642 0x6a,
643 0x61,
644 0x63,
645 0x48,
646 0x44,
647 0x66,
648 0x74,
649 0x54,
650 0x71,
651 0x44,
652 0x41,
653 0x37,
654 0x2b,
655 0x39,
656 0x34,
657 0x53,
658 0x54,
659 0x54,
660 0x38,
661 0x51,
662 0x53,
663 0x48,
664 0x74,
665 0x0a,
666 0x57,
667 0x75,
668 0x35,
669 0x46,
670 0x6d,
671 0x58,
672 0x50,
673 0x4b,
674 0x76,
675 0x4a,
676 0x4c,
677 0x6d,
678 0x50,
679 0x75,
680 0x4b,
681 0x51,
682 0x4a,
683 0x4d,
684 0x62,
685 0x4f,
686 0x4a,
687 0x53,
688 0x47,
689 0x44,
690 0x4a,
691 0x4c,
692 0x76,
693 0x64,
694 0x54,
695 0x2f,
696 0x30,
697 0x64,
698 0x79,
699 0x4d,
700 0x39,
701 0x61,
702 0x55,
703 0x33,
704 0x78,
705 0x4b,
706 0x77,
707 0x36,
708 0x34,
709 0x69,
710 0x76,
711 0x37,
712 0x53,
713 0x33,
714 0x6c,
715 0x61,
716 0x45,
717 0x52,
718 0x57,
719 0x79,
720 0x57,
721 0x34,
722 0x2f,
723 0x4f,
724 0x65,
725 0x6d,
726 0x4d,
727 0x51,
728 0x58,
729 0x73,
730 0x0a,
731 0x69,
732 0x2b,
733 0x6b,
734 0x62,
735 0x61,
736 0x6e,
737 0x70,
738 0x56,
739 0x4e,
740 0x4a,
741 0x56,
742 0x6d,
743 0x71,
744 0x54,
745 0x74,
746 0x53,
747 0x2b,
748 0x71,
749 0x2f,
750 0x46,
751 0x79,
752 0x59,
753 0x76,
754 0x76,
755 0x72,
756 0x31,
757 0x4e,
758 0x70,
759 0x58,
760 0x30,
761 0x4f,
762 0x63,
763 0x2f,
764 0x41,
765 0x35,
766 0x48,
767 0x32,
768 0x48,
769 0x59,
770 0x51,
771 0x36,
772 0x66,
773 0x36,
774 0x50,
775 0x33,
776 0x6e,
777 0x76,
778 0x4a,
779 0x32,
780 0x32,
781 0x49,
782 0x4f,
783 0x58,
784 0x6f,
785 0x49,
786 0x63,
787 0x4e,
788 0x6a,
789 0x49,
790 0x31,
791 0x46,
792 0x6d,
793 0x4b,
794 0x62,
795 0x0a,
796 0x58,
797 0x33,
798 0x4e,
799 0x4a,
800 0x48,
801 0x65,
802 0x74,
803 0x48,
804 0x58,
805 0x74,
806 0x79,
807 0x5a,
808 0x4b,
809 0x58,
810 0x63,
811 0x66,
812 0x70,
813 0x69,
814 0x7a,
815 0x6c,
816 0x6a,
817 0x73,
818 0x4e,
819 0x76,
820 0x62,
821 0x66,
822 0x66,
823 0x73,
824 0x4c,
825 0x36,
826 0x74,
827 0x77,
828 0x78,
829 0x6a,
830 0x6a,
831 0x43,
832 0x52,
833 0x33,
834 0x4a,
835 0x64,
836 0x55,
837 0x71,
838 0x50,
839 0x31,
840 0x78,
841 0x45,
842 0x43,
843 0x65,
844 0x75,
845 0x6f,
846 0x4c,
847 0x42,
848 0x4d,
849 0x7a,
850 0x6b,
851 0x43,
852 0x41,
853 0x77,
854 0x45,
855 0x41,
856 0x41,
857 0x61,
858 0x4e,
859 0x54,
860 0x0a,
861 0x4d,
862 0x46,
863 0x45,
864 0x77,
865 0x48,
866 0x51,
867 0x59,
868 0x44,
869 0x56,
870 0x52,
871 0x30,
872 0x4f,
873 0x42,
874 0x42,
875 0x59,
876 0x45,
877 0x46,
878 0x4b,
879 0x5a,
880 0x32,
881 0x62,
882 0x39,
883 0x49,
884 0x4a,
885 0x33,
886 0x59,
887 0x57,
888 0x43,
889 0x59,
890 0x79,
891 0x4d,
892 0x6b,
893 0x52,
894 0x4f,
895 0x6a,
896 0x74,
897 0x6a,
898 0x46,
899 0x37,
900 0x43,
901 0x78,
902 0x73,
903 0x66,
904 0x61,
905 0x4d,
906 0x42,
907 0x38,
908 0x47,
909 0x41,
910 0x31,
911 0x55,
912 0x64,
913 0x49,
914 0x77,
915 0x51,
916 0x59,
917 0x4d,
918 0x42,
919 0x61,
920 0x41,
921 0x46,
922 0x4b,
923 0x5a,
924 0x32,
925 0x0a,
926 0x62,
927 0x39,
928 0x49,
929 0x4a,
930 0x33,
931 0x59,
932 0x57,
933 0x43,
934 0x59,
935 0x79,
936 0x4d,
937 0x6b,
938 0x52,
939 0x4f,
940 0x6a,
941 0x74,
942 0x6a,
943 0x46,
944 0x37,
945 0x43,
946 0x78,
947 0x73,
948 0x66,
949 0x61,
950 0x4d,
951 0x41,
952 0x38,
953 0x47,
954 0x41,
955 0x31,
956 0x55,
957 0x64,
958 0x45,
959 0x77,
960 0x45,
961 0x42,
962 0x2f,
963 0x77,
964 0x51,
965 0x46,
966 0x4d,
967 0x41,
968 0x4d,
969 0x42,
970 0x41,
971 0x66,
972 0x38,
973 0x77,
974 0x44,
975 0x51,
976 0x59,
977 0x4a,
978 0x4b,
979 0x6f,
980 0x5a,
981 0x49,
982 0x68,
983 0x76,
984 0x63,
985 0x4e,
986 0x41,
987 0x51,
988 0x45,
989 0x4c,
990 0x0a,
991 0x42,
992 0x51,
993 0x41,
994 0x44,
995 0x67,
996 0x67,
997 0x45,
998 0x42,
999 0x41,
1000 0x47,
1001 0x4a,
1002 0x6f,
1003 0x48,
1004 0x44,
1005 0x54,
1006 0x73,
1007 0x41,
1008 0x69,
1009 0x75,
1010 0x52,
1011 0x74,
1012 0x41,
1013 0x43,
1014 0x54,
1015 0x47,
1016 0x69,
1017 0x47,
1018 0x7a,
1019 0x2f,
1020 0x6f,
1021 0x79,
1022 0x4e,
1023 0x5a,
1024 0x66,
1025 0x48,
1026 0x2f,
1027 0x4f,
1028 0x55,
1029 0x4a,
1030 0x61,
1031 0x69,
1032 0x6a,
1033 0x55,
1034 0x4d,
1035 0x61,
1036 0x4c,
1037 0x62,
1038 0x48,
1039 0x64,
1040 0x2f,
1041 0x4a,
1042 0x47,
1043 0x32,
1044 0x4c,
1045 0x36,
1046 0x67,
1047 0x74,
1048 0x70,
1049 0x41,
1050 0x43,
1051 0x59,
1052 0x59,
1053 0x32,
1054 0x62,
1055 0x0a,
1056 0x41,
1057 0x6f,
1058 0x4c,
1059 0x6b,
1060 0x49,
1061 0x63,
1062 0x43,
1063 0x6c,
1064 0x33,
1065 0x38,
1066 0x6e,
1067 0x73,
1068 0x4c,
1069 0x59,
1070 0x4d,
1071 0x4c,
1072 0x5a,
1073 0x33,
1074 0x32,
1075 0x42,
1076 0x62,
1077 0x63,
1078 0x35,
1079 0x6a,
1080 0x6e,
1081 0x50,
1082 0x2f,
1083 0x51,
1084 0x79,
1085 0x33,
1086 0x64,
1087 0x32,
1088 0x48,
1089 0x4b,
1090 0x73,
1091 0x54,
1092 0x4a,
1093 0x35,
1094 0x49,
1095 0x74,
1096 0x34,
1097 0x71,
1098 0x78,
1099 0x44,
1100 0x67,
1101 0x74,
1102 0x62,
1103 0x74,
1104 0x70,
1105 0x55,
1106 0x38,
1107 0x65,
1108 0x35,
1109 0x4d,
1110 0x68,
1111 0x45,
1112 0x65,
1113 0x4a,
1114 0x6f,
1115 0x65,
1116 0x4d,
1117 0x48,
1118 0x4f,
1119 0x43,
1120 0x0a,
1121 0x66,
1122 0x69,
1123 0x7a,
1124 0x62,
1125 0x63,
1126 0x57,
1127 0x63,
1128 0x37,
1129 0x57,
1130 0x37,
1131 0x6d,
1132 0x32,
1133 0x53,
1134 0x4c,
1135 0x66,
1136 0x70,
1137 0x65,
1138 0x51,
1139 0x4a,
1140 0x57,
1141 0x4d,
1142 0x67,
1143 0x75,
1144 0x32,
1145 0x44,
1146 0x61,
1147 0x30,
1148 0x48,
1149 0x59,
1150 0x45,
1151 0x44,
1152 0x53,
1153 0x2f,
1154 0x78,
1155 0x7a,
1156 0x4c,
1157 0x6e,
1158 0x37,
1159 0x70,
1160 0x78,
1161 0x51,
1162 0x67,
1163 0x5a,
1164 0x70,
1165 0x4f,
1166 0x72,
1167 0x4d,
1168 0x51,
1169 0x37,
1170 0x49,
1171 0x68,
1172 0x69,
1173 0x31,
1174 0x6a,
1175 0x77,
1176 0x58,
1177 0x66,
1178 0x4b,
1179 0x46,
1180 0x71,
1181 0x49,
1182 0x49,
1183 0x61,
1184 0x6c,
1185 0x0a,
1186 0x67,
1187 0x36,
1188 0x53,
1189 0x69,
1190 0x6a,
1191 0x52,
1192 0x47,
1193 0x58,
1194 0x68,
1195 0x37,
1196 0x6f,
1197 0x6e,
1198 0x45,
1199 0x41,
1200 0x78,
1201 0x45,
1202 0x6d,
1203 0x4b,
1204 0x4c,
1205 0x6b,
1206 0x70,
1207 0x56,
1208 0x51,
1209 0x52,
1210 0x71,
1211 0x36,
1212 0x33,
1213 0x33,
1214 0x42,
1215 0x59,
1216 0x50,
1217 0x56,
1218 0x36,
1219 0x6f,
1220 0x64,
1221 0x78,
1222 0x74,
1223 0x58,
1224 0x44,
1225 0x68,
1226 0x78,
1227 0x79,
1228 0x4a,
1229 0x4b,
1230 0x79,
1231 0x47,
1232 0x6a,
1233 0x53,
1234 0x4a,
1235 0x73,
1236 0x51,
1237 0x6f,
1238 0x4b,
1239 0x76,
1240 0x39,
1241 0x6f,
1242 0x43,
1243 0x46,
1244 0x32,
1245 0x6b,
1246 0x41,
1247 0x64,
1248 0x41,
1249 0x69,
1250 0x0a,
1251 0x43,
1252 0x76,
1253 0x76,
1254 0x61,
1255 0x74,
1256 0x71,
1257 0x52,
1258 0x57,
1259 0x52,
1260 0x77,
1261 0x67,
1262 0x49,
1263 0x65,
1264 0x6c,
1265 0x6e,
1266 0x31,
1267 0x53,
1268 0x77,
1269 0x39,
1270 0x45,
1271 0x65,
1272 0x36,
1273 0x63,
1274 0x54,
1275 0x59,
1276 0x5a,
1277 0x43,
1278 0x47,
1279 0x32,
1280 0x55,
1281 0x2b,
1282 0x2f,
1283 0x55,
1284 0x66,
1285 0x2b,
1286 0x4c,
1287 0x73,
1288 0x37,
1289 0x66,
1290 0x6a,
1291 0x4e,
1292 0x38,
1293 0x74,
1294 0x72,
1295 0x62,
1296 0x2f,
1297 0x53,
1298 0x68,
1299 0x6d,
1300 0x78,
1301 0x6f,
1302 0x38,
1303 0x64,
1304 0x6f,
1305 0x2f,
1306 0x6e,
1307 0x70,
1308 0x42,
1309 0x6e,
1310 0x7a,
1311 0x38,
1312 0x6a,
1313 0x2b,
1314 0x31,
1315 0x0a,
1316 0x61,
1317 0x32,
1318 0x76,
1319 0x62,
1320 0x7a,
1321 0x33,
1322 0x67,
1323 0x70,
1324 0x4f,
1325 0x73,
1326 0x6c,
1327 0x38,
1328 0x37,
1329 0x55,
1330 0x30,
1331 0x63,
1332 0x30,
1333 0x31,
1334 0x4a,
1335 0x43,
1336 0x6c,
1337 0x39,
1338 0x53,
1339 0x5a,
1340 0x58,
1341 0x44,
1342 0x53,
1343 0x4f,
1344 0x30,
1345 0x39,
1346 0x77,
1347 0x3d,
1348 0x0a,
1349 0x2d,
1350 0x2d,
1351 0x2d,
1352 0x2d,
1353 0x2d,
1354 0x45,
1355 0x4e,
1356 0x44,
1357 0x20,
1358 0x43,
1359 0x45,
1360 0x52,
1361 0x54,
1362 0x49,
1363 0x46,
1364 0x49,
1365 0x43,
1366 0x41,
1367 0x54,
1368 0x45,
1369 0x2d,
1370 0x2d,
1371 0x2d,
1372 0x2d,
1373 0x2d,
1374 0x0a,
1375 };
1376
1377 #ifndef OPENSSL_NO_DEPRECATED_3_0
1378 /*
1379 -----BEGIN PRIVATE KEY-----
1380 MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC1mQfTLWrNFfUs
1381 mvlIRGm8M7NxKJfvzIcFBViBa6/LVcmL4PF7PypwtlWhKZxJbQTS2jgA2RlLl88+
1382 RG3HG9otfIIbzA1+aDsAAInS97b+pYfP1bo/LaSwOd0g0eVU0HMYrYqbHHI2nBw3
1383 7U6gwO/veEk0/EEh7VruRZlzyryS5j7ikCTGziUhgyS73U/9HcjPWlN8SsOuIr+0
1384 t5WhEVsluPznpjEF7IvpG2p6VTSVZqk7UvqvxcmL769TaV9DnPwOR9h2EOn+j957
1385 ydtiDl6CHDYyNRZim19zSR3rR17cmSl3H6Ys5Y7Db2337C+rcMY4wkdyXVKj9cRA
1386 nrqCwTM5AgMBAAECggEAFOD+XFJZeDDxGmrLBHsRKRlMpVMEfQan83TU4zRtZtR7
1387 MsDvIrt1drYQDFKLbInDRzbdv4M2fFF8+2zErmLOZ/JrxyRj3MfBGNP3BLGEcay4
1388 e7XYDxGBYN2WRgK7+k9pHEo/qGvR2eOC/w8ivirQq1jKGfRyzKLMlJ6d8Qk7OyxZ
1389 n0u3v2EJ9CWoNDgUH4exCil/Oe4h5WA59xT5NAkx4RUojsJiExWZpzT/VX1d21mN
1390 WMb5EO8eyi6FyZlAcb9MID0kMF6Q3hUv+jTw+X9yig+3B9bg2Z0I+IKHl9InShkC
1391 ndYn4ad0zd/ggMVkloomh4uaSqZxUi3ywtszZkRbzQKBgQD7Pvx1ErKm5lZDAS2b
1392 b4rltzqJRUEKyEqjqzPzgasOa0jWEq/fxuGc/bixg/EBaQ8yyTGYdIYyr7DKYYjC
1393 0AGVnBCh0+TFUDB1kfwkbef2b8yufQ/vJwcOJ+5kBXQZx8+L8U9iWKANXxkEeCX2
1394 iWPZPz52pTTYlf90PLzEW6QyDwKBgQC5CKyfUwx3Ba2iXtfIreyPqDobbybyTEYk
1395 ayA2oElSdejgVkWwJ+q77gwrnF5Pe9zbpUBoc7VJjrRhUojI7LOySyto3WYYoczX
1396 LprzPnj2yEVeV2lrTS6lKNpdraO8QZcSD7mUUmiNRZnoPK16Mm9qjkk29HnY7Msq
1397 pkiOg4huNwKBgQCkh2HBtOXjH/GbXVklcc0Ok4e0vvJSAknGlmWl7+M5xQ3kikY8
1398 D7xNF2XscY/QsaDvTAu7X4tGBAGM9oQdtyNietn1b5JfmByz0U7B+Gsv2ZS7K1DU
1399 9sTLA2E8hMm73DpQ1Ux8BbeCKiVy5M9PfDcz3BOmlJdfwhKQZvniyHRlBwKBgQCH
1400 /sAhOcDnmdzMgjjG3k4IJ/TNRRyy6SyEh9fdTmGVoePPPplpp2z3Qzbetsb6VGc3
1401 aHW2T5Tmw2QAQ9EVHCPW3zjAkjj/0avkW/S24yu09e1GMajhnJC0Axq7z2uQagTG
1402 2ZfkU81UR9uevTojnf4Vqw5UvcrwjNmmNyEM3c/gcQKBgHa2dT5svzM1jReiO3Vt
1403 dAUDztGKUE3clPV35L2xmJeJDXPOqCL3qoZ9A6hHmDw6gmg82gQDQeJbL/+jKkon
1404 e6atH/Dfr+M4nPft9Lt4fOAWOQ3tDsDuCkOMjSTn8cLMZLGcwT2H1H2vBocM+UTd
1405 hljAVnB9v6NMfcRERTx10SUc
1406 -----END PRIVATE KEY-----
1407 */
1408 static const uint8_t RSAPrivateKeyPEM[] = {
1409 0x2d,
1410 0x2d,
1411 0x2d,
1412 0x2d,
1413 0x2d,
1414 0x42,
1415 0x45,
1416 0x47,
1417 0x49,
1418 0x4e,
1419 0x20,
1420 0x50,
1421 0x52,
1422 0x49,
1423 0x56,
1424 0x41,
1425 0x54,
1426 0x45,
1427 0x20,
1428 0x4b,
1429 0x45,
1430 0x59,
1431 0x2d,
1432 0x2d,
1433 0x2d,
1434 0x2d,
1435 0x2d,
1436 0x0a,
1437 0x4d,
1438 0x49,
1439 0x49,
1440 0x45,
1441 0x76,
1442 0x67,
1443 0x49,
1444 0x42,
1445 0x41,
1446 0x44,
1447 0x41,
1448 0x4e,
1449 0x42,
1450 0x67,
1451 0x6b,
1452 0x71,
1453 0x68,
1454 0x6b,
1455 0x69,
1456 0x47,
1457 0x39,
1458 0x77,
1459 0x30,
1460 0x42,
1461 0x41,
1462 0x51,
1463 0x45,
1464 0x46,
1465 0x41,
1466 0x41,
1467 0x53,
1468 0x43,
1469 0x42,
1470 0x4b,
1471 0x67,
1472 0x77,
1473 0x67,
1474 0x67,
1475 0x53,
1476 0x6b,
1477 0x41,
1478 0x67,
1479 0x45,
1480 0x41,
1481 0x41,
1482 0x6f,
1483 0x49,
1484 0x42,
1485 0x41,
1486 0x51,
1487 0x43,
1488 0x31,
1489 0x6d,
1490 0x51,
1491 0x66,
1492 0x54,
1493 0x4c,
1494 0x57,
1495 0x72,
1496 0x4e,
1497 0x46,
1498 0x66,
1499 0x55,
1500 0x73,
1501 0x0a,
1502 0x6d,
1503 0x76,
1504 0x6c,
1505 0x49,
1506 0x52,
1507 0x47,
1508 0x6d,
1509 0x38,
1510 0x4d,
1511 0x37,
1512 0x4e,
1513 0x78,
1514 0x4b,
1515 0x4a,
1516 0x66,
1517 0x76,
1518 0x7a,
1519 0x49,
1520 0x63,
1521 0x46,
1522 0x42,
1523 0x56,
1524 0x69,
1525 0x42,
1526 0x61,
1527 0x36,
1528 0x2f,
1529 0x4c,
1530 0x56,
1531 0x63,
1532 0x6d,
1533 0x4c,
1534 0x34,
1535 0x50,
1536 0x46,
1537 0x37,
1538 0x50,
1539 0x79,
1540 0x70,
1541 0x77,
1542 0x74,
1543 0x6c,
1544 0x57,
1545 0x68,
1546 0x4b,
1547 0x5a,
1548 0x78,
1549 0x4a,
1550 0x62,
1551 0x51,
1552 0x54,
1553 0x53,
1554 0x32,
1555 0x6a,
1556 0x67,
1557 0x41,
1558 0x32,
1559 0x52,
1560 0x6c,
1561 0x4c,
1562 0x6c,
1563 0x38,
1564 0x38,
1565 0x2b,
1566 0x0a,
1567 0x52,
1568 0x47,
1569 0x33,
1570 0x48,
1571 0x47,
1572 0x39,
1573 0x6f,
1574 0x74,
1575 0x66,
1576 0x49,
1577 0x49,
1578 0x62,
1579 0x7a,
1580 0x41,
1581 0x31,
1582 0x2b,
1583 0x61,
1584 0x44,
1585 0x73,
1586 0x41,
1587 0x41,
1588 0x49,
1589 0x6e,
1590 0x53,
1591 0x39,
1592 0x37,
1593 0x62,
1594 0x2b,
1595 0x70,
1596 0x59,
1597 0x66,
1598 0x50,
1599 0x31,
1600 0x62,
1601 0x6f,
1602 0x2f,
1603 0x4c,
1604 0x61,
1605 0x53,
1606 0x77,
1607 0x4f,
1608 0x64,
1609 0x30,
1610 0x67,
1611 0x30,
1612 0x65,
1613 0x56,
1614 0x55,
1615 0x30,
1616 0x48,
1617 0x4d,
1618 0x59,
1619 0x72,
1620 0x59,
1621 0x71,
1622 0x62,
1623 0x48,
1624 0x48,
1625 0x49,
1626 0x32,
1627 0x6e,
1628 0x42,
1629 0x77,
1630 0x33,
1631 0x0a,
1632 0x37,
1633 0x55,
1634 0x36,
1635 0x67,
1636 0x77,
1637 0x4f,
1638 0x2f,
1639 0x76,
1640 0x65,
1641 0x45,
1642 0x6b,
1643 0x30,
1644 0x2f,
1645 0x45,
1646 0x45,
1647 0x68,
1648 0x37,
1649 0x56,
1650 0x72,
1651 0x75,
1652 0x52,
1653 0x5a,
1654 0x6c,
1655 0x7a,
1656 0x79,
1657 0x72,
1658 0x79,
1659 0x53,
1660 0x35,
1661 0x6a,
1662 0x37,
1663 0x69,
1664 0x6b,
1665 0x43,
1666 0x54,
1667 0x47,
1668 0x7a,
1669 0x69,
1670 0x55,
1671 0x68,
1672 0x67,
1673 0x79,
1674 0x53,
1675 0x37,
1676 0x33,
1677 0x55,
1678 0x2f,
1679 0x39,
1680 0x48,
1681 0x63,
1682 0x6a,
1683 0x50,
1684 0x57,
1685 0x6c,
1686 0x4e,
1687 0x38,
1688 0x53,
1689 0x73,
1690 0x4f,
1691 0x75,
1692 0x49,
1693 0x72,
1694 0x2b,
1695 0x30,
1696 0x0a,
1697 0x74,
1698 0x35,
1699 0x57,
1700 0x68,
1701 0x45,
1702 0x56,
1703 0x73,
1704 0x6c,
1705 0x75,
1706 0x50,
1707 0x7a,
1708 0x6e,
1709 0x70,
1710 0x6a,
1711 0x45,
1712 0x46,
1713 0x37,
1714 0x49,
1715 0x76,
1716 0x70,
1717 0x47,
1718 0x32,
1719 0x70,
1720 0x36,
1721 0x56,
1722 0x54,
1723 0x53,
1724 0x56,
1725 0x5a,
1726 0x71,
1727 0x6b,
1728 0x37,
1729 0x55,
1730 0x76,
1731 0x71,
1732 0x76,
1733 0x78,
1734 0x63,
1735 0x6d,
1736 0x4c,
1737 0x37,
1738 0x36,
1739 0x39,
1740 0x54,
1741 0x61,
1742 0x56,
1743 0x39,
1744 0x44,
1745 0x6e,
1746 0x50,
1747 0x77,
1748 0x4f,
1749 0x52,
1750 0x39,
1751 0x68,
1752 0x32,
1753 0x45,
1754 0x4f,
1755 0x6e,
1756 0x2b,
1757 0x6a,
1758 0x39,
1759 0x35,
1760 0x37,
1761 0x0a,
1762 0x79,
1763 0x64,
1764 0x74,
1765 0x69,
1766 0x44,
1767 0x6c,
1768 0x36,
1769 0x43,
1770 0x48,
1771 0x44,
1772 0x59,
1773 0x79,
1774 0x4e,
1775 0x52,
1776 0x5a,
1777 0x69,
1778 0x6d,
1779 0x31,
1780 0x39,
1781 0x7a,
1782 0x53,
1783 0x52,
1784 0x33,
1785 0x72,
1786 0x52,
1787 0x31,
1788 0x37,
1789 0x63,
1790 0x6d,
1791 0x53,
1792 0x6c,
1793 0x33,
1794 0x48,
1795 0x36,
1796 0x59,
1797 0x73,
1798 0x35,
1799 0x59,
1800 0x37,
1801 0x44,
1802 0x62,
1803 0x32,
1804 0x33,
1805 0x33,
1806 0x37,
1807 0x43,
1808 0x2b,
1809 0x72,
1810 0x63,
1811 0x4d,
1812 0x59,
1813 0x34,
1814 0x77,
1815 0x6b,
1816 0x64,
1817 0x79,
1818 0x58,
1819 0x56,
1820 0x4b,
1821 0x6a,
1822 0x39,
1823 0x63,
1824 0x52,
1825 0x41,
1826 0x0a,
1827 0x6e,
1828 0x72,
1829 0x71,
1830 0x43,
1831 0x77,
1832 0x54,
1833 0x4d,
1834 0x35,
1835 0x41,
1836 0x67,
1837 0x4d,
1838 0x42,
1839 0x41,
1840 0x41,
1841 0x45,
1842 0x43,
1843 0x67,
1844 0x67,
1845 0x45,
1846 0x41,
1847 0x46,
1848 0x4f,
1849 0x44,
1850 0x2b,
1851 0x58,
1852 0x46,
1853 0x4a,
1854 0x5a,
1855 0x65,
1856 0x44,
1857 0x44,
1858 0x78,
1859 0x47,
1860 0x6d,
1861 0x72,
1862 0x4c,
1863 0x42,
1864 0x48,
1865 0x73,
1866 0x52,
1867 0x4b,
1868 0x52,
1869 0x6c,
1870 0x4d,
1871 0x70,
1872 0x56,
1873 0x4d,
1874 0x45,
1875 0x66,
1876 0x51,
1877 0x61,
1878 0x6e,
1879 0x38,
1880 0x33,
1881 0x54,
1882 0x55,
1883 0x34,
1884 0x7a,
1885 0x52,
1886 0x74,
1887 0x5a,
1888 0x74,
1889 0x52,
1890 0x37,
1891 0x0a,
1892 0x4d,
1893 0x73,
1894 0x44,
1895 0x76,
1896 0x49,
1897 0x72,
1898 0x74,
1899 0x31,
1900 0x64,
1901 0x72,
1902 0x59,
1903 0x51,
1904 0x44,
1905 0x46,
1906 0x4b,
1907 0x4c,
1908 0x62,
1909 0x49,
1910 0x6e,
1911 0x44,
1912 0x52,
1913 0x7a,
1914 0x62,
1915 0x64,
1916 0x76,
1917 0x34,
1918 0x4d,
1919 0x32,
1920 0x66,
1921 0x46,
1922 0x46,
1923 0x38,
1924 0x2b,
1925 0x32,
1926 0x7a,
1927 0x45,
1928 0x72,
1929 0x6d,
1930 0x4c,
1931 0x4f,
1932 0x5a,
1933 0x2f,
1934 0x4a,
1935 0x72,
1936 0x78,
1937 0x79,
1938 0x52,
1939 0x6a,
1940 0x33,
1941 0x4d,
1942 0x66,
1943 0x42,
1944 0x47,
1945 0x4e,
1946 0x50,
1947 0x33,
1948 0x42,
1949 0x4c,
1950 0x47,
1951 0x45,
1952 0x63,
1953 0x61,
1954 0x79,
1955 0x34,
1956 0x0a,
1957 0x65,
1958 0x37,
1959 0x58,
1960 0x59,
1961 0x44,
1962 0x78,
1963 0x47,
1964 0x42,
1965 0x59,
1966 0x4e,
1967 0x32,
1968 0x57,
1969 0x52,
1970 0x67,
1971 0x4b,
1972 0x37,
1973 0x2b,
1974 0x6b,
1975 0x39,
1976 0x70,
1977 0x48,
1978 0x45,
1979 0x6f,
1980 0x2f,
1981 0x71,
1982 0x47,
1983 0x76,
1984 0x52,
1985 0x32,
1986 0x65,
1987 0x4f,
1988 0x43,
1989 0x2f,
1990 0x77,
1991 0x38,
1992 0x69,
1993 0x76,
1994 0x69,
1995 0x72,
1996 0x51,
1997 0x71,
1998 0x31,
1999 0x6a,
2000 0x4b,
2001 0x47,
2002 0x66,
2003 0x52,
2004 0x79,
2005 0x7a,
2006 0x4b,
2007 0x4c,
2008 0x4d,
2009 0x6c,
2010 0x4a,
2011 0x36,
2012 0x64,
2013 0x38,
2014 0x51,
2015 0x6b,
2016 0x37,
2017 0x4f,
2018 0x79,
2019 0x78,
2020 0x5a,
2021 0x0a,
2022 0x6e,
2023 0x30,
2024 0x75,
2025 0x33,
2026 0x76,
2027 0x32,
2028 0x45,
2029 0x4a,
2030 0x39,
2031 0x43,
2032 0x57,
2033 0x6f,
2034 0x4e,
2035 0x44,
2036 0x67,
2037 0x55,
2038 0x48,
2039 0x34,
2040 0x65,
2041 0x78,
2042 0x43,
2043 0x69,
2044 0x6c,
2045 0x2f,
2046 0x4f,
2047 0x65,
2048 0x34,
2049 0x68,
2050 0x35,
2051 0x57,
2052 0x41,
2053 0x35,
2054 0x39,
2055 0x78,
2056 0x54,
2057 0x35,
2058 0x4e,
2059 0x41,
2060 0x6b,
2061 0x78,
2062 0x34,
2063 0x52,
2064 0x55,
2065 0x6f,
2066 0x6a,
2067 0x73,
2068 0x4a,
2069 0x69,
2070 0x45,
2071 0x78,
2072 0x57,
2073 0x5a,
2074 0x70,
2075 0x7a,
2076 0x54,
2077 0x2f,
2078 0x56,
2079 0x58,
2080 0x31,
2081 0x64,
2082 0x32,
2083 0x31,
2084 0x6d,
2085 0x4e,
2086 0x0a,
2087 0x57,
2088 0x4d,
2089 0x62,
2090 0x35,
2091 0x45,
2092 0x4f,
2093 0x38,
2094 0x65,
2095 0x79,
2096 0x69,
2097 0x36,
2098 0x46,
2099 0x79,
2100 0x5a,
2101 0x6c,
2102 0x41,
2103 0x63,
2104 0x62,
2105 0x39,
2106 0x4d,
2107 0x49,
2108 0x44,
2109 0x30,
2110 0x6b,
2111 0x4d,
2112 0x46,
2113 0x36,
2114 0x51,
2115 0x33,
2116 0x68,
2117 0x55,
2118 0x76,
2119 0x2b,
2120 0x6a,
2121 0x54,
2122 0x77,
2123 0x2b,
2124 0x58,
2125 0x39,
2126 0x79,
2127 0x69,
2128 0x67,
2129 0x2b,
2130 0x33,
2131 0x42,
2132 0x39,
2133 0x62,
2134 0x67,
2135 0x32,
2136 0x5a,
2137 0x30,
2138 0x49,
2139 0x2b,
2140 0x49,
2141 0x4b,
2142 0x48,
2143 0x6c,
2144 0x39,
2145 0x49,
2146 0x6e,
2147 0x53,
2148 0x68,
2149 0x6b,
2150 0x43,
2151 0x0a,
2152 0x6e,
2153 0x64,
2154 0x59,
2155 0x6e,
2156 0x34,
2157 0x61,
2158 0x64,
2159 0x30,
2160 0x7a,
2161 0x64,
2162 0x2f,
2163 0x67,
2164 0x67,
2165 0x4d,
2166 0x56,
2167 0x6b,
2168 0x6c,
2169 0x6f,
2170 0x6f,
2171 0x6d,
2172 0x68,
2173 0x34,
2174 0x75,
2175 0x61,
2176 0x53,
2177 0x71,
2178 0x5a,
2179 0x78,
2180 0x55,
2181 0x69,
2182 0x33,
2183 0x79,
2184 0x77,
2185 0x74,
2186 0x73,
2187 0x7a,
2188 0x5a,
2189 0x6b,
2190 0x52,
2191 0x62,
2192 0x7a,
2193 0x51,
2194 0x4b,
2195 0x42,
2196 0x67,
2197 0x51,
2198 0x44,
2199 0x37,
2200 0x50,
2201 0x76,
2202 0x78,
2203 0x31,
2204 0x45,
2205 0x72,
2206 0x4b,
2207 0x6d,
2208 0x35,
2209 0x6c,
2210 0x5a,
2211 0x44,
2212 0x41,
2213 0x53,
2214 0x32,
2215 0x62,
2216 0x0a,
2217 0x62,
2218 0x34,
2219 0x72,
2220 0x6c,
2221 0x74,
2222 0x7a,
2223 0x71,
2224 0x4a,
2225 0x52,
2226 0x55,
2227 0x45,
2228 0x4b,
2229 0x79,
2230 0x45,
2231 0x71,
2232 0x6a,
2233 0x71,
2234 0x7a,
2235 0x50,
2236 0x7a,
2237 0x67,
2238 0x61,
2239 0x73,
2240 0x4f,
2241 0x61,
2242 0x30,
2243 0x6a,
2244 0x57,
2245 0x45,
2246 0x71,
2247 0x2f,
2248 0x66,
2249 0x78,
2250 0x75,
2251 0x47,
2252 0x63,
2253 0x2f,
2254 0x62,
2255 0x69,
2256 0x78,
2257 0x67,
2258 0x2f,
2259 0x45,
2260 0x42,
2261 0x61,
2262 0x51,
2263 0x38,
2264 0x79,
2265 0x79,
2266 0x54,
2267 0x47,
2268 0x59,
2269 0x64,
2270 0x49,
2271 0x59,
2272 0x79,
2273 0x72,
2274 0x37,
2275 0x44,
2276 0x4b,
2277 0x59,
2278 0x59,
2279 0x6a,
2280 0x43,
2281 0x0a,
2282 0x30,
2283 0x41,
2284 0x47,
2285 0x56,
2286 0x6e,
2287 0x42,
2288 0x43,
2289 0x68,
2290 0x30,
2291 0x2b,
2292 0x54,
2293 0x46,
2294 0x55,
2295 0x44,
2296 0x42,
2297 0x31,
2298 0x6b,
2299 0x66,
2300 0x77,
2301 0x6b,
2302 0x62,
2303 0x65,
2304 0x66,
2305 0x32,
2306 0x62,
2307 0x38,
2308 0x79,
2309 0x75,
2310 0x66,
2311 0x51,
2312 0x2f,
2313 0x76,
2314 0x4a,
2315 0x77,
2316 0x63,
2317 0x4f,
2318 0x4a,
2319 0x2b,
2320 0x35,
2321 0x6b,
2322 0x42,
2323 0x58,
2324 0x51,
2325 0x5a,
2326 0x78,
2327 0x38,
2328 0x2b,
2329 0x4c,
2330 0x38,
2331 0x55,
2332 0x39,
2333 0x69,
2334 0x57,
2335 0x4b,
2336 0x41,
2337 0x4e,
2338 0x58,
2339 0x78,
2340 0x6b,
2341 0x45,
2342 0x65,
2343 0x43,
2344 0x58,
2345 0x32,
2346 0x0a,
2347 0x69,
2348 0x57,
2349 0x50,
2350 0x5a,
2351 0x50,
2352 0x7a,
2353 0x35,
2354 0x32,
2355 0x70,
2356 0x54,
2357 0x54,
2358 0x59,
2359 0x6c,
2360 0x66,
2361 0x39,
2362 0x30,
2363 0x50,
2364 0x4c,
2365 0x7a,
2366 0x45,
2367 0x57,
2368 0x36,
2369 0x51,
2370 0x79,
2371 0x44,
2372 0x77,
2373 0x4b,
2374 0x42,
2375 0x67,
2376 0x51,
2377 0x43,
2378 0x35,
2379 0x43,
2380 0x4b,
2381 0x79,
2382 0x66,
2383 0x55,
2384 0x77,
2385 0x78,
2386 0x33,
2387 0x42,
2388 0x61,
2389 0x32,
2390 0x69,
2391 0x58,
2392 0x74,
2393 0x66,
2394 0x49,
2395 0x72,
2396 0x65,
2397 0x79,
2398 0x50,
2399 0x71,
2400 0x44,
2401 0x6f,
2402 0x62,
2403 0x62,
2404 0x79,
2405 0x62,
2406 0x79,
2407 0x54,
2408 0x45,
2409 0x59,
2410 0x6b,
2411 0x0a,
2412 0x61,
2413 0x79,
2414 0x41,
2415 0x32,
2416 0x6f,
2417 0x45,
2418 0x6c,
2419 0x53,
2420 0x64,
2421 0x65,
2422 0x6a,
2423 0x67,
2424 0x56,
2425 0x6b,
2426 0x57,
2427 0x77,
2428 0x4a,
2429 0x2b,
2430 0x71,
2431 0x37,
2432 0x37,
2433 0x67,
2434 0x77,
2435 0x72,
2436 0x6e,
2437 0x46,
2438 0x35,
2439 0x50,
2440 0x65,
2441 0x39,
2442 0x7a,
2443 0x62,
2444 0x70,
2445 0x55,
2446 0x42,
2447 0x6f,
2448 0x63,
2449 0x37,
2450 0x56,
2451 0x4a,
2452 0x6a,
2453 0x72,
2454 0x52,
2455 0x68,
2456 0x55,
2457 0x6f,
2458 0x6a,
2459 0x49,
2460 0x37,
2461 0x4c,
2462 0x4f,
2463 0x79,
2464 0x53,
2465 0x79,
2466 0x74,
2467 0x6f,
2468 0x33,
2469 0x57,
2470 0x59,
2471 0x59,
2472 0x6f,
2473 0x63,
2474 0x7a,
2475 0x58,
2476 0x0a,
2477 0x4c,
2478 0x70,
2479 0x72,
2480 0x7a,
2481 0x50,
2482 0x6e,
2483 0x6a,
2484 0x32,
2485 0x79,
2486 0x45,
2487 0x56,
2488 0x65,
2489 0x56,
2490 0x32,
2491 0x6c,
2492 0x72,
2493 0x54,
2494 0x53,
2495 0x36,
2496 0x6c,
2497 0x4b,
2498 0x4e,
2499 0x70,
2500 0x64,
2501 0x72,
2502 0x61,
2503 0x4f,
2504 0x38,
2505 0x51,
2506 0x5a,
2507 0x63,
2508 0x53,
2509 0x44,
2510 0x37,
2511 0x6d,
2512 0x55,
2513 0x55,
2514 0x6d,
2515 0x69,
2516 0x4e,
2517 0x52,
2518 0x5a,
2519 0x6e,
2520 0x6f,
2521 0x50,
2522 0x4b,
2523 0x31,
2524 0x36,
2525 0x4d,
2526 0x6d,
2527 0x39,
2528 0x71,
2529 0x6a,
2530 0x6b,
2531 0x6b,
2532 0x32,
2533 0x39,
2534 0x48,
2535 0x6e,
2536 0x59,
2537 0x37,
2538 0x4d,
2539 0x73,
2540 0x71,
2541 0x0a,
2542 0x70,
2543 0x6b,
2544 0x69,
2545 0x4f,
2546 0x67,
2547 0x34,
2548 0x68,
2549 0x75,
2550 0x4e,
2551 0x77,
2552 0x4b,
2553 0x42,
2554 0x67,
2555 0x51,
2556 0x43,
2557 0x6b,
2558 0x68,
2559 0x32,
2560 0x48,
2561 0x42,
2562 0x74,
2563 0x4f,
2564 0x58,
2565 0x6a,
2566 0x48,
2567 0x2f,
2568 0x47,
2569 0x62,
2570 0x58,
2571 0x56,
2572 0x6b,
2573 0x6c,
2574 0x63,
2575 0x63,
2576 0x30,
2577 0x4f,
2578 0x6b,
2579 0x34,
2580 0x65,
2581 0x30,
2582 0x76,
2583 0x76,
2584 0x4a,
2585 0x53,
2586 0x41,
2587 0x6b,
2588 0x6e,
2589 0x47,
2590 0x6c,
2591 0x6d,
2592 0x57,
2593 0x6c,
2594 0x37,
2595 0x2b,
2596 0x4d,
2597 0x35,
2598 0x78,
2599 0x51,
2600 0x33,
2601 0x6b,
2602 0x69,
2603 0x6b,
2604 0x59,
2605 0x38,
2606 0x0a,
2607 0x44,
2608 0x37,
2609 0x78,
2610 0x4e,
2611 0x46,
2612 0x32,
2613 0x58,
2614 0x73,
2615 0x63,
2616 0x59,
2617 0x2f,
2618 0x51,
2619 0x73,
2620 0x61,
2621 0x44,
2622 0x76,
2623 0x54,
2624 0x41,
2625 0x75,
2626 0x37,
2627 0x58,
2628 0x34,
2629 0x74,
2630 0x47,
2631 0x42,
2632 0x41,
2633 0x47,
2634 0x4d,
2635 0x39,
2636 0x6f,
2637 0x51,
2638 0x64,
2639 0x74,
2640 0x79,
2641 0x4e,
2642 0x69,
2643 0x65,
2644 0x74,
2645 0x6e,
2646 0x31,
2647 0x62,
2648 0x35,
2649 0x4a,
2650 0x66,
2651 0x6d,
2652 0x42,
2653 0x79,
2654 0x7a,
2655 0x30,
2656 0x55,
2657 0x37,
2658 0x42,
2659 0x2b,
2660 0x47,
2661 0x73,
2662 0x76,
2663 0x32,
2664 0x5a,
2665 0x53,
2666 0x37,
2667 0x4b,
2668 0x31,
2669 0x44,
2670 0x55,
2671 0x0a,
2672 0x39,
2673 0x73,
2674 0x54,
2675 0x4c,
2676 0x41,
2677 0x32,
2678 0x45,
2679 0x38,
2680 0x68,
2681 0x4d,
2682 0x6d,
2683 0x37,
2684 0x33,
2685 0x44,
2686 0x70,
2687 0x51,
2688 0x31,
2689 0x55,
2690 0x78,
2691 0x38,
2692 0x42,
2693 0x62,
2694 0x65,
2695 0x43,
2696 0x4b,
2697 0x69,
2698 0x56,
2699 0x79,
2700 0x35,
2701 0x4d,
2702 0x39,
2703 0x50,
2704 0x66,
2705 0x44,
2706 0x63,
2707 0x7a,
2708 0x33,
2709 0x42,
2710 0x4f,
2711 0x6d,
2712 0x6c,
2713 0x4a,
2714 0x64,
2715 0x66,
2716 0x77,
2717 0x68,
2718 0x4b,
2719 0x51,
2720 0x5a,
2721 0x76,
2722 0x6e,
2723 0x69,
2724 0x79,
2725 0x48,
2726 0x52,
2727 0x6c,
2728 0x42,
2729 0x77,
2730 0x4b,
2731 0x42,
2732 0x67,
2733 0x51,
2734 0x43,
2735 0x48,
2736 0x0a,
2737 0x2f,
2738 0x73,
2739 0x41,
2740 0x68,
2741 0x4f,
2742 0x63,
2743 0x44,
2744 0x6e,
2745 0x6d,
2746 0x64,
2747 0x7a,
2748 0x4d,
2749 0x67,
2750 0x6a,
2751 0x6a,
2752 0x47,
2753 0x33,
2754 0x6b,
2755 0x34,
2756 0x49,
2757 0x4a,
2758 0x2f,
2759 0x54,
2760 0x4e,
2761 0x52,
2762 0x52,
2763 0x79,
2764 0x79,
2765 0x36,
2766 0x53,
2767 0x79,
2768 0x45,
2769 0x68,
2770 0x39,
2771 0x66,
2772 0x64,
2773 0x54,
2774 0x6d,
2775 0x47,
2776 0x56,
2777 0x6f,
2778 0x65,
2779 0x50,
2780 0x50,
2781 0x50,
2782 0x70,
2783 0x6c,
2784 0x70,
2785 0x70,
2786 0x32,
2787 0x7a,
2788 0x33,
2789 0x51,
2790 0x7a,
2791 0x62,
2792 0x65,
2793 0x74,
2794 0x73,
2795 0x62,
2796 0x36,
2797 0x56,
2798 0x47,
2799 0x63,
2800 0x33,
2801 0x0a,
2802 0x61,
2803 0x48,
2804 0x57,
2805 0x32,
2806 0x54,
2807 0x35,
2808 0x54,
2809 0x6d,
2810 0x77,
2811 0x32,
2812 0x51,
2813 0x41,
2814 0x51,
2815 0x39,
2816 0x45,
2817 0x56,
2818 0x48,
2819 0x43,
2820 0x50,
2821 0x57,
2822 0x33,
2823 0x7a,
2824 0x6a,
2825 0x41,
2826 0x6b,
2827 0x6a,
2828 0x6a,
2829 0x2f,
2830 0x30,
2831 0x61,
2832 0x76,
2833 0x6b,
2834 0x57,
2835 0x2f,
2836 0x53,
2837 0x32,
2838 0x34,
2839 0x79,
2840 0x75,
2841 0x30,
2842 0x39,
2843 0x65,
2844 0x31,
2845 0x47,
2846 0x4d,
2847 0x61,
2848 0x6a,
2849 0x68,
2850 0x6e,
2851 0x4a,
2852 0x43,
2853 0x30,
2854 0x41,
2855 0x78,
2856 0x71,
2857 0x37,
2858 0x7a,
2859 0x32,
2860 0x75,
2861 0x51,
2862 0x61,
2863 0x67,
2864 0x54,
2865 0x47,
2866 0x0a,
2867 0x32,
2868 0x5a,
2869 0x66,
2870 0x6b,
2871 0x55,
2872 0x38,
2873 0x31,
2874 0x55,
2875 0x52,
2876 0x39,
2877 0x75,
2878 0x65,
2879 0x76,
2880 0x54,
2881 0x6f,
2882 0x6a,
2883 0x6e,
2884 0x66,
2885 0x34,
2886 0x56,
2887 0x71,
2888 0x77,
2889 0x35,
2890 0x55,
2891 0x76,
2892 0x63,
2893 0x72,
2894 0x77,
2895 0x6a,
2896 0x4e,
2897 0x6d,
2898 0x6d,
2899 0x4e,
2900 0x79,
2901 0x45,
2902 0x4d,
2903 0x33,
2904 0x63,
2905 0x2f,
2906 0x67,
2907 0x63,
2908 0x51,
2909 0x4b,
2910 0x42,
2911 0x67,
2912 0x48,
2913 0x61,
2914 0x32,
2915 0x64,
2916 0x54,
2917 0x35,
2918 0x73,
2919 0x76,
2920 0x7a,
2921 0x4d,
2922 0x31,
2923 0x6a,
2924 0x52,
2925 0x65,
2926 0x69,
2927 0x4f,
2928 0x33,
2929 0x56,
2930 0x74,
2931 0x0a,
2932 0x64,
2933 0x41,
2934 0x55,
2935 0x44,
2936 0x7a,
2937 0x74,
2938 0x47,
2939 0x4b,
2940 0x55,
2941 0x45,
2942 0x33,
2943 0x63,
2944 0x6c,
2945 0x50,
2946 0x56,
2947 0x33,
2948 0x35,
2949 0x4c,
2950 0x32,
2951 0x78,
2952 0x6d,
2953 0x4a,
2954 0x65,
2955 0x4a,
2956 0x44,
2957 0x58,
2958 0x50,
2959 0x4f,
2960 0x71,
2961 0x43,
2962 0x4c,
2963 0x33,
2964 0x71,
2965 0x6f,
2966 0x5a,
2967 0x39,
2968 0x41,
2969 0x36,
2970 0x68,
2971 0x48,
2972 0x6d,
2973 0x44,
2974 0x77,
2975 0x36,
2976 0x67,
2977 0x6d,
2978 0x67,
2979 0x38,
2980 0x32,
2981 0x67,
2982 0x51,
2983 0x44,
2984 0x51,
2985 0x65,
2986 0x4a,
2987 0x62,
2988 0x4c,
2989 0x2f,
2990 0x2b,
2991 0x6a,
2992 0x4b,
2993 0x6b,
2994 0x6f,
2995 0x6e,
2996 0x0a,
2997 0x65,
2998 0x36,
2999 0x61,
3000 0x74,
3001 0x48,
3002 0x2f,
3003 0x44,
3004 0x66,
3005 0x72,
3006 0x2b,
3007 0x4d,
3008 0x34,
3009 0x6e,
3010 0x50,
3011 0x66,
3012 0x74,
3013 0x39,
3014 0x4c,
3015 0x74,
3016 0x34,
3017 0x66,
3018 0x4f,
3019 0x41,
3020 0x57,
3021 0x4f,
3022 0x51,
3023 0x33,
3024 0x74,
3025 0x44,
3026 0x73,
3027 0x44,
3028 0x75,
3029 0x43,
3030 0x6b,
3031 0x4f,
3032 0x4d,
3033 0x6a,
3034 0x53,
3035 0x54,
3036 0x6e,
3037 0x38,
3038 0x63,
3039 0x4c,
3040 0x4d,
3041 0x5a,
3042 0x4c,
3043 0x47,
3044 0x63,
3045 0x77,
3046 0x54,
3047 0x32,
3048 0x48,
3049 0x31,
3050 0x48,
3051 0x32,
3052 0x76,
3053 0x42,
3054 0x6f,
3055 0x63,
3056 0x4d,
3057 0x2b,
3058 0x55,
3059 0x54,
3060 0x64,
3061 0x0a,
3062 0x68,
3063 0x6c,
3064 0x6a,
3065 0x41,
3066 0x56,
3067 0x6e,
3068 0x42,
3069 0x39,
3070 0x76,
3071 0x36,
3072 0x4e,
3073 0x4d,
3074 0x66,
3075 0x63,
3076 0x52,
3077 0x45,
3078 0x52,
3079 0x54,
3080 0x78,
3081 0x31,
3082 0x30,
3083 0x53,
3084 0x55,
3085 0x63,
3086 0x0a,
3087 0x2d,
3088 0x2d,
3089 0x2d,
3090 0x2d,
3091 0x2d,
3092 0x45,
3093 0x4e,
3094 0x44,
3095 0x20,
3096 0x50,
3097 0x52,
3098 0x49,
3099 0x56,
3100 0x41,
3101 0x54,
3102 0x45,
3103 0x20,
3104 0x4b,
3105 0x45,
3106 0x59,
3107 0x2d,
3108 0x2d,
3109 0x2d,
3110 0x2d,
3111 0x2d,
3112 0x0a,
3113 };
3114 #endif
3115
3116 #ifndef OPENSSL_NO_EC
3117 #ifndef OPENSSL_NO_DEPRECATED_3_0
3118 /*
3119 -----BEGIN EC PRIVATE KEY-----
3120 MHcCAQEEIJLyl7hJjpQL/RhP1x2zS79xdiPJQB683gWeqcqHPeZkoAoGCCqGSM49
3121 AwEHoUQDQgAEdsjygVYjjaKBF4CNECVllNf017p5/MxNSWDoTHy9I2GeDwEDDazI
3122 D/xy8JiYjtPKVE/Zqwbmivp2UwtH28a7NQ==
3123 -----END EC PRIVATE KEY-----
3124 */
3125 static const char ECDSAPrivateKeyPEM[] = {
3126 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x45,
3127 0x43, 0x20, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x20, 0x4b, 0x45,
3128 0x59, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x48, 0x63, 0x43, 0x41,
3129 0x51, 0x45, 0x45, 0x49, 0x4a, 0x4c, 0x79, 0x6c, 0x37, 0x68, 0x4a, 0x6a,
3130 0x70, 0x51, 0x4c, 0x2f, 0x52, 0x68, 0x50, 0x31, 0x78, 0x32, 0x7a, 0x53,
3131 0x37, 0x39, 0x78, 0x64, 0x69, 0x50, 0x4a, 0x51, 0x42, 0x36, 0x38, 0x33,
3132 0x67, 0x57, 0x65, 0x71, 0x63, 0x71, 0x48, 0x50, 0x65, 0x5a, 0x6b, 0x6f,
3133 0x41, 0x6f, 0x47, 0x43, 0x43, 0x71, 0x47, 0x53, 0x4d, 0x34, 0x39, 0x0a,
3134 0x41, 0x77, 0x45, 0x48, 0x6f, 0x55, 0x51, 0x44, 0x51, 0x67, 0x41, 0x45,
3135 0x64, 0x73, 0x6a, 0x79, 0x67, 0x56, 0x59, 0x6a, 0x6a, 0x61, 0x4b, 0x42,
3136 0x46, 0x34, 0x43, 0x4e, 0x45, 0x43, 0x56, 0x6c, 0x6c, 0x4e, 0x66, 0x30,
3137 0x31, 0x37, 0x70, 0x35, 0x2f, 0x4d, 0x78, 0x4e, 0x53, 0x57, 0x44, 0x6f,
3138 0x54, 0x48, 0x79, 0x39, 0x49, 0x32, 0x47, 0x65, 0x44, 0x77, 0x45, 0x44,
3139 0x44, 0x61, 0x7a, 0x49, 0x0a, 0x44, 0x2f, 0x78, 0x79, 0x38, 0x4a, 0x69,
3140 0x59, 0x6a, 0x74, 0x50, 0x4b, 0x56, 0x45, 0x2f, 0x5a, 0x71, 0x77, 0x62,
3141 0x6d, 0x69, 0x76, 0x70, 0x32, 0x55, 0x77, 0x74, 0x48, 0x32, 0x38, 0x61,
3142 0x37, 0x4e, 0x51, 0x3d, 0x3d, 0x0a, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x45,
3143 0x4e, 0x44, 0x20, 0x45, 0x43, 0x20, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54,
3144 0x45, 0x20, 0x4b, 0x45, 0x59, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a
3145 };
3146 #endif
3147
3148 /*
3149 -----BEGIN CERTIFICATE-----
3150 MIIBXzCCAQagAwIBAgIJAK6/Yvf/ain6MAoGCCqGSM49BAMCMBIxEDAOBgNVBAoM
3151 B0FjbWUgQ28wHhcNMTYxMjI1MTEzOTI3WhcNMjYxMjI1MTEzOTI3WjASMRAwDgYD
3152 VQQKDAdBY21lIENvMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEdsjygVYjjaKB
3153 F4CNECVllNf017p5/MxNSWDoTHy9I2GeDwEDDazID/xy8JiYjtPKVE/Zqwbmivp2
3154 UwtH28a7NaNFMEMwCQYDVR0TBAIwADALBgNVHQ8EBAMCBaAwEwYDVR0lBAwwCgYI
3155 KwYBBQUHAwEwFAYDVR0RBA0wC4IJbG9jYWxob3N0MAoGCCqGSM49BAMCA0cAMEQC
3156 IEzr3t/jejVE9oSnBp8c3P2p+lDLVRrB8zxLyjZvirUXAiAyQPaE9MNcL8/nRpuu
3157 99I1enCSmWIAJ57IwuJ/n1d45Q==
3158 -----END CERTIFICATE-----
3159 */
3160 static const char ECDSACertPEM[] = {
3161 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x43,
3162 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d,
3163 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49, 0x42, 0x58, 0x7a, 0x43, 0x43,
3164 0x41, 0x51, 0x61, 0x67, 0x41, 0x77, 0x49, 0x42, 0x41, 0x67, 0x49, 0x4a,
3165 0x41, 0x4b, 0x36, 0x2f, 0x59, 0x76, 0x66, 0x2f, 0x61, 0x69, 0x6e, 0x36,
3166 0x4d, 0x41, 0x6f, 0x47, 0x43, 0x43, 0x71, 0x47, 0x53, 0x4d, 0x34, 0x39,
3167 0x42, 0x41, 0x4d, 0x43, 0x4d, 0x42, 0x49, 0x78, 0x45, 0x44, 0x41, 0x4f,
3168 0x42, 0x67, 0x4e, 0x56, 0x42, 0x41, 0x6f, 0x4d, 0x0a, 0x42, 0x30, 0x46,
3169 0x6a, 0x62, 0x57, 0x55, 0x67, 0x51, 0x32, 0x38, 0x77, 0x48, 0x68, 0x63,
3170 0x4e, 0x4d, 0x54, 0x59, 0x78, 0x4d, 0x6a, 0x49, 0x31, 0x4d, 0x54, 0x45,
3171 0x7a, 0x4f, 0x54, 0x49, 0x33, 0x57, 0x68, 0x63, 0x4e, 0x4d, 0x6a, 0x59,
3172 0x78, 0x4d, 0x6a, 0x49, 0x31, 0x4d, 0x54, 0x45, 0x7a, 0x4f, 0x54, 0x49,
3173 0x33, 0x57, 0x6a, 0x41, 0x53, 0x4d, 0x52, 0x41, 0x77, 0x44, 0x67, 0x59,
3174 0x44, 0x0a, 0x56, 0x51, 0x51, 0x4b, 0x44, 0x41, 0x64, 0x42, 0x59, 0x32,
3175 0x31, 0x6c, 0x49, 0x45, 0x4e, 0x76, 0x4d, 0x46, 0x6b, 0x77, 0x45, 0x77,
3176 0x59, 0x48, 0x4b, 0x6f, 0x5a, 0x49, 0x7a, 0x6a, 0x30, 0x43, 0x41, 0x51,
3177 0x59, 0x49, 0x4b, 0x6f, 0x5a, 0x49, 0x7a, 0x6a, 0x30, 0x44, 0x41, 0x51,
3178 0x63, 0x44, 0x51, 0x67, 0x41, 0x45, 0x64, 0x73, 0x6a, 0x79, 0x67, 0x56,
3179 0x59, 0x6a, 0x6a, 0x61, 0x4b, 0x42, 0x0a, 0x46, 0x34, 0x43, 0x4e, 0x45,
3180 0x43, 0x56, 0x6c, 0x6c, 0x4e, 0x66, 0x30, 0x31, 0x37, 0x70, 0x35, 0x2f,
3181 0x4d, 0x78, 0x4e, 0x53, 0x57, 0x44, 0x6f, 0x54, 0x48, 0x79, 0x39, 0x49,
3182 0x32, 0x47, 0x65, 0x44, 0x77, 0x45, 0x44, 0x44, 0x61, 0x7a, 0x49, 0x44,
3183 0x2f, 0x78, 0x79, 0x38, 0x4a, 0x69, 0x59, 0x6a, 0x74, 0x50, 0x4b, 0x56,
3184 0x45, 0x2f, 0x5a, 0x71, 0x77, 0x62, 0x6d, 0x69, 0x76, 0x70, 0x32, 0x0a,
3185 0x55, 0x77, 0x74, 0x48, 0x32, 0x38, 0x61, 0x37, 0x4e, 0x61, 0x4e, 0x46,
3186 0x4d, 0x45, 0x4d, 0x77, 0x43, 0x51, 0x59, 0x44, 0x56, 0x52, 0x30, 0x54,
3187 0x42, 0x41, 0x49, 0x77, 0x41, 0x44, 0x41, 0x4c, 0x42, 0x67, 0x4e, 0x56,
3188 0x48, 0x51, 0x38, 0x45, 0x42, 0x41, 0x4d, 0x43, 0x42, 0x61, 0x41, 0x77,
3189 0x45, 0x77, 0x59, 0x44, 0x56, 0x52, 0x30, 0x6c, 0x42, 0x41, 0x77, 0x77,
3190 0x43, 0x67, 0x59, 0x49, 0x0a, 0x4b, 0x77, 0x59, 0x42, 0x42, 0x51, 0x55,
3191 0x48, 0x41, 0x77, 0x45, 0x77, 0x46, 0x41, 0x59, 0x44, 0x56, 0x52, 0x30,
3192 0x52, 0x42, 0x41, 0x30, 0x77, 0x43, 0x34, 0x49, 0x4a, 0x62, 0x47, 0x39,
3193 0x6a, 0x59, 0x57, 0x78, 0x6f, 0x62, 0x33, 0x4e, 0x30, 0x4d, 0x41, 0x6f,
3194 0x47, 0x43, 0x43, 0x71, 0x47, 0x53, 0x4d, 0x34, 0x39, 0x42, 0x41, 0x4d,
3195 0x43, 0x41, 0x30, 0x63, 0x41, 0x4d, 0x45, 0x51, 0x43, 0x0a, 0x49, 0x45,
3196 0x7a, 0x72, 0x33, 0x74, 0x2f, 0x6a, 0x65, 0x6a, 0x56, 0x45, 0x39, 0x6f,
3197 0x53, 0x6e, 0x42, 0x70, 0x38, 0x63, 0x33, 0x50, 0x32, 0x70, 0x2b, 0x6c,
3198 0x44, 0x4c, 0x56, 0x52, 0x72, 0x42, 0x38, 0x7a, 0x78, 0x4c, 0x79, 0x6a,
3199 0x5a, 0x76, 0x69, 0x72, 0x55, 0x58, 0x41, 0x69, 0x41, 0x79, 0x51, 0x50,
3200 0x61, 0x45, 0x39, 0x4d, 0x4e, 0x63, 0x4c, 0x38, 0x2f, 0x6e, 0x52, 0x70,
3201 0x75, 0x75, 0x0a, 0x39, 0x39, 0x49, 0x31, 0x65, 0x6e, 0x43, 0x53, 0x6d,
3202 0x57, 0x49, 0x41, 0x4a, 0x35, 0x37, 0x49, 0x77, 0x75, 0x4a, 0x2f, 0x6e,
3203 0x31, 0x64, 0x34, 0x35, 0x51, 0x3d, 0x3d, 0x0a, 0x2d, 0x2d, 0x2d, 0x2d,
3204 0x2d, 0x45, 0x4e, 0x44, 0x20, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49,
3205 0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a
3206 };
3207 #endif
3208
3209 #if !defined(OPENSSL_NO_DSA) && !defined(OPENSSL_NO_DEPRECATED_3_0)
3210 /*
3211 -----BEGIN DSA PRIVATE KEY-----
3212 MIIBuwIBAAKBgQDdkFKzNABLOha7Eqj7004+p5fhtR6bxpujToMmSZTYi8igVVXP
3213 Wzf03ULKS5UKjA6WpR6EiZAhm+PdxusZ5xfAuRZLdKy0bgxn1f348Rwh+EQNaEM8
3214 0TGcnw5ijwKmSw5yyHPDWdiHzoqEBlhAf8Nl22YTXax/clsc/pu/RRLAdwIVAIEg
3215 QqWRf/1EIZZcgM65Qpd65YuxAoGBAKBauV/RuloFHoSy5iWXESDywiS380tN5974
3216 GukGwoYdZo5uSIH6ahpeNSef0MbHGAzr7ZVEnhCQfRAwH1gRvSHoq/Rbmcvtd3r+
3217 QtQHOwvQHgLAynhI4i73c794czHaR+439bmcaSwDnQduRM85Mho/jiiZzAVPxBmG
3218 POIMWNXXAoGAI6Ep5IE7yn3JzkXO9B6tC3bbDM+ZzuuInwZLbtZ8lim7Dsqabg4k
3219 2YbE4R95Bnfwnjsyl80mq/DbQN5lAHBvjDrkC6ItojBGKI3+iIrqGUEJdxvl4ulj
3220 F0PmSD7zvIG8BfocKOel+EHH0YryExiW6krV1KW2ZRmJrqSFw6KCjV0CFFQFbPfU
3221 xy5PmKytJmXR8BmppkIO
3222 -----END DSA PRIVATE KEY-----
3223 */
3224 static const char DSAPrivateKeyPEM[] = {
3225 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x44,
3226 0x53, 0x41, 0x20, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x20, 0x4b,
3227 0x45, 0x59, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49, 0x42,
3228 0x75, 0x77, 0x49, 0x42, 0x41, 0x41, 0x4b, 0x42, 0x67, 0x51, 0x44, 0x64,
3229 0x6b, 0x46, 0x4b, 0x7a, 0x4e, 0x41, 0x42, 0x4c, 0x4f, 0x68, 0x61, 0x37,
3230 0x45, 0x71, 0x6a, 0x37, 0x30, 0x30, 0x34, 0x2b, 0x70, 0x35, 0x66, 0x68,
3231 0x74, 0x52, 0x36, 0x62, 0x78, 0x70, 0x75, 0x6a, 0x54, 0x6f, 0x4d, 0x6d,
3232 0x53, 0x5a, 0x54, 0x59, 0x69, 0x38, 0x69, 0x67, 0x56, 0x56, 0x58, 0x50,
3233 0x0a, 0x57, 0x7a, 0x66, 0x30, 0x33, 0x55, 0x4c, 0x4b, 0x53, 0x35, 0x55,
3234 0x4b, 0x6a, 0x41, 0x36, 0x57, 0x70, 0x52, 0x36, 0x45, 0x69, 0x5a, 0x41,
3235 0x68, 0x6d, 0x2b, 0x50, 0x64, 0x78, 0x75, 0x73, 0x5a, 0x35, 0x78, 0x66,
3236 0x41, 0x75, 0x52, 0x5a, 0x4c, 0x64, 0x4b, 0x79, 0x30, 0x62, 0x67, 0x78,
3237 0x6e, 0x31, 0x66, 0x33, 0x34, 0x38, 0x52, 0x77, 0x68, 0x2b, 0x45, 0x51,
3238 0x4e, 0x61, 0x45, 0x4d, 0x38, 0x0a, 0x30, 0x54, 0x47, 0x63, 0x6e, 0x77,
3239 0x35, 0x69, 0x6a, 0x77, 0x4b, 0x6d, 0x53, 0x77, 0x35, 0x79, 0x79, 0x48,
3240 0x50, 0x44, 0x57, 0x64, 0x69, 0x48, 0x7a, 0x6f, 0x71, 0x45, 0x42, 0x6c,
3241 0x68, 0x41, 0x66, 0x38, 0x4e, 0x6c, 0x32, 0x32, 0x59, 0x54, 0x58, 0x61,
3242 0x78, 0x2f, 0x63, 0x6c, 0x73, 0x63, 0x2f, 0x70, 0x75, 0x2f, 0x52, 0x52,
3243 0x4c, 0x41, 0x64, 0x77, 0x49, 0x56, 0x41, 0x49, 0x45, 0x67, 0x0a, 0x51,
3244 0x71, 0x57, 0x52, 0x66, 0x2f, 0x31, 0x45, 0x49, 0x5a, 0x5a, 0x63, 0x67,
3245 0x4d, 0x36, 0x35, 0x51, 0x70, 0x64, 0x36, 0x35, 0x59, 0x75, 0x78, 0x41,
3246 0x6f, 0x47, 0x42, 0x41, 0x4b, 0x42, 0x61, 0x75, 0x56, 0x2f, 0x52, 0x75,
3247 0x6c, 0x6f, 0x46, 0x48, 0x6f, 0x53, 0x79, 0x35, 0x69, 0x57, 0x58, 0x45,
3248 0x53, 0x44, 0x79, 0x77, 0x69, 0x53, 0x33, 0x38, 0x30, 0x74, 0x4e, 0x35,
3249 0x39, 0x37, 0x34, 0x0a, 0x47, 0x75, 0x6b, 0x47, 0x77, 0x6f, 0x59, 0x64,
3250 0x5a, 0x6f, 0x35, 0x75, 0x53, 0x49, 0x48, 0x36, 0x61, 0x68, 0x70, 0x65,
3251 0x4e, 0x53, 0x65, 0x66, 0x30, 0x4d, 0x62, 0x48, 0x47, 0x41, 0x7a, 0x72,
3252 0x37, 0x5a, 0x56, 0x45, 0x6e, 0x68, 0x43, 0x51, 0x66, 0x52, 0x41, 0x77,
3253 0x48, 0x31, 0x67, 0x52, 0x76, 0x53, 0x48, 0x6f, 0x71, 0x2f, 0x52, 0x62,
3254 0x6d, 0x63, 0x76, 0x74, 0x64, 0x33, 0x72, 0x2b, 0x0a, 0x51, 0x74, 0x51,
3255 0x48, 0x4f, 0x77, 0x76, 0x51, 0x48, 0x67, 0x4c, 0x41, 0x79, 0x6e, 0x68,
3256 0x49, 0x34, 0x69, 0x37, 0x33, 0x63, 0x37, 0x39, 0x34, 0x63, 0x7a, 0x48,
3257 0x61, 0x52, 0x2b, 0x34, 0x33, 0x39, 0x62, 0x6d, 0x63, 0x61, 0x53, 0x77,
3258 0x44, 0x6e, 0x51, 0x64, 0x75, 0x52, 0x4d, 0x38, 0x35, 0x4d, 0x68, 0x6f,
3259 0x2f, 0x6a, 0x69, 0x69, 0x5a, 0x7a, 0x41, 0x56, 0x50, 0x78, 0x42, 0x6d,
3260 0x47, 0x0a, 0x50, 0x4f, 0x49, 0x4d, 0x57, 0x4e, 0x58, 0x58, 0x41, 0x6f,
3261 0x47, 0x41, 0x49, 0x36, 0x45, 0x70, 0x35, 0x49, 0x45, 0x37, 0x79, 0x6e,
3262 0x33, 0x4a, 0x7a, 0x6b, 0x58, 0x4f, 0x39, 0x42, 0x36, 0x74, 0x43, 0x33,
3263 0x62, 0x62, 0x44, 0x4d, 0x2b, 0x5a, 0x7a, 0x75, 0x75, 0x49, 0x6e, 0x77,
3264 0x5a, 0x4c, 0x62, 0x74, 0x5a, 0x38, 0x6c, 0x69, 0x6d, 0x37, 0x44, 0x73,
3265 0x71, 0x61, 0x62, 0x67, 0x34, 0x6b, 0x0a, 0x32, 0x59, 0x62, 0x45, 0x34,
3266 0x52, 0x39, 0x35, 0x42, 0x6e, 0x66, 0x77, 0x6e, 0x6a, 0x73, 0x79, 0x6c,
3267 0x38, 0x30, 0x6d, 0x71, 0x2f, 0x44, 0x62, 0x51, 0x4e, 0x35, 0x6c, 0x41,
3268 0x48, 0x42, 0x76, 0x6a, 0x44, 0x72, 0x6b, 0x43, 0x36, 0x49, 0x74, 0x6f,
3269 0x6a, 0x42, 0x47, 0x4b, 0x49, 0x33, 0x2b, 0x69, 0x49, 0x72, 0x71, 0x47,
3270 0x55, 0x45, 0x4a, 0x64, 0x78, 0x76, 0x6c, 0x34, 0x75, 0x6c, 0x6a, 0x0a,
3271 0x46, 0x30, 0x50, 0x6d, 0x53, 0x44, 0x37, 0x7a, 0x76, 0x49, 0x47, 0x38,
3272 0x42, 0x66, 0x6f, 0x63, 0x4b, 0x4f, 0x65, 0x6c, 0x2b, 0x45, 0x48, 0x48,
3273 0x30, 0x59, 0x72, 0x79, 0x45, 0x78, 0x69, 0x57, 0x36, 0x6b, 0x72, 0x56,
3274 0x31, 0x4b, 0x57, 0x32, 0x5a, 0x52, 0x6d, 0x4a, 0x72, 0x71, 0x53, 0x46,
3275 0x77, 0x36, 0x4b, 0x43, 0x6a, 0x56, 0x30, 0x43, 0x46, 0x46, 0x51, 0x46,
3276 0x62, 0x50, 0x66, 0x55, 0x0a, 0x78, 0x79, 0x35, 0x50, 0x6d, 0x4b, 0x79,
3277 0x74, 0x4a, 0x6d, 0x58, 0x52, 0x38, 0x42, 0x6d, 0x70, 0x70, 0x6b, 0x49,
3278 0x4f, 0x0a, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x45, 0x4e, 0x44, 0x20, 0x44,
3279 0x53, 0x41, 0x20, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x20, 0x4b,
3280 0x45, 0x59, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a
3281 };
3282
3283 /*
3284 -----BEGIN CERTIFICATE-----
3285 MIICqTCCAmegAwIBAgIJAILDGUk37fWGMAsGCWCGSAFlAwQDAjASMRAwDgYDVQQK
3286 DAdBY21lIENvMB4XDTE2MTIyNTEzMjUzNloXDTI2MTIyNTEzMjUzNlowEjEQMA4G
3287 A1UECgwHQWNtZSBDbzCCAbcwggEsBgcqhkjOOAQBMIIBHwKBgQDdkFKzNABLOha7
3288 Eqj7004+p5fhtR6bxpujToMmSZTYi8igVVXPWzf03ULKS5UKjA6WpR6EiZAhm+Pd
3289 xusZ5xfAuRZLdKy0bgxn1f348Rwh+EQNaEM80TGcnw5ijwKmSw5yyHPDWdiHzoqE
3290 BlhAf8Nl22YTXax/clsc/pu/RRLAdwIVAIEgQqWRf/1EIZZcgM65Qpd65YuxAoGB
3291 AKBauV/RuloFHoSy5iWXESDywiS380tN5974GukGwoYdZo5uSIH6ahpeNSef0MbH
3292 GAzr7ZVEnhCQfRAwH1gRvSHoq/Rbmcvtd3r+QtQHOwvQHgLAynhI4i73c794czHa
3293 R+439bmcaSwDnQduRM85Mho/jiiZzAVPxBmGPOIMWNXXA4GEAAKBgCOhKeSBO8p9
3294 yc5FzvQerQt22wzPmc7riJ8GS27WfJYpuw7Kmm4OJNmGxOEfeQZ38J47MpfNJqvw
3295 20DeZQBwb4w65AuiLaIwRiiN/oiK6hlBCXcb5eLpYxdD5kg+87yBvAX6HCjnpfhB
3296 x9GK8hMYlupK1dSltmUZia6khcOigo1do0UwQzAJBgNVHRMEAjAAMAsGA1UdDwQE
3297 AwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATAUBgNVHREEDTALgglsb2NhbGhvc3Qw
3298 CwYJYIZIAWUDBAMCAy8AMCwCFClxInXTRWNJEWdi5ilNr/fbM1bKAhQy4B7wtmfd
3299 I+zV6g3w9qBkNqStpA==
3300 -----END CERTIFICATE-----
3301 */
3302 static const char DSACertPEM[] = {
3303 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x43,
3304 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d,
3305 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49, 0x43, 0x71, 0x54, 0x43, 0x43,
3306 0x41, 0x6d, 0x65, 0x67, 0x41, 0x77, 0x49, 0x42, 0x41, 0x67, 0x49, 0x4a,
3307 0x41, 0x49, 0x4c, 0x44, 0x47, 0x55, 0x6b, 0x33, 0x37, 0x66, 0x57, 0x47,
3308 0x4d, 0x41, 0x73, 0x47, 0x43, 0x57, 0x43, 0x47, 0x53, 0x41, 0x46, 0x6c,
3309 0x41, 0x77, 0x51, 0x44, 0x41, 0x6a, 0x41, 0x53, 0x4d, 0x52, 0x41, 0x77,
3310 0x44, 0x67, 0x59, 0x44, 0x56, 0x51, 0x51, 0x4b, 0x0a, 0x44, 0x41, 0x64,
3311 0x42, 0x59, 0x32, 0x31, 0x6c, 0x49, 0x45, 0x4e, 0x76, 0x4d, 0x42, 0x34,
3312 0x58, 0x44, 0x54, 0x45, 0x32, 0x4d, 0x54, 0x49, 0x79, 0x4e, 0x54, 0x45,
3313 0x7a, 0x4d, 0x6a, 0x55, 0x7a, 0x4e, 0x6c, 0x6f, 0x58, 0x44, 0x54, 0x49,
3314 0x32, 0x4d, 0x54, 0x49, 0x79, 0x4e, 0x54, 0x45, 0x7a, 0x4d, 0x6a, 0x55,
3315 0x7a, 0x4e, 0x6c, 0x6f, 0x77, 0x45, 0x6a, 0x45, 0x51, 0x4d, 0x41, 0x34,
3316 0x47, 0x0a, 0x41, 0x31, 0x55, 0x45, 0x43, 0x67, 0x77, 0x48, 0x51, 0x57,
3317 0x4e, 0x74, 0x5a, 0x53, 0x42, 0x44, 0x62, 0x7a, 0x43, 0x43, 0x41, 0x62,
3318 0x63, 0x77, 0x67, 0x67, 0x45, 0x73, 0x42, 0x67, 0x63, 0x71, 0x68, 0x6b,
3319 0x6a, 0x4f, 0x4f, 0x41, 0x51, 0x42, 0x4d, 0x49, 0x49, 0x42, 0x48, 0x77,
3320 0x4b, 0x42, 0x67, 0x51, 0x44, 0x64, 0x6b, 0x46, 0x4b, 0x7a, 0x4e, 0x41,
3321 0x42, 0x4c, 0x4f, 0x68, 0x61, 0x37, 0x0a, 0x45, 0x71, 0x6a, 0x37, 0x30,
3322 0x30, 0x34, 0x2b, 0x70, 0x35, 0x66, 0x68, 0x74, 0x52, 0x36, 0x62, 0x78,
3323 0x70, 0x75, 0x6a, 0x54, 0x6f, 0x4d, 0x6d, 0x53, 0x5a, 0x54, 0x59, 0x69,
3324 0x38, 0x69, 0x67, 0x56, 0x56, 0x58, 0x50, 0x57, 0x7a, 0x66, 0x30, 0x33,
3325 0x55, 0x4c, 0x4b, 0x53, 0x35, 0x55, 0x4b, 0x6a, 0x41, 0x36, 0x57, 0x70,
3326 0x52, 0x36, 0x45, 0x69, 0x5a, 0x41, 0x68, 0x6d, 0x2b, 0x50, 0x64, 0x0a,
3327 0x78, 0x75, 0x73, 0x5a, 0x35, 0x78, 0x66, 0x41, 0x75, 0x52, 0x5a, 0x4c,
3328 0x64, 0x4b, 0x79, 0x30, 0x62, 0x67, 0x78, 0x6e, 0x31, 0x66, 0x33, 0x34,
3329 0x38, 0x52, 0x77, 0x68, 0x2b, 0x45, 0x51, 0x4e, 0x61, 0x45, 0x4d, 0x38,
3330 0x30, 0x54, 0x47, 0x63, 0x6e, 0x77, 0x35, 0x69, 0x6a, 0x77, 0x4b, 0x6d,
3331 0x53, 0x77, 0x35, 0x79, 0x79, 0x48, 0x50, 0x44, 0x57, 0x64, 0x69, 0x48,
3332 0x7a, 0x6f, 0x71, 0x45, 0x0a, 0x42, 0x6c, 0x68, 0x41, 0x66, 0x38, 0x4e,
3333 0x6c, 0x32, 0x32, 0x59, 0x54, 0x58, 0x61, 0x78, 0x2f, 0x63, 0x6c, 0x73,
3334 0x63, 0x2f, 0x70, 0x75, 0x2f, 0x52, 0x52, 0x4c, 0x41, 0x64, 0x77, 0x49,
3335 0x56, 0x41, 0x49, 0x45, 0x67, 0x51, 0x71, 0x57, 0x52, 0x66, 0x2f, 0x31,
3336 0x45, 0x49, 0x5a, 0x5a, 0x63, 0x67, 0x4d, 0x36, 0x35, 0x51, 0x70, 0x64,
3337 0x36, 0x35, 0x59, 0x75, 0x78, 0x41, 0x6f, 0x47, 0x42, 0x0a, 0x41, 0x4b,
3338 0x42, 0x61, 0x75, 0x56, 0x2f, 0x52, 0x75, 0x6c, 0x6f, 0x46, 0x48, 0x6f,
3339 0x53, 0x79, 0x35, 0x69, 0x57, 0x58, 0x45, 0x53, 0x44, 0x79, 0x77, 0x69,
3340 0x53, 0x33, 0x38, 0x30, 0x74, 0x4e, 0x35, 0x39, 0x37, 0x34, 0x47, 0x75,
3341 0x6b, 0x47, 0x77, 0x6f, 0x59, 0x64, 0x5a, 0x6f, 0x35, 0x75, 0x53, 0x49,
3342 0x48, 0x36, 0x61, 0x68, 0x70, 0x65, 0x4e, 0x53, 0x65, 0x66, 0x30, 0x4d,
3343 0x62, 0x48, 0x0a, 0x47, 0x41, 0x7a, 0x72, 0x37, 0x5a, 0x56, 0x45, 0x6e,
3344 0x68, 0x43, 0x51, 0x66, 0x52, 0x41, 0x77, 0x48, 0x31, 0x67, 0x52, 0x76,
3345 0x53, 0x48, 0x6f, 0x71, 0x2f, 0x52, 0x62, 0x6d, 0x63, 0x76, 0x74, 0x64,
3346 0x33, 0x72, 0x2b, 0x51, 0x74, 0x51, 0x48, 0x4f, 0x77, 0x76, 0x51, 0x48,
3347 0x67, 0x4c, 0x41, 0x79, 0x6e, 0x68, 0x49, 0x34, 0x69, 0x37, 0x33, 0x63,
3348 0x37, 0x39, 0x34, 0x63, 0x7a, 0x48, 0x61, 0x0a, 0x52, 0x2b, 0x34, 0x33,
3349 0x39, 0x62, 0x6d, 0x63, 0x61, 0x53, 0x77, 0x44, 0x6e, 0x51, 0x64, 0x75,
3350 0x52, 0x4d, 0x38, 0x35, 0x4d, 0x68, 0x6f, 0x2f, 0x6a, 0x69, 0x69, 0x5a,
3351 0x7a, 0x41, 0x56, 0x50, 0x78, 0x42, 0x6d, 0x47, 0x50, 0x4f, 0x49, 0x4d,
3352 0x57, 0x4e, 0x58, 0x58, 0x41, 0x34, 0x47, 0x45, 0x41, 0x41, 0x4b, 0x42,
3353 0x67, 0x43, 0x4f, 0x68, 0x4b, 0x65, 0x53, 0x42, 0x4f, 0x38, 0x70, 0x39,
3354 0x0a, 0x79, 0x63, 0x35, 0x46, 0x7a, 0x76, 0x51, 0x65, 0x72, 0x51, 0x74,
3355 0x32, 0x32, 0x77, 0x7a, 0x50, 0x6d, 0x63, 0x37, 0x72, 0x69, 0x4a, 0x38,
3356 0x47, 0x53, 0x32, 0x37, 0x57, 0x66, 0x4a, 0x59, 0x70, 0x75, 0x77, 0x37,
3357 0x4b, 0x6d, 0x6d, 0x34, 0x4f, 0x4a, 0x4e, 0x6d, 0x47, 0x78, 0x4f, 0x45,
3358 0x66, 0x65, 0x51, 0x5a, 0x33, 0x38, 0x4a, 0x34, 0x37, 0x4d, 0x70, 0x66,
3359 0x4e, 0x4a, 0x71, 0x76, 0x77, 0x0a, 0x32, 0x30, 0x44, 0x65, 0x5a, 0x51,
3360 0x42, 0x77, 0x62, 0x34, 0x77, 0x36, 0x35, 0x41, 0x75, 0x69, 0x4c, 0x61,
3361 0x49, 0x77, 0x52, 0x69, 0x69, 0x4e, 0x2f, 0x6f, 0x69, 0x4b, 0x36, 0x68,
3362 0x6c, 0x42, 0x43, 0x58, 0x63, 0x62, 0x35, 0x65, 0x4c, 0x70, 0x59, 0x78,
3363 0x64, 0x44, 0x35, 0x6b, 0x67, 0x2b, 0x38, 0x37, 0x79, 0x42, 0x76, 0x41,
3364 0x58, 0x36, 0x48, 0x43, 0x6a, 0x6e, 0x70, 0x66, 0x68, 0x42, 0x0a, 0x78,
3365 0x39, 0x47, 0x4b, 0x38, 0x68, 0x4d, 0x59, 0x6c, 0x75, 0x70, 0x4b, 0x31,
3366 0x64, 0x53, 0x6c, 0x74, 0x6d, 0x55, 0x5a, 0x69, 0x61, 0x36, 0x6b, 0x68,
3367 0x63, 0x4f, 0x69, 0x67, 0x6f, 0x31, 0x64, 0x6f, 0x30, 0x55, 0x77, 0x51,
3368 0x7a, 0x41, 0x4a, 0x42, 0x67, 0x4e, 0x56, 0x48, 0x52, 0x4d, 0x45, 0x41,
3369 0x6a, 0x41, 0x41, 0x4d, 0x41, 0x73, 0x47, 0x41, 0x31, 0x55, 0x64, 0x44,
3370 0x77, 0x51, 0x45, 0x0a, 0x41, 0x77, 0x49, 0x46, 0x6f, 0x44, 0x41, 0x54,
3371 0x42, 0x67, 0x4e, 0x56, 0x48, 0x53, 0x55, 0x45, 0x44, 0x44, 0x41, 0x4b,
3372 0x42, 0x67, 0x67, 0x72, 0x42, 0x67, 0x45, 0x46, 0x42, 0x51, 0x63, 0x44,
3373 0x41, 0x54, 0x41, 0x55, 0x42, 0x67, 0x4e, 0x56, 0x48, 0x52, 0x45, 0x45,
3374 0x44, 0x54, 0x41, 0x4c, 0x67, 0x67, 0x6c, 0x73, 0x62, 0x32, 0x4e, 0x68,
3375 0x62, 0x47, 0x68, 0x76, 0x63, 0x33, 0x51, 0x77, 0x0a, 0x43, 0x77, 0x59,
3376 0x4a, 0x59, 0x49, 0x5a, 0x49, 0x41, 0x57, 0x55, 0x44, 0x42, 0x41, 0x4d,
3377 0x43, 0x41, 0x79, 0x38, 0x41, 0x4d, 0x43, 0x77, 0x43, 0x46, 0x43, 0x6c,
3378 0x78, 0x49, 0x6e, 0x58, 0x54, 0x52, 0x57, 0x4e, 0x4a, 0x45, 0x57, 0x64,
3379 0x69, 0x35, 0x69, 0x6c, 0x4e, 0x72, 0x2f, 0x66, 0x62, 0x4d, 0x31, 0x62,
3380 0x4b, 0x41, 0x68, 0x51, 0x79, 0x34, 0x42, 0x37, 0x77, 0x74, 0x6d, 0x66,
3381 0x64, 0x0a, 0x49, 0x2b, 0x7a, 0x56, 0x36, 0x67, 0x33, 0x77, 0x39, 0x71,
3382 0x42, 0x6b, 0x4e, 0x71, 0x53, 0x74, 0x70, 0x41, 0x3d, 0x3d, 0x0a, 0x2d,
3383 0x2d, 0x2d, 0x2d, 0x2d, 0x45, 0x4e, 0x44, 0x20, 0x43, 0x45, 0x52, 0x54,
3384 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
3385 0x0a
3386 };
3387 #endif
3388
3389 /* unused, to avoid warning. */
3390 static int idx;
3391
3392 #define FUZZTIME 1485898104
3393
3394 #define TIME_IMPL(t) \
3395 { \
3396 if (t != NULL) \
3397 *t = FUZZTIME; \
3398 return FUZZTIME; \
3399 }
3400
3401 /*
3402 * This might not work in all cases (and definitely not on Windows
3403 * because of the way linkers are) and callees can still get the
3404 * current time instead of the fixed time. This will just result
3405 * in things not being fully reproducible and have a slightly
3406 * different coverage.
3407 */
3408 #if !defined(_WIN32)
time(time_t * t)3409 time_t time(time_t *t) TIME_IMPL(t)
3410 #endif
3411
3412 int FuzzerInitialize(int *argc, char ***argv)
3413 {
3414 STACK_OF(SSL_COMP) *comp_methods;
3415
3416 FuzzerSetRand();
3417 OPENSSL_init_crypto(OPENSSL_INIT_LOAD_CRYPTO_STRINGS | OPENSSL_INIT_ASYNC, NULL);
3418 OPENSSL_init_ssl(OPENSSL_INIT_LOAD_SSL_STRINGS, NULL);
3419 ERR_clear_error();
3420 CRYPTO_free_ex_index(0, -1);
3421 idx = SSL_get_ex_data_X509_STORE_CTX_idx();
3422 comp_methods = SSL_COMP_get_compression_methods();
3423 if (comp_methods != NULL)
3424 sk_SSL_COMP_sort(comp_methods);
3425
3426 return 1;
3427 }
3428
FuzzerTestOneInput(const uint8_t * buf,size_t len)3429 int FuzzerTestOneInput(const uint8_t *buf, size_t len)
3430 {
3431 SSL *server;
3432 BIO *in;
3433 BIO *out;
3434 BIO *bio_buf;
3435 SSL_CTX *ctx;
3436 int ret;
3437 #ifndef OPENSSL_NO_DEPRECATED_3_0
3438 RSA *privkey;
3439 #endif
3440 #if !defined(OPENSSL_NO_DEPRECATED_3_0)
3441 EVP_PKEY *pkey;
3442 #endif
3443 X509 *cert;
3444 #ifndef OPENSSL_NO_DEPRECATED_3_0
3445 #ifndef OPENSSL_NO_EC
3446 EC_KEY *ecdsakey = NULL;
3447 #endif
3448 #endif
3449 #if !defined(OPENSSL_NO_DSA) && !defined(OPENSSL_NO_DEPRECATED_3_0)
3450 DSA *dsakey = NULL;
3451 #endif
3452
3453 if (len < 2)
3454 return 0;
3455
3456 /* This only fuzzes the initial flow from the client so far. */
3457 ctx = SSL_CTX_new(DTLS_server_method());
3458
3459 ret = SSL_CTX_set_min_proto_version(ctx, 0);
3460 OPENSSL_assert(ret == 1);
3461 ret = SSL_CTX_set_cipher_list(ctx, "ALL:eNULL:@SECLEVEL=0");
3462 OPENSSL_assert(ret == 1);
3463
3464 #ifndef OPENSSL_NO_DEPRECATED_3_0
3465 /* RSA */
3466 bio_buf = BIO_new(BIO_s_mem());
3467 OPENSSL_assert((size_t)BIO_write(bio_buf, RSAPrivateKeyPEM, sizeof(RSAPrivateKeyPEM)) == sizeof(RSAPrivateKeyPEM));
3468 privkey = PEM_read_bio_RSAPrivateKey(bio_buf, NULL, NULL, NULL);
3469 ERR_print_errors_fp(stderr);
3470 OPENSSL_assert(privkey != NULL);
3471 BIO_free(bio_buf);
3472 pkey = EVP_PKEY_new();
3473 EVP_PKEY_assign_RSA(pkey, privkey);
3474 ret = SSL_CTX_use_PrivateKey(ctx, pkey);
3475 OPENSSL_assert(ret == 1);
3476 EVP_PKEY_free(pkey);
3477 #endif
3478
3479 bio_buf = BIO_new(BIO_s_mem());
3480 OPENSSL_assert((size_t)BIO_write(bio_buf, RSACertificatePEM, sizeof(RSACertificatePEM)) == sizeof(RSACertificatePEM));
3481 cert = PEM_read_bio_X509(bio_buf, NULL, NULL, NULL);
3482 BIO_free(bio_buf);
3483 OPENSSL_assert(cert != NULL);
3484 ret = SSL_CTX_use_certificate(ctx, cert);
3485 OPENSSL_assert(ret == 1);
3486 X509_free(cert);
3487
3488 #ifndef OPENSSL_NO_EC
3489 #ifndef OPENSSL_NO_DEPRECATED_3_0
3490 /* ECDSA */
3491 bio_buf = BIO_new(BIO_s_mem());
3492 OPENSSL_assert((size_t)BIO_write(bio_buf, ECDSAPrivateKeyPEM, sizeof(ECDSAPrivateKeyPEM)) == sizeof(ECDSAPrivateKeyPEM));
3493 ecdsakey = PEM_read_bio_ECPrivateKey(bio_buf, NULL, NULL, NULL);
3494 ERR_print_errors_fp(stderr);
3495 OPENSSL_assert(ecdsakey != NULL);
3496 BIO_free(bio_buf);
3497 pkey = EVP_PKEY_new();
3498 EVP_PKEY_assign_EC_KEY(pkey, ecdsakey);
3499 ret = SSL_CTX_use_PrivateKey(ctx, pkey);
3500 OPENSSL_assert(ret == 1);
3501 EVP_PKEY_free(pkey);
3502 #endif
3503 bio_buf = BIO_new(BIO_s_mem());
3504 OPENSSL_assert((size_t)BIO_write(bio_buf, ECDSACertPEM, sizeof(ECDSACertPEM)) == sizeof(ECDSACertPEM));
3505 cert = PEM_read_bio_X509(bio_buf, NULL, NULL, NULL);
3506 OPENSSL_assert(cert != NULL);
3507 BIO_free(bio_buf);
3508 ret = SSL_CTX_use_certificate(ctx, cert);
3509 OPENSSL_assert(ret == 1);
3510 X509_free(cert);
3511 #endif
3512
3513 #if !defined(OPENSSL_NO_DSA) && !defined(OPENSSL_NO_DEPRECATED_3_0)
3514 /* DSA */
3515 bio_buf = BIO_new(BIO_s_mem());
3516 OPENSSL_assert((size_t)BIO_write(bio_buf, DSAPrivateKeyPEM, sizeof(DSAPrivateKeyPEM)) == sizeof(DSAPrivateKeyPEM));
3517 dsakey = PEM_read_bio_DSAPrivateKey(bio_buf, NULL, NULL, NULL);
3518 ERR_print_errors_fp(stderr);
3519 OPENSSL_assert(dsakey != NULL);
3520 BIO_free(bio_buf);
3521 pkey = EVP_PKEY_new();
3522 EVP_PKEY_assign_DSA(pkey, dsakey);
3523 ret = SSL_CTX_use_PrivateKey(ctx, pkey);
3524 OPENSSL_assert(ret == 1);
3525 EVP_PKEY_free(pkey);
3526
3527 bio_buf = BIO_new(BIO_s_mem());
3528 OPENSSL_assert((size_t)BIO_write(bio_buf, DSACertPEM, sizeof(DSACertPEM)) == sizeof(DSACertPEM));
3529 cert = PEM_read_bio_X509(bio_buf, NULL, NULL, NULL);
3530 OPENSSL_assert(cert != NULL);
3531 BIO_free(bio_buf);
3532 ret = SSL_CTX_use_certificate(ctx, cert);
3533 OPENSSL_assert(ret == 1);
3534 X509_free(cert);
3535 #endif
3536
3537 server = SSL_new(ctx);
3538 in = BIO_new(BIO_s_mem());
3539 out = BIO_new(BIO_s_mem());
3540 SSL_set_bio(server, in, out);
3541 SSL_set_accept_state(server);
3542
3543 OPENSSL_assert((size_t)BIO_write(in, buf, len) == len);
3544
3545 if (SSL_do_handshake(server) == 1) {
3546 /* Keep reading application data until error or EOF. */
3547 uint8_t tmp[1024];
3548 for (;;) {
3549 if (SSL_read(server, tmp, sizeof(tmp)) <= 0) {
3550 break;
3551 }
3552 }
3553 }
3554 SSL_free(server);
3555 ERR_clear_error();
3556 SSL_CTX_free(ctx);
3557
3558 return 0;
3559 }
3560
FuzzerCleanup(void)3561 void FuzzerCleanup(void)
3562 {
3563 FuzzerClearRand();
3564 }
3565