/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "server_certs.h"
#include <cassert>
#include <cstddef>
#include <cstdint>
#include "cpputil.h"
#include "nss_scoped_ptrs.h"
#include "ssl.h"
const uint8_t kP256ServerCert[] = {
0 x30,
0 x82,
0 x01,
0 xcf,
0 x30,
0 x82,
0 x01,
0 x76,
0 xa0,
0 x03,
0 x02,
0 x01,
0 x02,
0 x02,
0 x09,
0 x00,
0 xd9,
0 x4c,
0 x04,
0 xda,
0 x49,
0 x7d,
0 xbf,
0 xeb,
0 x30,
0 x09,
0 x06,
0 x07,
0 x2a,
0 x86,
0 x48,
0 xce,
0 x3d,
0 x04,
0 x01,
0 x30,
0 x45,
0 x31,
0 x0b,
0 x30,
0 x09,
0 x06,
0 x03,
0 x55,
0 x04,
0 x06,
0 x13,
0 x02,
0 x41,
0 x55,
0 x31,
0 x13,
0 x30,
0 x11,
0 x06,
0 x03,
0 x55,
0 x04,
0 x08,
0 x0c,
0 x0a,
0 x53,
0 x6f,
0 x6d,
0 x65,
0 x2d,
0 x53,
0 x74,
0 x61,
0 x74,
0 x65,
0 x31,
0 x21,
0 x30,
0 x1f,
0 x06,
0 x03,
0 x55,
0 x04,
0 x0a,
0 x0c,
0 x18,
0 x49,
0 x6e,
0 x74,
0 x65,
0 x72,
0 x6e,
0 x65,
0 x74,
0 x20,
0 x57,
0 x69,
0 x64,
0 x67,
0 x69,
0 x74,
0 x73,
0 x20,
0 x50,
0 x74,
0 x79,
0 x20,
0 x4c,
0 x74,
0 x64,
0 x30,
0 x1e,
0 x17,
0 x0d,
0 x31,
0 x34,
0 x30,
0 x34,
0 x32,
0 x33,
0 x32,
0 x33,
0 x32,
0 x31,
0 x35,
0 x37,
0 x5a,
0 x17,
0 x0d,
0 x31,
0 x34,
0 x30,
0 x35,
0 x32,
0 x33,
0 x32,
0 x33,
0 x32,
0 x31,
0 x35,
0 x37,
0 x5a,
0 x30,
0 x45,
0 x31,
0 x0b,
0 x30,
0 x09,
0 x06,
0 x03,
0 x55,
0 x04,
0 x06,
0 x13,
0 x02,
0 x41,
0 x55,
0 x31,
0 x13,
0 x30,
0 x11,
0 x06,
0 x03,
0 x55,
0 x04,
0 x08,
0 x0c,
0 x0a,
0 x53,
0 x6f,
0 x6d,
0 x65,
0 x2d,
0 x53,
0 x74,
0 x61,
0 x74,
0 x65,
0 x31,
0 x21,
0 x30,
0 x1f,
0 x06,
0 x03,
0 x55,
0 x04,
0 x0a,
0 x0c,
0 x18,
0 x49,
0 x6e,
0 x74,
0 x65,
0 x72,
0 x6e,
0 x65,
0 x74,
0 x20,
0 x57,
0 x69,
0 x64,
0 x67,
0 x69,
0 x74,
0 x73,
0 x20,
0 x50,
0 x74,
0 x79,
0 x20,
0 x4c,
0 x74,
0 x64,
0 x30,
0 x59,
0 x30,
0 x13,
0 x06,
0 x07,
0 x2a,
0 x86,
0 x48,
0 xce,
0 x3d,
0 x02,
0 x01,
0 x06,
0 x08,
0 x2a,
0 x86,
0 x48,
0 xce,
0 x3d,
0 x03,
0 x01,
0 x07,
0 x03,
0 x42,
0 x00,
0 x04,
0 xe6,
0 x2b,
0 x69,
0 xe2,
0 xbf,
0 x65,
0 x9f,
0 x97,
0 xbe,
0 x2f,
0 x1e,
0 x0d,
0 x94,
0 x8a,
0 x4c,
0 xd5,
0 x97,
0 x6b,
0 xb7,
0 xa9,
0 x1e,
0 x0d,
0 x46,
0 xfb,
0 xdd,
0 xa9,
0 xa9,
0 x1e,
0 x9d,
0 xdc,
0 xba,
0 x5a,
0 x01,
0 xe7,
0 xd6,
0 x97,
0 xa8,
0 x0a,
0 x18,
0 xf9,
0 xc3,
0 xc4,
0 xa3,
0 x1e,
0 x56,
0 xe2,
0 x7c,
0 x83,
0 x48,
0 xdb,
0 x16,
0 x1a,
0 x1c,
0 xf5,
0 x1d,
0 x7e,
0 xf1,
0 x94,
0 x2d,
0 x4b,
0 xcf,
0 x72,
0 x22,
0 xc1,
0 xa3,
0 x50,
0 x30,
0 x4e,
0 x30,
0 x1d,
0 x06,
0 x03,
0 x55,
0 x1d,
0 x0e,
0 x04,
0 x16,
0 x04,
0 x14,
0 xab,
0 x84,
0 xd2,
0 xac,
0 xab,
0 x95,
0 xf0,
0 x82,
0 x4e,
0 x16,
0 x78,
0 x07,
0 x55,
0 x57,
0 x5f,
0 xe4,
0 x26,
0 x8d,
0 x82,
0 xd1,
0 x30,
0 x1f,
0 x06,
0 x03,
0 x55,
0 x1d,
0 x23,
0 x04,
0 x18,
0 x30,
0 x16,
0 x80,
0 x14,
0 xab,
0 x84,
0 xd2,
0 xac,
0 xab,
0 x95,
0 xf0,
0 x82,
0 x4e,
0 x16,
0 x78,
0 x07,
0 x55,
0 x57,
0 x5f,
0 xe4,
0 x26,
0 x8d,
0 x82,
0 xd1,
0 x30,
0 x0c,
0 x06,
0 x03,
0 x55,
0 x1d,
0 x13,
0 x04,
0 x05,
0 x30,
0 x03,
0 x01,
0 x01,
0 xff,
0 x30,
0 x09,
0 x06,
0 x07,
0 x2a,
0 x86,
0 x48,
0 xce,
0 x3d,
0 x04,
0 x01,
0 x03,
0 x48,
0 x00,
0 x30,
0 x45,
0 x02,
0 x21,
0 x00,
0 xf2,
0 xa0,
0 x35,
0 x5e,
0 x51,
0 x3a,
0 x36,
0 xc3,
0 x82,
0 x79,
0 x9b,
0 xee,
0 x27,
0 x50,
0 x85,
0 x8e,
0 x70,
0 x06,
0 x74,
0 x95,
0 x57,
0 xd2,
0 x29,
0 x74,
0 x00,
0 xf4,
0 xbe,
0 x15,
0 x87,
0 x5d,
0 xc4,
0 x07,
0 x02,
0 x20,
0 x7c,
0 x1e,
0 x79,
0 x14,
0 x6a,
0 x21,
0 x83,
0 xf0,
0 x7a,
0 x74,
0 x68,
0 x79,
0 x5f,
0 x14,
0 x99,
0 x9a,
0 x68,
0 xb4,
0 xf1,
0 xcb,
0 x9e,
0 x15,
0 x5e,
0 xe6,
0 x1f,
0 x32,
0 x52,
0 x61,
0 x5e,
0 x75,
0 xc9,
0 x14};
const uint8_t kP256ServerKey[] = {
0 x30,
0 x81,
0 x87,
0 x02,
0 x01,
0 x00,
0 x30,
0 x13,
0 x06,
0 x07,
0 x2a,
0 x86,
0 x48,
0 xce,
0 x3d,
0 x02,
0 x01,
0 x06,
0 x08,
0 x2a,
0 x86,
0 x48,
0 xce,
0 x3d,
0 x03,
0 x01,
0 x07,
0 x04,
0 x6d,
0 x30,
0 x6b,
0 x02,
0 x01,
0 x01,
0 x04,
0 x20,
0 x07,
0 x0f,
0 x08,
0 x72,
0 x7a,
0 xd4,
0 xa0,
0 x4a,
0 x9c,
0 xdd,
0 x59,
0 xc9,
0 x4d,
0 x89,
0 x68,
0 x77,
0 x08,
0 xb5,
0 x6f,
0 xc9,
0 x5d,
0 x30,
0 x77,
0 x0e,
0 xe8,
0 xd1,
0 xc9,
0 xce,
0 x0a,
0 x8b,
0 xb4,
0 x6a,
0 xa1,
0 x44,
0 x03,
0 x42,
0 x00,
0 x04,
0 xe6,
0 x2b,
0 x69,
0 xe2,
0 xbf,
0 x65,
0 x9f,
0 x97,
0 xbe,
0 x2f,
0 x1e,
0 x0d,
0 x94,
0 x8a,
0 x4c,
0 xd5,
0 x97,
0 x6b,
0 xb7,
0 xa9,
0 x1e,
0 x0d,
0 x46,
0 xfb,
0 xdd,
0 xa9,
0 xa9,
0 x1e,
0 x9d,
0 xdc,
0 xba,
0 x5a,
0 x01,
0 xe7,
0 xd6,
0 x97,
0 xa8,
0 x0a,
0 x18,
0 xf9,
0 xc3,
0 xc4,
0 xa3,
0 x1e,
0 x56,
0 xe2,
0 x7c,
0 x83,
0 x48,
0 xdb,
0 x16,
0 x1a,
0 x1c,
0 xf5,
0 x1d,
0 x7e,
0 xf1,
0 x94,
0 x2d,
0 x4b,
0 xcf,
0 x72,
0 x22,
0 xc1};
const uint8_t kRsaServerCert[] = {
0 x30,
0 x82,
0 x03,
0 xb5,
0 x30,
0 x82,
0 x02,
0 x9d,
0 xa0,
0 x03,
0 x02,
0 x01,
0 x02,
0 x02,
0 x09,
0 x00,
0 xb5,
0 xb6,
0 x22,
0 xb9,
0 x5a,
0 x04,
0 xa5,
0 x21,
0 x30,
0 x0d,
0 x06,
0 x09,
0 x2a,
0 x86,
0 x48,
0 x86,
0 xf7,
0 x0d,
0 x01,
0 x01,
0 x0b,
0 x05,
0 x00,
0 x30,
0 x45,
0 x31,
0 x0b,
0 x30,
0 x09,
0 x06,
0 x03,
0 x55,
0 x04,
0 x06,
0 x13,
0 x02,
0 x41,
0 x55,
0 x31,
0 x13,
0 x30,
0 x11,
0 x06,
0 x03,
0 x55,
0 x04,
0 x08,
0 x13,
0 x0a,
0 x53,
0 x6f,
0 x6d,
0 x65,
0 x2d,
0 x53,
0 x74,
0 x61,
0 x74,
0 x65,
0 x31,
0 x21,
0 x30,
0 x1f,
0 x06,
0 x03,
0 x55,
0 x04,
0 x0a,
0 x13,
0 x18,
0 x49,
0 x6e,
0 x74,
0 x65,
0 x72,
0 x6e,
0 x65,
0 x74,
0 x20,
0 x57,
0 x69,
0 x64,
0 x67,
0 x69,
0 x74,
0 x73,
0 x20,
0 x50,
0 x74,
0 x79,
0 x20,
0 x4c,
0 x74,
0 x64,
0 x30,
0 x1e,
0 x17,
0 x0d,
0 x31,
0 x36,
0 x30,
0 x37,
0 x30,
0 x39,
0 x30,
0 x34,
0 x33,
0 x38,
0 x30,
0 x39,
0 x5a,
0 x17,
0 x0d,
0 x31,
0 x36,
0 x30,
0 x38,
0 x30,
0 x38,
0 x30,
0 x34,
0 x33,
0 x38,
0 x30,
0 x39,
0 x5a,
0 x30,
0 x45,
0 x31,
0 x0b,
0 x30,
0 x09,
0 x06,
0 x03,
0 x55,
0 x04,
0 x06,
0 x13,
0 x02,
0 x41,
0 x55,
0 x31,
0 x13,
0 x30,
0 x11,
0 x06,
0 x03,
0 x55,
0 x04,
0 x08,
0 x13,
0 x0a,
0 x53,
0 x6f,
0 x6d,
0 x65,
0 x2d,
0 x53,
0 x74,
0 x61,
0 x74,
0 x65,
0 x31,
0 x21,
0 x30,
0 x1f,
0 x06,
0 x03,
0 x55,
0 x04,
0 x0a,
0 x13,
0 x18,
0 x49,
0 x6e,
0 x74,
0 x65,
0 x72,
0 x6e,
0 x65,
0 x74,
0 x20,
0 x57,
0 x69,
0 x64,
0 x67,
0 x69,
0 x74,
0 x73,
0 x20,
0 x50,
0 x74,
0 x79,
0 x20,
0 x4c,
0 x74,
0 x64,
0 x30,
0 x82,
0 x01,
0 x22,
0 x30,
0 x0d,
0 x06,
0 x09,
0 x2a,
0 x86,
0 x48,
0 x86,
0 xf7,
0 x0d,
0 x01,
0 x01,
0 x01,
0 x05,
0 x00,
0 x03,
0 x82,
0 x01,
0 x0f,
0 x00,
0 x30,
0 x82,
0 x01,
0 x0a,
0 x02,
0 x82,
0 x01,
0 x01,
0 x00,
0 xba,
0 x0b,
0 xda,
0 x84,
0 x19,
0 x12,
0 x01,
0 x41,
0 x75,
0 x7c,
0 x2e,
0 x3d,
0 xbd,
0 xbd,
0 x5b,
0 xbe,
0 x53,
0 xeb,
0 x72,
0 x5f,
0 x34,
0 x92,
0 x8a,
0 x75,
0 x88,
0 xba,
0 x62,
0 xb9,
0 x8a,
0 x33,
0 xe1,
0 x0a,
0 x6d,
0 xc3,
0 x2e,
0 x7b,
0 xf8,
0 x45,
0 xac,
0 xb1,
0 x90,
0 x5c,
0 x1e,
0 x9a,
0 xd9,
0 xe4,
0 x19,
0 x16,
0 x7f,
0 xa3,
0 xde,
0 x19,
0 x9e,
0 xc5,
0 xe4,
0 x05,
0 xf5,
0 x3f,
0 x22,
0 x5b,
0 x18,
0 x76,
0 x4b,
0 xaa,
0 xf3,
0 x02,
0 xbd,
0 x58,
0 x8f,
0 xea,
0 x97,
0 x78,
0 x30,
0 x5a,
0 x31,
0 xfe,
0 x28,
0 x04,
0 x48,
0 x84,
0 x84,
0 x1c,
0 x48,
0 xb1,
0 xa2,
0 x25,
0 xc2,
0 xcd,
0 xea,
0 x41,
0 xae,
0 x1b,
0 x69,
0 xe5,
0 x44,
0 x12,
0 x8c,
0 x70,
0 xf8,
0 x0f,
0 x88,
0 x4a,
0 xb6,
0 x07,
0 x4c,
0 x81,
0 x5c,
0 x57,
0 xf8,
0 xb4,
0 x6d,
0 xc2,
0 x05,
0 xb7,
0 x9a,
0 x7b,
0 xbf,
0 xbc,
0 x1b,
0 xbb,
0 xaf,
0 x3a,
0 x6b,
0 xfc,
0 x34,
0 xbc,
0 x8a,
0 x8f,
0 x7d,
0 xa7,
0 x79,
0 x6a,
0 x67,
0 x50,
0 x24,
0 xcb,
0 xe6,
0 x8d,
0 x95,
0 xc3,
0 x23,
0 xe8,
0 xc6,
0 x32,
0 xf1,
0 x4f,
0 x98,
0 x14,
0 x47,
0 xaf,
0 x6f,
0 xf5,
0 x74,
0 x95,
0 x16,
0 x3d,
0 xa2,
0 xac,
0 x26,
0 x5b,
0 xb0,
0 x47,
0 x9d,
0 x78,
0 xa4,
0 x9b,
0 xfb,
0 xe2,
0 xea,
0 xc8,
0 xc8,
0 x4b,
0 x7e,
0 x74,
0 x53,
0 xcc,
0 xdb,
0 xfe,
0 x64,
0 x73,
0 x61,
0 xe2,
0 x2c,
0 xd9,
0 x1e,
0 xb9,
0 x2d,
0 x47,
0 x6e,
0 x4c,
0 xbe,
0 x74,
0 xf9,
0 x43,
0 x20,
0 x6a,
0 xdf,
0 x68,
0 x71,
0 xec,
0 x08,
0 xd9,
0 xdb,
0 xfc,
0 x68,
0 xef,
0 x43,
0 xa6,
0 x1f,
0 xbc,
0 x35,
0 xd1,
0 xad,
0 x83,
0 xc2,
0 xc5,
0 x63,
0 x24,
0 xd3,
0 x1d,
0 xc5,
0 x31,
0 x26,
0 x83,
0 x2b,
0 xd4,
0 xf4,
0 xce,
0 x82,
0 x79,
0 x84,
0 x4f,
0 x5f,
0 x56,
0 x24,
0 x7e,
0 x0f,
0 xac,
0 x5c,
0 x24,
0 xed,
0 x91,
0 x35,
0 x40,
0 x94,
0 x10,
0 xd4,
0 xbe,
0 x22,
0 x2a,
0 x63,
0 xde,
0 x42,
0 x2b,
0 x2d,
0 xb9,
0 x02,
0 x03,
0 x01,
0 x00,
0 x01,
0 xa3,
0 x81,
0 xa7,
0 x30,
0 x81,
0 xa4,
0 x30,
0 x1d,
0 x06,
0 x03,
0 x55,
0 x1d,
0 x0e,
0 x04,
0 x16,
0 x04,
0 x14,
0 xf9,
0 x9b,
0 xa5,
0 x6f,
0 xcd,
0 x88,
0 xd5,
0 x60,
0 x71,
0 xb7,
0 xd2,
0 x20,
0 x44,
0 xfa,
0 x3d,
0 x97,
0 x0e,
0 x15,
0 x04,
0 xf2,
0 x30,
0 x75,
0 x06,
0 x03,
0 x55,
0 x1d,
0 x23,
0 x04,
0 x6e,
0 x30,
0 x6c,
0 x80,
0 x14,
0 xf9,
0 x9b,
0 xa5,
0 x6f,
0 xcd,
0 x88,
0 xd5,
0 x60,
0 x71,
0 xb7,
0 xd2,
0 x20,
0 x44,
0 xfa,
0 x3d,
0 x97,
0 x0e,
0 x15,
0 x04,
0 xf2,
0 xa1,
0 x49,
0 xa4,
0 x47,
0 x30,
0 x45,
0 x31,
0 x0b,
0 x30,
0 x09,
0 x06,
0 x03,
0 x55,
0 x04,
0 x06,
0 x13,
0 x02,
0 x41,
0 x55,
0 x31,
0 x13,
0 x30,
0 x11,
0 x06,
0 x03,
0 x55,
0 x04,
0 x08,
0 x13,
0 x0a,
0 x53,
0 x6f,
0 x6d,
0 x65,
0 x2d,
0 x53,
0 x74,
0 x61,
0 x74,
0 x65,
0 x31,
0 x21,
0 x30,
0 x1f,
0 x06,
0 x03,
0 x55,
0 x04,
0 x0a,
0 x13,
0 x18,
0 x49,
0 x6e,
0 x74,
0 x65,
0 x72,
0 x6e,
0 x65,
0 x74,
0 x20,
0 x57,
0 x69,
0 x64,
0 x67,
0 x69,
0 x74,
0 x73,
0 x20,
0 x50,
0 x74,
0 x79,
0 x20,
0 x4c,
0 x74,
0 x64,
0 x82,
0 x09,
0 x00,
0 xb5,
0 xb6,
0 x22,
0 xb9,
0 x5a,
0 x04,
0 xa5,
0 x21,
0 x30,
0 x0c,
0 x06,
0 x03,
0 x55,
0 x1d,
0 x13,
0 x04,
0 x05,
0 x30,
0 x03,
0 x01,
0 x01,
0 xff,
0 x30,
0 x0d,
0 x06,
0 x09,
0 x2a,
0 x86,
0 x48,
0 x86,
0 xf7,
0 x0d,
0 x01,
0 x01,
0 x0b,
0 x05,
0 x00,
0 x03,
0 x82,
0 x01,
0 x01,
0 x00,
0 x3e,
0 xc9,
0 x83,
0 xaf,
0 x12,
0 x02,
0 xb6,
0 x16,
0 x95,
0 xca,
0 x07,
0 x7d,
0 x90,
0 x01,
0 xf7,
0 x43,
0 xe6,
0 xca,
0 xbb,
0 x79,
0 x1f,
0 xa0,
0 xfc,
0 x2d,
0 x18,
0 xbe,
0 x5b,
0 x64,
0 x62,
0 xd5,
0 xf0,
0 x4d,
0 xc5,
0 x11,
0 x04,
0 x2e,
0 x77,
0 xb3,
0 x58,
0 x9d,
0 xac,
0 x72,
0 x39,
0 x78,
0 x50,
0 xc7,
0 x2c,
0 x29,
0 x8a,
0 x78,
0 x3e,
0 x2f,
0 x79,
0 xd2,
0 x05,
0 x4d,
0 xfb,
0 xad,
0 x88,
0 x82,
0 xb2,
0 x26,
0 x70,
0 x23,
0 x6f,
0 xb5,
0 xbe,
0 x48,
0 xd4,
0 x27,
0 xf2,
0 xfc,
0 xc3,
0 x4d,
0 xba,
0 xbf,
0 x5f,
0 x7d,
0 xab,
0 x3a,
0 x5f,
0 x7d,
0 xf8,
0 x0f,
0 x48,
0 x58,
0 x54,
0 x84,
0 x13,
0 x78,
0 xfc,
0 x85,
0 x93,
0 x7b,
0 xa6,
0 x23,
0 xed,
0 xa6,
0 x25,
0 x0a,
0 xed,
0 x65,
0 x9c,
0 x8c,
0 x3c,
0 x82,
0 x92,
0 x63,
0 xfb,
0 x18,
0 x19,
0 x01,
0 xe1,
0 x18,
0 x65,
0 xfa,
0 xc0,
0 x62,
0 xbe,
0 x18,
0 xef,
0 xe8,
0 x83,
0 x43,
0 xd0,
0 x93,
0 xf5,
0 x6e,
0 xe8,
0 x3f,
0 x86,
0 x53,
0 x65,
0 xd1,
0 x9c,
0 x35,
0 x74,
0 x61,
0 x98,
0 x35,
0 x96,
0 xc0,
0 x2c,
0 x1d,
0 xdd,
0 xb5,
0 x5e,
0 xbc,
0 x8a,
0 xe9,
0 xf0,
0 xe6,
0 x36,
0 x41,
0 x0c,
0 xc1,
0 xb2,
0 x16,
0 xae,
0 xdb,
0 x38,
0 xc5,
0 xce,
0 xec,
0 x71,
0 x1a,
0 xc6,
0 x1d,
0 x6c,
0 xbe,
0 x88,
0 xc7,
0 xfa,
0 xff,
0 xba,
0 x7f,
0 x02,
0 x4f,
0 xd2,
0 x22,
0 x27,
0 x0c,
0 xe1,
0 x74,
0 xb0,
0 x9a,
0 x54,
0 x3c,
0 xa4,
0 xfc,
0 x40,
0 x64,
0 xfa,
0 xfe,
0 x13,
0 x62,
0 xe8,
0 x55,
0 xdf,
0 x69,
0 x32,
0 x95,
0 x94,
0 xc2,
0 x95,
0 xb6,
0 x51,
0 xbb,
0 x4e,
0 xe7,
0 x0b,
0 x06,
0 x4e,
0 xb6,
0 x39,
0 xb0,
0 xee,
0 x39,
0 xb4,
0 x53,
0 x4d,
0 xff,
0 x2f,
0 xa3,
0 xb5,
0 x48,
0 x5e,
0 x07,
0 x50,
0 xb6,
0 x8a,
0 x33,
0 x9b,
0 x1b,
0 xfb,
0 x57,
0 x10,
0 xb6,
0 xa2,
0 xc8,
0 x27,
0 x4c,
0 xf9,
0 x2f,
0 xf0,
0 x69,
0 xeb,
0 xaf,
0 xd0,
0 xc5,
0 xed,
0 x23,
0 x8c,
0 x67,
0 x9f,
0 x50};
const uint8_t kRsaServerKey[] = {
0 x30,
0 x82,
0 x04,
0 xbc,
0 x02,
0 x01,
0 x00,
0 x30,
0 x0d,
0 x06,
0 x09,
0 x2a,
0 x86,
0 x48,
0 x86,
0 xf7,
0 x0d,
0 x01,
0 x01,
0 x01,
0 x05,
0 x00,
0 x04,
0 x82,
0 x04,
0 xa6,
0 x30,
0 x82,
0 x04,
0 xa2,
0 x02,
0 x01,
0 x00,
0 x02,
0 x82,
0 x01,
0 x01,
0 x00,
0 xba,
0 x0b,
0 xda,
0 x84,
0 x19,
0 x12,
0 x01,
0 x41,
0 x75,
0 x7c,
0 x2e,
0 x3d,
0 xbd,
0 xbd,
0 x5b,
0 xbe,
0 x53,
0 xeb,
0 x72,
0 x5f,
0 x34,
0 x92,
0 x8a,
0 x75,
0 x88,
0 xba,
0 x62,
0 xb9,
0 x8a,
0 x33,
0 xe1,
0 x0a,
0 x6d,
0 xc3,
0 x2e,
0 x7b,
0 xf8,
0 x45,
0 xac,
0 xb1,
0 x90,
0 x5c,
0 x1e,
0 x9a,
0 xd9,
0 xe4,
0 x19,
0 x16,
0 x7f,
0 xa3,
0 xde,
0 x19,
0 x9e,
0 xc5,
0 xe4,
0 x05,
0 xf5,
0 x3f,
0 x22,
0 x5b,
0 x18,
0 x76,
0 x4b,
0 xaa,
0 xf3,
0 x02,
0 xbd,
0 x58,
0 x8f,
0 xea,
0 x97,
0 x78,
0 x30,
0 x5a,
0 x31,
0 xfe,
0 x28,
0 x04,
0 x48,
0 x84,
0 x84,
0 x1c,
0 x48,
0 xb1,
0 xa2,
0 x25,
0 xc2,
0 xcd,
0 xea,
0 x41,
0 xae,
0 x1b,
0 x69,
0 xe5,
0 x44,
0 x12,
0 x8c,
0 x70,
0 xf8,
0 x0f,
0 x88,
0 x4a,
0 xb6,
0 x07,
0 x4c,
0 x81,
0 x5c,
0 x57,
0 xf8,
0 xb4,
0 x6d,
0 xc2,
0 x05,
0 xb7,
0 x9a,
0 x7b,
0 xbf,
0 xbc,
0 x1b,
0 xbb,
0 xaf,
0 x3a,
0 x6b,
0 xfc,
0 x34,
0 xbc,
0 x8a,
0 x8f,
0 x7d,
0 xa7,
0 x79,
0 x6a,
0 x67,
0 x50,
0 x24,
0 xcb,
0 xe6,
0 x8d,
0 x95,
0 xc3,
0 x23,
0 xe8,
0 xc6,
0 x32,
0 xf1,
0 x4f,
0 x98,
0 x14,
0 x47,
0 xaf,
0 x6f,
0 xf5,
0 x74,
0 x95,
0 x16,
0 x3d,
0 xa2,
0 xac,
0 x26,
0 x5b,
0 xb0,
0 x47,
0 x9d,
0 x78,
0 xa4,
0 x9b,
0 xfb,
0 xe2,
0 xea,
0 xc8,
0 xc8,
0 x4b,
0 x7e,
0 x74,
0 x53,
0 xcc,
0 xdb,
0 xfe,
0 x64,
0 x73,
0 x61,
0 xe2,
0 x2c,
0 xd9,
0 x1e,
0 xb9,
0 x2d,
0 x47,
0 x6e,
0 x4c,
0 xbe,
0 x74,
0 xf9,
0 x43,
0 x20,
0 x6a,
0 xdf,
0 x68,
0 x71,
0 xec,
0 x08,
0 xd9,
0 xdb,
0 xfc,
0 x68,
0 xef,
0 x43,
0 xa6,
0 x1f,
0 xbc,
0 x35,
0 xd1,
0 xad,
0 x83,
0 xc2,
0 xc5,
0 x63,
0 x24,
0 xd3,
0 x1d,
0 xc5,
0 x31,
0 x26,
0 x83,
0 x2b,
0 xd4,
0 xf4,
0 xce,
0 x82,
0 x79,
0 x84,
0 x4f,
0 x5f,
0 x56,
0 x24,
0 x7e,
0 x0f,
0 xac,
0 x5c,
0 x24,
0 xed,
0 x91,
0 x35,
0 x40,
0 x94,
0 x10,
0 xd4,
0 xbe,
0 x22,
0 x2a,
0 x63,
0 xde,
0 x42,
0 x2b,
0 x2d,
0 xb9,
0 x02,
0 x03,
0 x01,
0 x00,
0 x01,
0 x02,
0 x82,
0 x01,
0 x00,
0 x1c,
0 xfb,
0 xef,
0 xc5,
0 x18,
0 xaa,
0 xc7,
0 x6b,
0 x4d,
0 x44,
0 x55,
0 x67,
0 xe5,
0 x01,
0 x75,
0 x23,
0 x87,
0 xab,
0 x6c,
0 x9c,
0 x0c,
0 x72,
0 xb0,
0 x03,
0 x73,
0 x93,
0 xa6,
0 x01,
0 xc5,
0 xd8,
0 x23,
0 x3d,
0 x1e,
0 xb0,
0 x83,
0 xb3,
0 x68,
0 x90,
0 x62,
0 x41,
0 x1f,
0 x7e,
0 x5a,
0 x7e,
0 x41,
0 x67,
0 xd9,
0 xc8,
0 xb9,
0 x85,
0 xeb,
0 xfa,
0 x0d,
0 xd4,
0 x42,
0 x9b,
0 xf3,
0 x03,
0 x2c,
0 xf5,
0 x08,
0 x30,
0 x95,
0 xc5,
0 x42,
0 x2a,
0 xb1,
0 x18,
0 xf5,
0 x02,
0 xd5,
0 x2a,
0 x32,
0 x4e,
0 x3a,
0 xef,
0 x9f,
0 x88,
0 x5b,
0 x4b,
0 xd9,
0 xd1,
0 x16,
0 x3a,
0 x26,
0 x4a,
0 xbf,
0 xb8,
0 x98,
0 xc0,
0 x36,
0 xc1,
0 xaa,
0 x93,
0 xbf,
0 x31,
0 x2c,
0 x94,
0 x04,
0 xf1,
0 x56,
0 x88,
0 x5d,
0 x27,
0 x71,
0 xf1,
0 xcd,
0 x53,
0 x1f,
0 x39,
0 xec,
0 xc7,
0 x87,
0 x60,
0 x7d,
0 x3e,
0 xbe,
0 x36,
0 x2e,
0 x13,
0 xe5,
0 x4e,
0 xb2,
0 xb8,
0 x0d,
0 xf7,
0 x39,
0 x96,
0 xb0,
0 xe0,
0 xd7,
0 x58,
0 x65,
0 x8b,
0 x44,
0 x92,
0 xa3,
0 x62,
0 xa8,
0 xae,
0 x95,
0 x61,
0 xee,
0 x26,
0 x03,
0 x1c,
0 x55,
0 x87,
0 x9a,
0 xac,
0 x72,
0 x28,
0 x55,
0 x54,
0 xc1,
0 xa4,
0 x05,
0 x5a,
0 x89,
0 x36,
0 x28,
0 x84,
0 xa2,
0 xd7,
0 x2d,
0 x9b,
0 x59,
0 x69,
0 x87,
0 xca,
0 x30,
0 xfb,
0 xba,
0 x3c,
0 x82,
0 x05,
0 xce,
0 x5b,
0 xdc,
0 x66,
0 xf9,
0 x11,
0 xc7,
0 x3d,
0 xc1,
0 xfb,
0 x12,
0 x9c,
0 x7b,
0 x86,
0 x39,
0 x1b,
0 xfe,
0 x17,
0 xa5,
0 x00,
0 xd7,
0 x18,
0 x38,
0 xaf,
0 x79,
0 xd1,
0 x6e,
0 x7f,
0 x47,
0 xed,
0 xb3,
0 x59,
0 x5f,
0 x51,
0 xea,
0 x4c,
0 x68,
0 xe9,
0 x1f,
0 xbf,
0 x85,
0 xf1,
0 x85,
0 x16,
0 x60,
0 xaf,
0 x97,
0 x89,
0 x39,
0 xfa,
0 x2f,
0 x18,
0 xd0,
0 x89,
0 x44,
0 xbf,
0 x77,
0 xf3,
0 x7b,
0 x51,
0 x34,
0 x2f,
0 x0c,
0 x9f,
0 xdf,
0 xbf,
0 x62,
0 xdc,
0 x2f,
0 xdc,
0 x29,
0 xcb,
0 x9a,
0 x13,
0 x98,
0 x30,
0 x47,
0 x9e,
0 x01,
0 x01,
0 x02,
0 x81,
0 x81,
0 x00,
0 xf1,
0 x96,
0 xc3,
0 x72,
0 xf4,
0 xcd,
0 xfb,
0 x1e,
0 x08,
0 x2e,
0 x82,
0 x51,
0 xed,
0 xf1,
0 x6f,
0 x9c,
0 xb8,
0 xf3,
0 x6d,
0 xc4,
0 xd8,
0 xc5,
0 x09,
0 x62,
0 x23,
0 x35,
0 x1f,
0 x5d,
0 x4a,
0 xf7,
0 x6b,
0 xd4,
0 xe8,
0 xb6,
0 xf1,
0 x9d,
0 x40,
0 x63,
0 xe0,
0 x41,
0 x3d,
0 x2b,
0 xfa,
0 x50,
0 x12,
0 xa7,
0 x4f,
0 x93,
0 xe9,
0 x38,
0 x58,
0 xea,
0 xc5,
0 xf3,
0 x18,
0 xfe,
0 x3f,
0 xf3,
0 xa0,
0 xa7,
0 x48,
0 x69,
0 x85,
0 xf5,
0 xa6,
0 x18,
0 x1e,
0 x40,
0 x75,
0 xdc,
0 x1e,
0 xb0,
0 x75,
0 xa5,
0 x2f,
0 x32,
0 xa1,
0 xa1,
0 x7f,
0 xa5,
0 x32,
0 x52,
0 x37,
0 x66,
0 x1b,
0 xf2,
0 xff,
0 x64,
0 x97,
0 xf0,
0 xa1,
0 xd7,
0 x27,
0 x98,
0 x5d,
0 xa3,
0 x55,
0 x1a,
0 x67,
0 x81,
0 x2e,
0 x41,
0 xfd,
0 x1f,
0 xac,
0 x08,
0 x71,
0 x4c,
0 x43,
0 x31,
0 xab,
0 x35,
0 x8b,
0 xc5,
0 x54,
0 xce,
0 xc8,
0 x73,
0 x85,
0 xc9,
0 x6e,
0 x08,
0 xd1,
0 xa8,
0 x26,
0 x3f,
0 x70,
0 x51,
0 x02,
0 x81,
0 x81,
0 x00,
0 xc5,
0 x24,
0 xea,
0 x16,
0 x9d,
0 xcb,
0 x2c,
0 x7d,
0 x60,
0 xab,
0 xb2,
0 xe0,
0 xd6,
0 x12,
0 x87,
0 x94,
0 xef,
0 x56,
0 x61,
0 xdf,
0 xe6,
0 xc3,
0 xf7,
0 xa1,
0 x85,
0 xb3,
0 x6f,
0 x42,
0 x74,
0 x86,
0 xc7,
0 xa5,
0 xc6,
0 xf1,
0 x85,
0 x66,
0 x23,
0 x03,
0 xd4,
0 x4c,
0 xf3,
0 x2c,
0 x5b,
0 x18,
0 xfa,
0 x29,
0 x7b,
0 x1c,
0 xe8,
0 x19,
0 xc5,
0 x75,
0 x1d,
0 x7e,
0 xa3,
0 xf0,
0 x4d,
0 x6c,
0 xd3,
0 x17,
0 xd8,
0 x64,
0 x95,
0 x76,
0 xde,
0 xbc,
0 x68,
0 x33,
0 xd6,
0 x63,
0 xf6,
0 x5e,
0 x43,
0 x99,
0 x90,
0 x09,
0 x40,
0 xfc,
0 x58,
0 x5c,
0 x87,
0 x6e,
0 xde,
0 x1e,
0 x0f,
0 xb2,
0 x58,
0 x59,
0 x2d,
0 xdd,
0 xe9,
0 xf8,
0 x31,
0 x07,
0 x8d,
0 xbb,
0 x0b,
0 x0b,
0 xf6,
0 xaf,
0 x93,
0 x73,
0 x38,
0 x89,
0 x98,
0 xa6,
0 xd4,
0 x53,
0 x0f,
0 x04,
0 x93,
0 x2c,
0 xc0,
0 xa4,
0 x8b,
0 xdb,
0 x7c,
0 xac,
0 xa9,
0 x7a,
0 x18,
0 xff,
0 x29,
0 xe8,
0 xaf,
0 xe5,
0 xb4,
0 xe9,
0 x02,
0 x81,
0 x80,
0 x76,
0 x1e,
0 xbb,
0 xa3,
0 x3a,
0 x34,
0 x78,
0 x02,
0 x60,
0 x07,
0 xb5,
0 x6a,
0 x2f,
0 x87,
0 xab,
0 x85,
0 x9a,
0 x1c,
0 x53,
0 x60,
0 x3a,
0 x88,
0 x64,
0 x25,
0 x1a,
0 x87,
0 xbf,
0 xb5,
0 x12,
0 x91,
0 x54,
0 xa4,
0 xbd,
0 xbf,
0 xac,
0 xf4,
0 xb0,
0 xe5,
0 xe4,
0 x60,
0 xa1,
0 x73,
0 x1e,
0 x29,
0 x06,
0 x65,
0 xcd,
0 x8f,
0 xc9,
0 x28,
0 xe6,
0 xb8,
0 xab,
0 x5e,
0 x47,
0 xab,
0 x10,
0 x43,
0 xa3,
0 x1a,
0 x07,
0 x5a,
0 xa8,
0 xc7,
0 xc9,
0 x94,
0 xe3,
0 x3d,
0 xab,
0 x22,
0 x9b,
0 xd2,
0 xb5,
0 x42,
0 xb5,
0 x87,
0 xf0,
0 xe5,
0 x10,
0 x8f,
0 x09,
0 xc2,
0 x8f,
0 x19,
0 x9a,
0 xb2,
0 xbd,
0 xd2,
0 x46,
0 x43,
0 xbe,
0 x2d,
0 x7f,
0 x4b,
0 x8d,
0 x04,
0 xed,
0 xf8,
0 x42,
0 x01,
0 x34,
0 x47,
0 xc9,
0 x66,
0 x31,
0 xeb,
0 xd2,
0 xd1,
0 x71,
0 xcd,
0 x18,
0 x23,
0 xcf,
0 x1a,
0 x05,
0 x74,
0 x31,
0 x27,
0 xe2,
0 x92,
0 xf0,
0 xfc,
0 xd8,
0 xdd,
0 x79,
0 x0d,
0 xed,
0 x71,
0 x02,
0 x81,
0 x80,
0 x6e,
0 xc6,
0 x4c,
0 x46,
0 xc3,
0 x09,
0 x7c,
0 x09,
0 x43,
0 x3d,
0 x97,
0 x38,
0 xa0,
0 xf1,
0 x2e,
0 x7f,
0 xf0,
0 x70,
0 x30,
0 x74,
0 xd8,
0 x3d,
0 x3b,
0 x32,
0 xe6,
0 x66,
0 xa9,
0 xd8,
0 xc4,
0 x93,
0 x4b,
0 x31,
0 x8a,
0 x75,
0 x01,
0 xc9,
0 x1f,
0 x59,
0 xb2,
0 x7c,
0 x3e,
0 x93,
0 xa8,
0 xe8,
0 x83,
0 x00,
0 xb5,
0 xed,
0 xcb,
0 x39,
0 x57,
0 xeb,
0 x73,
0 xd4,
0 x4a,
0 x17,
0 xe7,
0 xd9,
0 x83,
0 x4f,
0 xbd,
0 xc6,
0 xde,
0 xf9,
0 x39,
0 x34,
0 xd2,
0 xb4,
0 x75,
0 xfe,
0 x1b,
0 x5c,
0 x62,
0 x4d,
0 xb2,
0 x52,
0 x90,
0 xd2,
0 x7a,
0 x70,
0 x1b,
0 xa5,
0 x9f,
0 x67,
0 x72,
0 xd8,
0 x7a,
0 xae,
0 x39,
0 x88,
0 x9d,
0 x44,
0 x59,
0 x80,
0 x6e,
0 x12,
0 x30,
0 xa5,
0 xdb,
0 x4a,
0 x52,
0 xe7,
0 x06,
0 x58,
0 xc2,
0 x8e,
0 xd3,
0 x75,
0 x8c,
0 x55,
0 xbc,
0 xc1,
0 x03,
0 xca,
0 x31,
0 xcf,
0 xf5,
0 xe1,
0 x2b,
0 x25,
0 xb1,
0 x50,
0 x07,
0 x63,
0 x79,
0 x1a,
0 xf0,
0 xa9,
0 x02,
0 x81,
0 x80,
0 x79,
0 xf1,
0 x03,
0 x53,
0 xd5,
0 x87,
0 xc7,
0 xde,
0 x34,
0 xba,
0 xdb,
0 xe9,
0 x93,
0 xda,
0 x95,
0 xea,
0 xa8,
0 xb8,
0 xcb,
0 xaa,
0 xfb,
0 x03,
0 xef,
0 x8d,
0 x95,
0 x62,
0 x71,
0 x68,
0 x1d,
0 x1f,
0 x87,
0 x04,
0 xe9,
0 xcd,
0 xf2,
0 xbc,
0 xb4,
0 x75,
0 xd6,
0 xb8,
0 x96,
0 x0c,
0 x0c,
0 xd7,
0 x4e,
0 x8b,
0 xe4,
0 x58,
0 x12,
0 x83,
0 xd0,
0 xce,
0 x66,
0 xf0,
0 x12,
0 x67,
0 xe4,
0 x06,
0 x16,
0 x4f,
0 x90,
0 x55,
0 x0b,
0 xfe,
0 x73,
0 xbe,
0 xc0,
0 x49,
0 x6a,
0 x6e,
0 x86,
0 x60,
0 x66,
0 x6a,
0 x66,
0 x42,
0 xaf,
0 x06,
0 x57,
0 xae,
0 xaf,
0 x57,
0 x73,
0 xdd,
0 x91,
0 x0c,
0 xf9,
0 x0a,
0 x16,
0 xa9,
0 xcf,
0 xf4,
0 xc5,
0 x6f,
0 xd3,
0 xa8,
0 x58,
0 x28,
0 xda,
0 x74,
0 x9a,
0 x84,
0 x9d,
0 x33,
0 xc7,
0 x48,
0 x68,
0 xce,
0 xae,
0 x4a,
0 x8c,
0 x2c,
0 xfe,
0 xbf,
0 xda,
0 x0e,
0 xce,
0 x28,
0 xb9,
0 xdb,
0 x9b,
0 xcf,
0 x6e,
0 xa8,
0 xe4,
0 x60,
0 xca,
0 x98};
static void InstallServerCertificate(PRFileDesc* fd,
const uint8_t* certData,
size_t certLen,
const uint8_t* keyData,
size_t keyLen) {
ScopedPK11SlotInfo slot(PK11_GetInternalSlot());
assert(slot);
SECItem certItem = {siBuffer, toUcharPtr(certData),
static_cast <
unsigned int >(certLen)};
SECItem pkcs8Item = {siBuffer, toUcharPtr(keyData),
static_cast <
unsigned int >(keyLen)};
// Import the certificate.
static CERTCertDBHandle* certDB = CERT_GetDefaultCertDB();
ScopedCERTCertificate cert(
CERT_NewTempCertificate(certDB, &certItem, nullptr,
false ,
true ));
assert(cert);
// Import the private key.
SECKEYPrivateKey* key = nullptr;
SECStatus rv = PK11_ImportDERPrivateKeyInfoAndReturnKey(
slot.get(), &pkcs8Item, nullptr, nullptr,
false ,
false , KU_ALL, &key,
nullptr);
assert(rv == SECSuccess);
// Adopt the private key to ensure it's freed.
ScopedSECKEYPrivateKey privKey(key);
// Configure server with the imported key and certificate.
rv = SSL_ConfigServerCert(fd, cert.get(), privKey.get(), nullptr,
0 );
assert(rv == SECSuccess);
}
namespace TlsServer {
void InstallServerCertificates(PRFileDesc* fd) {
// ECDSA P-256 certificate.
InstallServerCertificate(fd, kP256ServerCert,
sizeof (kP256ServerCert),
kP256ServerKey,
sizeof (kP256ServerKey));
// RSA-2048 certificate.
InstallServerCertificate(fd, kRsaServerCert,
sizeof (kRsaServerCert),
kRsaServerKey,
sizeof (kRsaServerKey));
// TODO(mdauer): Install more different cerificate types.
}
}
// namespace TlsServer
Messung V0.5 in Prozent C=98 H=100 G=98
¤ Dauer der Verarbeitung: 0.20 Sekunden
(vorverarbeitet am 2026-06-06)
¤
*© Formatika GbR, Deutschland