/* Copyright (c) 2011, Code Aurora Forum. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *     * Redistributions of source code must retain the above copyright
 *       notice, this list of conditions and the following disclaimer.
 *     * Redistributions in binary form must reproduce the above
 *       copyright notice, this list of conditions and the following
 *       disclaimer in the documentation and/or other materials provided
 *       with the distribution.
 *     * Neither the name of Code Aurora Forum, Inc. nor the names of its
 *       contributors may be used to endorse or promote products derived
 *       from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
 * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 */
#include <certificate.h>

const char certBuffer [CERTIFICATE_SIZE] ={
0x30, 0x82, 0x02, 0xd0, 0x30, 0x82, 0x01, 0xb8, 0x02, 0x01, 0x05, 0x30, 0x0d,
 0x06, 0x09, 0x2a,
0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x2f, 0x31,
 0x0b, 0x30, 0x09,
0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x0b, 0x30, 0x09,
 0x06, 0x03, 0x55,
0x04, 0x08, 0x0c, 0x02, 0x43, 0x41, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55,
 0x04, 0x0a, 0x0c,
0x0a, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x20, 0x4c, 0x4b, 0x30, 0x1e,
 0x17, 0x0d, 0x31,
0x31, 0x30, 0x38, 0x30, 0x31, 0x31, 0x34, 0x35, 0x35, 0x33, 0x35, 0x5a, 0x17,
 0x0d, 0x33, 0x32,
0x30, 0x32, 0x31, 0x32, 0x31, 0x34, 0x35, 0x35, 0x33, 0x35, 0x5a, 0x30, 0x2f,
 0x31, 0x0b, 0x30,
0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x0b, 0x30,
 0x09, 0x06, 0x03,
0x55, 0x04, 0x08, 0x0c, 0x02, 0x43, 0x41, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03,
 0x55, 0x04, 0x0a,
0x0c, 0x0a, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x20, 0x4c, 0x4b, 0x30,
 0x82, 0x01, 0x20,
0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01,
 0x05, 0x00, 0x03,
0x82, 0x01, 0x0d, 0x00, 0x30, 0x82, 0x01, 0x08, 0x02, 0x82, 0x01, 0x01, 0x00,
 0xc8, 0x82, 0x09,
0x43, 0x84, 0x33, 0x91, 0xfa, 0xca, 0xa1, 0x43, 0xc1, 0x92, 0xa9, 0x26, 0x0c,
 0xe2, 0x15, 0xab,
0x71, 0xfa, 0x85, 0x97, 0x5f, 0xf0, 0xcd, 0x66, 0xeb, 0x7f, 0x0b, 0xc1, 0x01,
 0x8e, 0x8e, 0x1b,
0xfa, 0xaa, 0x82, 0x21, 0xd3, 0x1d, 0x3b, 0x0a, 0x91, 0x0e, 0xcd, 0x85, 0xa0,
 0x4d, 0xd7, 0xed,
0x27, 0x72, 0xa6, 0xb1, 0x26, 0x8e, 0xe9, 0x5f, 0x57, 0x77, 0x3d, 0x93, 0x79,
 0x38, 0xde, 0xac,
0xa1, 0xc9, 0xd1, 0xcc, 0x42, 0x04, 0x53, 0x88, 0x64, 0xac, 0xaa, 0xab, 0xfc,
 0xb7, 0xf0, 0x32,
0x2d, 0xb0, 0xf4, 0xe1, 0x35, 0x58, 0xdf, 0x5e, 0x8a, 0x47, 0x28, 0x2b, 0xa9,
 0xda, 0x54, 0xd3,
0xbc, 0x0a, 0x12, 0x5f, 0x76, 0x5e, 0x16, 0xab, 0xf5, 0x9d, 0x11, 0x8f, 0x36,
 0x99, 0x3a, 0x1c,
0x76, 0x95, 0x31, 0xa9, 0x92, 0x86, 0x81, 0xcc, 0x56, 0x56, 0x52, 0xe2, 0x70,
 0xf4, 0xb3, 0x99,
0xe7, 0x2e, 0xdd, 0x9d, 0x33, 0xad, 0x22, 0x8a, 0x10, 0x17, 0x53, 0xf2, 0x6a,
 0x85, 0x80, 0xad,
0x14, 0xd3, 0xa2, 0xd3, 0xe2, 0x37, 0x8a, 0x4c, 0xdd, 0xa2, 0xdb, 0x46, 0x32,
 0xa9, 0x23, 0x46,
0x1a, 0xd5, 0x86, 0xec, 0x39, 0x98, 0x06, 0xd0, 0x4f, 0xe8, 0x6f, 0x02, 0x90,
 0x05, 0x76, 0x3b,
0x8b, 0xfc, 0x86, 0x8d, 0xa1, 0x3d, 0x58, 0x80, 0xc7, 0x9e, 0x53, 0xd0, 0xa2,
 0xb8, 0xbb, 0xc7,
0x13, 0x35, 0xcd, 0x6f, 0xc2, 0x07, 0xad, 0xa2, 0xe1, 0x82, 0x12, 0xf1, 0xbc,
 0x4f, 0x19, 0x00,
0x0f, 0x9d, 0x9f, 0x9d, 0x01, 0x43, 0x24, 0xac, 0xe6, 0x30, 0x11, 0x38, 0xae,
 0xa6, 0xb7, 0x47,
0xb3, 0x71, 0x8b, 0x79, 0x46, 0xd4, 0x3b, 0x7d, 0xf0, 0x6c, 0x84, 0xa2, 0x58,
 0xb4, 0xe3, 0x86,
0x8f, 0xb8, 0xfc, 0xf9, 0xcb, 0x1c, 0x30, 0x17, 0x1e, 0x34, 0xc3, 0x98, 0xa3,
 0x02, 0x01, 0x03,
0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05,
 0x05, 0x00, 0x03,
0x82, 0x01, 0x01, 0x00, 0x21, 0xe0, 0x4c, 0x79, 0x9c, 0x54, 0x81, 0x0b, 0x76,
 0xe6, 0x0d, 0x6d,
0x14, 0xba, 0x47, 0x2f, 0xb1, 0x3d, 0xdf, 0x00, 0xbe, 0xa6, 0x0b, 0xb2, 0x6e,
 0x7e, 0x1c, 0x8b,
0x4d, 0x77, 0xd3, 0xdb, 0x48, 0x1e, 0xa0, 0x6a, 0x3d, 0x01, 0x63, 0x97, 0xde,
 0xfa, 0xdd, 0xc1,
0xf9, 0x4d, 0x22, 0xdf, 0xcf, 0xb1, 0x7c, 0x30, 0x32, 0xd5, 0xe9, 0xb3, 0x72,
 0x9f, 0xfe, 0x1d,
0x9a, 0x71, 0x6d, 0x24, 0x54, 0x39, 0xaf, 0xf1, 0x6c, 0x24, 0x0f, 0xfd, 0x08,
 0x88, 0x84, 0x4d,
0x2e, 0x7b, 0x11, 0xc2, 0x4d, 0xfd, 0x9b, 0x00, 0x3e, 0x02, 0x9f, 0x23, 0x76,
 0x3d, 0xef, 0x6a,
0x66, 0x64, 0x34, 0x3e, 0x3b, 0xa6, 0x31, 0x5f, 0x69, 0xeb, 0xf0, 0xcd, 0x89,
 0xc1, 0xe9, 0x1c,
0xe0, 0x8d, 0xed, 0x05, 0x68, 0x5b, 0xc1, 0xe7, 0x79, 0xac, 0x83, 0x29, 0xc9,
 0x60, 0x13, 0xe6,
0x66, 0x36, 0xb1, 0xf0, 0x04, 0x0d, 0x88, 0x7c, 0x89, 0xb1, 0xf4, 0xc1, 0xca,
 0x5a, 0x25, 0x13,
0xc1, 0xaf, 0x8c, 0x45, 0x1b, 0x59, 0xbe, 0x35, 0xe0, 0xbe, 0x9c, 0x4c, 0xc6,
 0xb0, 0x59, 0x27,
0xd9, 0xac, 0x6e, 0xf8, 0x35, 0x0c, 0xf7, 0x8a, 0xcc, 0xba, 0x39, 0x48, 0x6e,
 0x04, 0xd9, 0x6d,
0x41, 0x4a, 0x81, 0x32, 0x96, 0x29, 0xc6, 0xe2, 0x20, 0xca, 0xed, 0xc0, 0x44,
 0x6c, 0xd3, 0xe9,
0xea, 0x52, 0xa8, 0x1d, 0x5b, 0x9f, 0x84, 0xe8, 0x57, 0xd7, 0x21, 0xa9, 0xa8,
 0x0d, 0x9d, 0x05,
0xa4, 0xd2, 0xb2, 0x54, 0xec, 0x07, 0x22, 0x3c, 0x64, 0x54, 0xa4, 0xfd, 0xb0,
 0x8d, 0xe4, 0xf7,
0x40, 0xe1, 0x41, 0xdc, 0xf7, 0x98, 0x65, 0x3d, 0x9f, 0xd1, 0x28, 0x23, 0x03,
 0x91, 0x6b, 0xab,
0x52, 0x04, 0x3b, 0xe1, 0x4e, 0x64, 0xea, 0x3b, 0xea, 0x6f, 0x30, 0xad, 0x2c,
 0x4a, 0x0e, 0xe2,
0x79, 0x9c, 0xd3, 0x83};
