]> git.saurik.com Git - apple/security.git/blob - OSX/sec/Security/Regressions/secitem/si-63-scep.c
Security-57740.20.22.tar.gz
[apple/security.git] / OSX / sec / Security / Regressions / secitem / si-63-scep.c
1 /*
2 * Copyright (c) 2008,2012-2014 Apple Inc. All Rights Reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. Please obtain a copy of the License at
10 * http://www.opensource.apple.com/apsl/ and read it before using this
11 * file.
12 *
13 * The Original Code and all software distributed under the License are
14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
18 * Please see the License for the specific language governing rights and
19 * limitations under the License.
20 *
21 * @APPLE_LICENSE_HEADER_END@
22 */
23
24 #include <Security/SecInternal.h>
25 #include <Security/SecCMS.h>
26 #include <Security/SecSCEP.h>
27 #include <Security/SecItem.h>
28 #include <Security/SecItemPriv.h>
29 #include <Security/SecIdentityPriv.h>
30 #include <utilities/array_size.h>
31
32 #include <CommonCrypto/CommonDigest.h>
33 #include <CoreFoundation/CoreFoundation.h>
34 #include <stdlib.h>
35 #include <unistd.h>
36 #include <AssertMacros.h>
37
38 #include "Security_regressions.h"
39 #include <test/testcert.h>
40
41 static uint8_t msscep_getcacert[] = {
42 0x30, 0x82, 0x10, 0x8d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
43 0x01, 0x07, 0x02, 0xa0, 0x82, 0x10, 0x7e, 0x30, 0x82, 0x10, 0x7a, 0x02,
44 0x01, 0x01, 0x31, 0x00, 0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
45 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x10, 0x62, 0x30, 0x82, 0x05,
46 0xcc, 0x30, 0x82, 0x04, 0xb4, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x0a,
47 0x61, 0x0c, 0x81, 0xa9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x30, 0x0d,
48 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05,
49 0x00, 0x30, 0x4e, 0x31, 0x13, 0x30, 0x11, 0x06, 0x0a, 0x09, 0x92, 0x26,
50 0x89, 0x93, 0xf2, 0x2c, 0x64, 0x01, 0x19, 0x16, 0x03, 0x63, 0x6f, 0x6d,
51 0x31, 0x18, 0x30, 0x16, 0x06, 0x0a, 0x09, 0x92, 0x26, 0x89, 0x93, 0xf2,
52 0x2c, 0x64, 0x01, 0x19, 0x16, 0x08, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65,
53 0x73, 0x74, 0x31, 0x1d, 0x30, 0x1b, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13,
54 0x14, 0x71, 0x61, 0x73, 0x72, 0x76, 0x31, 0x30, 0x2e, 0x69, 0x76, 0x70,
55 0x6e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x1e, 0x17,
56 0x0d, 0x30, 0x39, 0x30, 0x32, 0x31, 0x37, 0x32, 0x32, 0x33, 0x35, 0x35,
57 0x35, 0x5a, 0x17, 0x0d, 0x31, 0x31, 0x30, 0x32, 0x31, 0x37, 0x32, 0x32,
58 0x33, 0x35, 0x35, 0x35, 0x5a, 0x30, 0x81, 0x8a, 0x31, 0x0b, 0x30, 0x09,
59 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x0b, 0x30,
60 0x09, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x02, 0x63, 0x61, 0x31, 0x12,
61 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x09, 0x63, 0x75, 0x70,
62 0x65, 0x72, 0x74, 0x69, 0x6e, 0x6f, 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03,
63 0x55, 0x04, 0x0a, 0x13, 0x08, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73,
64 0x74, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x02,
65 0x71, 0x61, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13,
66 0x0c, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x63, 0x6f,
67 0x6d, 0x31, 0x23, 0x30, 0x21, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
68 0x0d, 0x01, 0x09, 0x01, 0x16, 0x14, 0x71, 0x61, 0x61, 0x64, 0x6d, 0x69,
69 0x6e, 0x40, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x63,
70 0x6f, 0x6d, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48,
71 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00,
72 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0x93, 0x67, 0x34, 0x15, 0xe9,
73 0x97, 0x97, 0x74, 0xbf, 0x0e, 0x1c, 0xd8, 0x44, 0x00, 0x0d, 0x42, 0x7a,
74 0x3d, 0xd1, 0xea, 0xc8, 0x95, 0xc0, 0x6b, 0x93, 0x6c, 0x6d, 0x87, 0x4a,
75 0x21, 0xf5, 0xbf, 0x16, 0x10, 0x19, 0x44, 0x2f, 0xd2, 0xd6, 0x87, 0x55,
76 0x52, 0x04, 0xb0, 0x0b, 0x3e, 0x49, 0xb7, 0x9c, 0x2b, 0x01, 0xc8, 0x6c,
77 0x3e, 0x56, 0xb5, 0xd2, 0x20, 0x29, 0x0f, 0x25, 0x04, 0xcb, 0x59, 0xce,
78 0x37, 0x69, 0xcf, 0x4e, 0x05, 0x06, 0x2d, 0xac, 0xaf, 0x33, 0xee, 0x4e,
79 0xce, 0xe1, 0x55, 0x46, 0xc6, 0x5c, 0x68, 0x56, 0xda, 0xd6, 0x0a, 0x6e,
80 0xeb, 0xdb, 0x4d, 0xf6, 0xef, 0x0d, 0xcf, 0x1e, 0x43, 0xfa, 0xc2, 0xe2,
81 0xfa, 0x87, 0xe0, 0x31, 0x16, 0x46, 0x97, 0x12, 0x26, 0xdc, 0x94, 0x16,
82 0x73, 0xb0, 0xcf, 0xad, 0x7d, 0x7d, 0x8b, 0xb8, 0xf5, 0xd1, 0x89, 0x50,
83 0x12, 0x1d, 0x49, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x02, 0xf1,
84 0x30, 0x82, 0x02, 0xed, 0x30, 0x0b, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x04,
85 0x04, 0x03, 0x02, 0x07, 0x80, 0x30, 0x15, 0x06, 0x03, 0x55, 0x1d, 0x25,
86 0x04, 0x0e, 0x30, 0x0c, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82,
87 0x37, 0x14, 0x02, 0x01, 0x30, 0x3b, 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04,
88 0x01, 0x82, 0x37, 0x14, 0x02, 0x04, 0x2e, 0x1e, 0x2c, 0x00, 0x45, 0x00,
89 0x6e, 0x00, 0x72, 0x00, 0x6f, 0x00, 0x6c, 0x00, 0x6c, 0x00, 0x6d, 0x00,
90 0x65, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x41, 0x00, 0x67, 0x00, 0x65, 0x00,
91 0x6e, 0x00, 0x74, 0x00, 0x4f, 0x00, 0x66, 0x00, 0x66, 0x00, 0x6c, 0x00,
92 0x69, 0x00, 0x6e, 0x00, 0x65, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e,
93 0x04, 0x16, 0x04, 0x14, 0xb3, 0xd0, 0xef, 0xb6, 0xe0, 0x3b, 0x3b, 0x39,
94 0xf8, 0x5a, 0x33, 0x07, 0x2f, 0x19, 0xd9, 0xcd, 0xdd, 0xe3, 0xf9, 0x1e,
95 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80,
96 0x14, 0x40, 0xb5, 0x54, 0x10, 0x88, 0x09, 0xeb, 0x3e, 0x2e, 0x69, 0x82,
97 0xa6, 0xa0, 0xd8, 0xe4, 0xb0, 0x98, 0xc1, 0x69, 0x3d, 0x30, 0x82, 0x01,
98 0x19, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x82, 0x01, 0x10, 0x30, 0x82,
99 0x01, 0x0c, 0x30, 0x82, 0x01, 0x08, 0xa0, 0x82, 0x01, 0x04, 0xa0, 0x82,
100 0x01, 0x00, 0x86, 0x81, 0xbc, 0x6c, 0x64, 0x61, 0x70, 0x3a, 0x2f, 0x2f,
101 0x2f, 0x43, 0x4e, 0x3d, 0x71, 0x61, 0x73, 0x72, 0x76, 0x31, 0x30, 0x2e,
102 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d,
103 0x2c, 0x43, 0x4e, 0x3d, 0x71, 0x61, 0x73, 0x72, 0x76, 0x31, 0x30, 0x2c,
104 0x43, 0x4e, 0x3d, 0x43, 0x44, 0x50, 0x2c, 0x43, 0x4e, 0x3d, 0x50, 0x75,
105 0x62, 0x6c, 0x69, 0x63, 0x25, 0x32, 0x30, 0x4b, 0x65, 0x79, 0x25, 0x32,
106 0x30, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2c, 0x43, 0x4e,
107 0x3d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2c, 0x43, 0x4e,
108 0x3d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69,
109 0x6f, 0x6e, 0x2c, 0x44, 0x43, 0x3d, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65,
110 0x73, 0x74, 0x2c, 0x44, 0x43, 0x3d, 0x63, 0x6f, 0x6d, 0x3f, 0x63, 0x65,
111 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x76,
112 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x3f,
113 0x62, 0x61, 0x73, 0x65, 0x3f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43,
114 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x63, 0x52, 0x4c, 0x44, 0x69, 0x73, 0x74,
115 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x69, 0x6e,
116 0x74, 0x86, 0x3f, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x71, 0x61,
117 0x73, 0x72, 0x76, 0x31, 0x30, 0x2e, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65,
118 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x65, 0x72, 0x74, 0x45,
119 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x2f, 0x71, 0x61, 0x73, 0x72, 0x76, 0x31,
120 0x30, 0x2e, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x63,
121 0x6f, 0x6d, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x82, 0x01, 0x2b, 0x06, 0x08,
122 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x82, 0x01, 0x1d,
123 0x30, 0x82, 0x01, 0x19, 0x30, 0x81, 0xb4, 0x06, 0x08, 0x2b, 0x06, 0x01,
124 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x81, 0xa7, 0x6c, 0x64, 0x61, 0x70,
125 0x3a, 0x2f, 0x2f, 0x2f, 0x43, 0x4e, 0x3d, 0x71, 0x61, 0x73, 0x72, 0x76,
126 0x31, 0x30, 0x2e, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x2e,
127 0x63, 0x6f, 0x6d, 0x2c, 0x43, 0x4e, 0x3d, 0x41, 0x49, 0x41, 0x2c, 0x43,
128 0x4e, 0x3d, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x25, 0x32, 0x30, 0x4b,
129 0x65, 0x79, 0x25, 0x32, 0x30, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
130 0x73, 0x2c, 0x43, 0x4e, 0x3d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
131 0x73, 0x2c, 0x43, 0x4e, 0x3d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75,
132 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x44, 0x43, 0x3d, 0x69, 0x76,
133 0x70, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x2c, 0x44, 0x43, 0x3d, 0x63, 0x6f,
134 0x6d, 0x3f, 0x63, 0x41, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63,
135 0x61, 0x74, 0x65, 0x3f, 0x62, 0x61, 0x73, 0x65, 0x3f, 0x6f, 0x62, 0x6a,
136 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x63, 0x65, 0x72,
137 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x75,
138 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x30, 0x60, 0x06, 0x08, 0x2b,
139 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x54, 0x68, 0x74, 0x74,
140 0x70, 0x3a, 0x2f, 0x2f, 0x71, 0x61, 0x73, 0x72, 0x76, 0x31, 0x30, 0x2e,
141 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d,
142 0x2f, 0x43, 0x65, 0x72, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x2f,
143 0x71, 0x61, 0x73, 0x72, 0x76, 0x31, 0x30, 0x2e, 0x69, 0x76, 0x70, 0x6e,
144 0x74, 0x65, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x5f, 0x71, 0x61, 0x73,
145 0x72, 0x76, 0x31, 0x30, 0x2e, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73,
146 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x72, 0x74, 0x30, 0x0d, 0x06,
147 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00,
148 0x03, 0x82, 0x01, 0x01, 0x00, 0x7e, 0x74, 0xff, 0x77, 0xd7, 0x2e, 0x43,
149 0x11, 0xcf, 0xef, 0xb3, 0xdd, 0x98, 0xae, 0x9a, 0xa3, 0x13, 0xc3, 0x07,
150 0x37, 0x0e, 0xe5, 0x2c, 0x50, 0xa1, 0x5e, 0xe2, 0xa6, 0x94, 0x45, 0x2a,
151 0x00, 0x9d, 0xee, 0x53, 0x67, 0x10, 0x6b, 0x13, 0xc5, 0xf9, 0x1c, 0x88,
152 0x70, 0x3c, 0x73, 0x5f, 0x98, 0x2b, 0x05, 0x51, 0xf7, 0x67, 0xf6, 0xa6,
153 0x5b, 0xcb, 0xb6, 0x1c, 0xc2, 0x85, 0xef, 0x1e, 0xcd, 0x25, 0x5f, 0xfa,
154 0xba, 0xcd, 0x89, 0xf7, 0x93, 0xfe, 0x9f, 0xd6, 0xdd, 0x2c, 0x4c, 0xd5,
155 0x33, 0xec, 0xd7, 0xef, 0x6e, 0xc8, 0x0b, 0x9b, 0x8b, 0x4e, 0x75, 0x91,
156 0x0b, 0x4e, 0x96, 0x81, 0x4d, 0xee, 0x06, 0x55, 0x41, 0xfc, 0xc5, 0x2a,
157 0xa6, 0x53, 0x97, 0xb6, 0xce, 0x61, 0x22, 0x93, 0xa8, 0x71, 0x04, 0x51,
158 0xa7, 0xa8, 0x87, 0xee, 0x72, 0xb7, 0x0f, 0xa4, 0x5e, 0x6e, 0xc2, 0xcd,
159 0xfa, 0x00, 0xf8, 0x9c, 0xe5, 0xcc, 0x61, 0xce, 0x88, 0xf0, 0x55, 0xb6,
160 0xff, 0xac, 0xdb, 0xeb, 0xe6, 0xcc, 0x89, 0x7e, 0xea, 0x29, 0x7f, 0x9f,
161 0x01, 0x54, 0x8a, 0x65, 0x60, 0x31, 0xe3, 0xaa, 0xa1, 0x68, 0x16, 0x50,
162 0x7e, 0xe1, 0x9b, 0x04, 0x7f, 0xc5, 0x15, 0x77, 0xfe, 0xbd, 0xfa, 0xac,
163 0x92, 0xcb, 0x0a, 0xc2, 0x3a, 0xbc, 0xec, 0x4e, 0xc4, 0x3a, 0x9f, 0x4d,
164 0xdd, 0x2a, 0x03, 0xe3, 0x22, 0xc0, 0x66, 0x5a, 0x5c, 0x7f, 0x4c, 0x8a,
165 0x58, 0x3e, 0x90, 0x79, 0x96, 0x16, 0x1d, 0x6f, 0x53, 0x43, 0x69, 0xfe,
166 0xb6, 0x0a, 0x18, 0x8f, 0xbf, 0xb4, 0xb8, 0x99, 0xc5, 0x09, 0x20, 0x97,
167 0x10, 0x18, 0xde, 0x57, 0x54, 0x24, 0x95, 0xeb, 0xce, 0x99, 0x01, 0xdd,
168 0x42, 0xc0, 0x67, 0x0b, 0x8c, 0xdb, 0x1c, 0x77, 0x86, 0x63, 0x9d, 0x87,
169 0xf6, 0xff, 0xcf, 0xc5, 0x38, 0xff, 0x6e, 0xb6, 0x05, 0x30, 0x82, 0x05,
170 0xf2, 0x30, 0x82, 0x04, 0xda, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x0a,
171 0x61, 0x0c, 0x83, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x30, 0x0d,
172 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05,
173 0x00, 0x30, 0x4e, 0x31, 0x13, 0x30, 0x11, 0x06, 0x0a, 0x09, 0x92, 0x26,
174 0x89, 0x93, 0xf2, 0x2c, 0x64, 0x01, 0x19, 0x16, 0x03, 0x63, 0x6f, 0x6d,
175 0x31, 0x18, 0x30, 0x16, 0x06, 0x0a, 0x09, 0x92, 0x26, 0x89, 0x93, 0xf2,
176 0x2c, 0x64, 0x01, 0x19, 0x16, 0x08, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65,
177 0x73, 0x74, 0x31, 0x1d, 0x30, 0x1b, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13,
178 0x14, 0x71, 0x61, 0x73, 0x72, 0x76, 0x31, 0x30, 0x2e, 0x69, 0x76, 0x70,
179 0x6e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x1e, 0x17,
180 0x0d, 0x30, 0x39, 0x30, 0x32, 0x31, 0x37, 0x32, 0x32, 0x33, 0x35, 0x35,
181 0x36, 0x5a, 0x17, 0x0d, 0x31, 0x31, 0x30, 0x32, 0x31, 0x37, 0x32, 0x32,
182 0x33, 0x35, 0x35, 0x36, 0x5a, 0x30, 0x81, 0x8a, 0x31, 0x0b, 0x30, 0x09,
183 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x0b, 0x30,
184 0x09, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x02, 0x63, 0x61, 0x31, 0x12,
185 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x09, 0x63, 0x75, 0x70,
186 0x65, 0x72, 0x74, 0x69, 0x6e, 0x6f, 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03,
187 0x55, 0x04, 0x0a, 0x13, 0x08, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73,
188 0x74, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x02,
189 0x71, 0x61, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13,
190 0x0c, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x63, 0x6f,
191 0x6d, 0x31, 0x23, 0x30, 0x21, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
192 0x0d, 0x01, 0x09, 0x01, 0x16, 0x14, 0x71, 0x61, 0x61, 0x64, 0x6d, 0x69,
193 0x6e, 0x40, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x63,
194 0x6f, 0x6d, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48,
195 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00,
196 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xa6, 0xf2, 0x65, 0xbe, 0xc6,
197 0xb3, 0x53, 0xc2, 0x94, 0x89, 0xef, 0xca, 0x3a, 0x1d, 0x08, 0x64, 0x19,
198 0x96, 0x5c, 0x8d, 0xc3, 0x15, 0x9b, 0xe5, 0x68, 0x86, 0x7d, 0xff, 0xf9,
199 0xa1, 0xa5, 0x7b, 0x85, 0x8c, 0x14, 0x41, 0xf3, 0xe1, 0x6a, 0x17, 0xff,
200 0xaf, 0x01, 0xb0, 0xbb, 0x64, 0x5d, 0xf0, 0xb8, 0x34, 0x10, 0x41, 0x3e,
201 0xee, 0x43, 0x87, 0x47, 0x4a, 0x5e, 0xc2, 0x2c, 0xe8, 0xcb, 0x23, 0x14,
202 0x9d, 0x92, 0xad, 0xe2, 0xaa, 0x53, 0xbd, 0xfa, 0xaf, 0x7a, 0x11, 0x64,
203 0xeb, 0xb2, 0xf2, 0xd6, 0xdb, 0xd2, 0x77, 0xef, 0x74, 0xb2, 0x67, 0x1b,
204 0xc7, 0xa4, 0x2e, 0x97, 0x80, 0x46, 0x92, 0xaf, 0x32, 0x18, 0x90, 0x46,
205 0x57, 0x86, 0x2d, 0x97, 0x4d, 0x11, 0x48, 0xc5, 0x43, 0x23, 0x3e, 0x6b,
206 0x0d, 0x32, 0x3e, 0xd0, 0xba, 0xf0, 0x20, 0x60, 0x0e, 0x02, 0x47, 0xae,
207 0x58, 0xb4, 0x5b, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x03, 0x17,
208 0x30, 0x82, 0x03, 0x13, 0x30, 0x0b, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x04,
209 0x04, 0x03, 0x02, 0x05, 0x20, 0x30, 0x36, 0x06, 0x09, 0x2a, 0x86, 0x48,
210 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x0f, 0x04, 0x29, 0x30, 0x27, 0x30, 0x0d,
211 0x06, 0x08, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x03, 0x02, 0x02, 0x01,
212 0x38, 0x30, 0x0d, 0x06, 0x08, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x03,
213 0x04, 0x02, 0x01, 0x38, 0x30, 0x07, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02,
214 0x07, 0x30, 0x15, 0x06, 0x03, 0x55, 0x1d, 0x25, 0x04, 0x0e, 0x30, 0x0c,
215 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x14, 0x02, 0x01,
216 0x30, 0x29, 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x14,
217 0x02, 0x04, 0x1c, 0x1e, 0x1a, 0x00, 0x43, 0x00, 0x45, 0x00, 0x50, 0x00,
218 0x45, 0x00, 0x6e, 0x00, 0x63, 0x00, 0x72, 0x00, 0x79, 0x00, 0x70, 0x00,
219 0x74, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x6e, 0x30, 0x1d, 0x06, 0x03, 0x55,
220 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xe0, 0xfc, 0xd6, 0xa7, 0xca, 0xab,
221 0x38, 0x38, 0x6b, 0x79, 0x6f, 0x63, 0xb7, 0xfd, 0xc4, 0xbd, 0xb2, 0xc3,
222 0x68, 0x03, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30,
223 0x16, 0x80, 0x14, 0x40, 0xb5, 0x54, 0x10, 0x88, 0x09, 0xeb, 0x3e, 0x2e,
224 0x69, 0x82, 0xa6, 0xa0, 0xd8, 0xe4, 0xb0, 0x98, 0xc1, 0x69, 0x3d, 0x30,
225 0x82, 0x01, 0x19, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x82, 0x01, 0x10,
226 0x30, 0x82, 0x01, 0x0c, 0x30, 0x82, 0x01, 0x08, 0xa0, 0x82, 0x01, 0x04,
227 0xa0, 0x82, 0x01, 0x00, 0x86, 0x81, 0xbc, 0x6c, 0x64, 0x61, 0x70, 0x3a,
228 0x2f, 0x2f, 0x2f, 0x43, 0x4e, 0x3d, 0x71, 0x61, 0x73, 0x72, 0x76, 0x31,
229 0x30, 0x2e, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x63,
230 0x6f, 0x6d, 0x2c, 0x43, 0x4e, 0x3d, 0x71, 0x61, 0x73, 0x72, 0x76, 0x31,
231 0x30, 0x2c, 0x43, 0x4e, 0x3d, 0x43, 0x44, 0x50, 0x2c, 0x43, 0x4e, 0x3d,
232 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x25, 0x32, 0x30, 0x4b, 0x65, 0x79,
233 0x25, 0x32, 0x30, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2c,
234 0x43, 0x4e, 0x3d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2c,
235 0x43, 0x4e, 0x3d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61,
236 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x44, 0x43, 0x3d, 0x69, 0x76, 0x70, 0x6e,
237 0x74, 0x65, 0x73, 0x74, 0x2c, 0x44, 0x43, 0x3d, 0x63, 0x6f, 0x6d, 0x3f,
238 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52,
239 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73,
240 0x74, 0x3f, 0x62, 0x61, 0x73, 0x65, 0x3f, 0x6f, 0x62, 0x6a, 0x65, 0x63,
241 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x63, 0x52, 0x4c, 0x44, 0x69,
242 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f,
243 0x69, 0x6e, 0x74, 0x86, 0x3f, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f,
244 0x71, 0x61, 0x73, 0x72, 0x76, 0x31, 0x30, 0x2e, 0x69, 0x76, 0x70, 0x6e,
245 0x74, 0x65, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x65, 0x72,
246 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x2f, 0x71, 0x61, 0x73, 0x72,
247 0x76, 0x31, 0x30, 0x2e, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73, 0x74,
248 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x82, 0x01, 0x2b,
249 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x82,
250 0x01, 0x1d, 0x30, 0x82, 0x01, 0x19, 0x30, 0x81, 0xb4, 0x06, 0x08, 0x2b,
251 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x81, 0xa7, 0x6c, 0x64,
252 0x61, 0x70, 0x3a, 0x2f, 0x2f, 0x2f, 0x43, 0x4e, 0x3d, 0x71, 0x61, 0x73,
253 0x72, 0x76, 0x31, 0x30, 0x2e, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73,
254 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2c, 0x43, 0x4e, 0x3d, 0x41, 0x49, 0x41,
255 0x2c, 0x43, 0x4e, 0x3d, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x25, 0x32,
256 0x30, 0x4b, 0x65, 0x79, 0x25, 0x32, 0x30, 0x53, 0x65, 0x72, 0x76, 0x69,
257 0x63, 0x65, 0x73, 0x2c, 0x43, 0x4e, 0x3d, 0x53, 0x65, 0x72, 0x76, 0x69,
258 0x63, 0x65, 0x73, 0x2c, 0x43, 0x4e, 0x3d, 0x43, 0x6f, 0x6e, 0x66, 0x69,
259 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x44, 0x43, 0x3d,
260 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x2c, 0x44, 0x43, 0x3d,
261 0x63, 0x6f, 0x6d, 0x3f, 0x63, 0x41, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66,
262 0x69, 0x63, 0x61, 0x74, 0x65, 0x3f, 0x62, 0x61, 0x73, 0x65, 0x3f, 0x6f,
263 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x63,
264 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
265 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x30, 0x60, 0x06,
266 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x54, 0x68,
267 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x71, 0x61, 0x73, 0x72, 0x76, 0x31,
268 0x30, 0x2e, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x63,
269 0x6f, 0x6d, 0x2f, 0x43, 0x65, 0x72, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c,
270 0x6c, 0x2f, 0x71, 0x61, 0x73, 0x72, 0x76, 0x31, 0x30, 0x2e, 0x69, 0x76,
271 0x70, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x5f, 0x71,
272 0x61, 0x73, 0x72, 0x76, 0x31, 0x30, 0x2e, 0x69, 0x76, 0x70, 0x6e, 0x74,
273 0x65, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x72, 0x74, 0x30,
274 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05,
275 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x83, 0x54, 0x4e, 0x01, 0x42,
276 0x95, 0x42, 0xa4, 0x56, 0x78, 0xf6, 0xa9, 0x41, 0xd8, 0xc3, 0xf2, 0xa4,
277 0xdc, 0xa3, 0xb2, 0xaa, 0x72, 0x63, 0x2c, 0xab, 0x14, 0x40, 0x8c, 0xd9,
278 0xdf, 0x61, 0xdf, 0xee, 0x8b, 0x50, 0x3b, 0xc7, 0xe1, 0x6f, 0xe5, 0x98,
279 0x4d, 0xbd, 0x3c, 0x16, 0xc3, 0xcc, 0x3a, 0xb4, 0x11, 0x87, 0xb6, 0x93,
280 0x63, 0xc6, 0x3d, 0xa2, 0xf3, 0x8c, 0xde, 0xc3, 0xcb, 0x44, 0x25, 0x7a,
281 0x75, 0xc8, 0x5c, 0x9f, 0xeb, 0x43, 0xd2, 0xb1, 0x11, 0x8d, 0x9e, 0x29,
282 0x7a, 0xf1, 0x9e, 0x59, 0xb2, 0x8b, 0xfa, 0x31, 0x2e, 0x4c, 0x8f, 0x6a,
283 0x72, 0x0c, 0x42, 0x63, 0xf1, 0xca, 0x76, 0x8e, 0x33, 0x5e, 0x69, 0x9e,
284 0x3b, 0x15, 0xba, 0xfb, 0xf8, 0x0e, 0x9d, 0x1b, 0xb1, 0x52, 0xc9, 0xc3,
285 0x3e, 0x4f, 0xa4, 0x56, 0x1f, 0x71, 0x24, 0x0a, 0x61, 0x25, 0x87, 0x75,
286 0x07, 0xc7, 0xf0, 0x6f, 0xb3, 0xd7, 0xe9, 0x20, 0x7a, 0xc1, 0x98, 0x48,
287 0x25, 0xd0, 0x17, 0x27, 0xed, 0x21, 0xe8, 0x2b, 0xb6, 0xa7, 0xa5, 0x7b,
288 0x53, 0x20, 0x27, 0x3d, 0x5d, 0xbb, 0xcd, 0x61, 0x84, 0xed, 0x66, 0x4c,
289 0xcd, 0x65, 0x6d, 0xe9, 0x2d, 0xf5, 0xe5, 0x63, 0xaf, 0xd0, 0xde, 0xa0,
290 0x89, 0x5b, 0x01, 0x05, 0x05, 0x63, 0x7e, 0x5b, 0xdb, 0xdc, 0x5a, 0xab,
291 0xa5, 0xa4, 0x62, 0x3a, 0xe7, 0xdf, 0xae, 0x55, 0x9b, 0xf8, 0x93, 0x82,
292 0x1b, 0xec, 0x00, 0x27, 0x2e, 0x73, 0x7d, 0xd8, 0xe2, 0xde, 0x76, 0xf3,
293 0x70, 0xbe, 0xc5, 0x12, 0x00, 0x79, 0x62, 0x83, 0x6b, 0x04, 0x23, 0xc9,
294 0x19, 0xa6, 0x23, 0x77, 0x45, 0xd6, 0x14, 0x01, 0xf7, 0x9c, 0x0f, 0x51,
295 0x92, 0x98, 0x5a, 0x2a, 0x57, 0xc9, 0x5a, 0xb4, 0xe3, 0x98, 0x5f, 0x7e,
296 0x07, 0x99, 0x66, 0x20, 0x17, 0x0d, 0x85, 0x2c, 0x3c, 0x98, 0x70, 0x30,
297 0x82, 0x04, 0x98, 0x30, 0x82, 0x03, 0x80, 0xa0, 0x03, 0x02, 0x01, 0x02,
298 0x02, 0x10, 0x7a, 0xdb, 0x4e, 0x56, 0x1a, 0xb8, 0x90, 0xae, 0x46, 0x6f,
299 0x06, 0x74, 0x44, 0x09, 0x68, 0x87, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86,
300 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x4e, 0x31,
301 0x13, 0x30, 0x11, 0x06, 0x0a, 0x09, 0x92, 0x26, 0x89, 0x93, 0xf2, 0x2c,
302 0x64, 0x01, 0x19, 0x16, 0x03, 0x63, 0x6f, 0x6d, 0x31, 0x18, 0x30, 0x16,
303 0x06, 0x0a, 0x09, 0x92, 0x26, 0x89, 0x93, 0xf2, 0x2c, 0x64, 0x01, 0x19,
304 0x16, 0x08, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x31, 0x1d,
305 0x30, 0x1b, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x14, 0x71, 0x61, 0x73,
306 0x72, 0x76, 0x31, 0x30, 0x2e, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73,
307 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x39, 0x30,
308 0x31, 0x32, 0x38, 0x30, 0x32, 0x34, 0x33, 0x33, 0x30, 0x5a, 0x17, 0x0d,
309 0x31, 0x34, 0x30, 0x31, 0x32, 0x38, 0x30, 0x32, 0x35, 0x32, 0x34, 0x33,
310 0x5a, 0x30, 0x4e, 0x31, 0x13, 0x30, 0x11, 0x06, 0x0a, 0x09, 0x92, 0x26,
311 0x89, 0x93, 0xf2, 0x2c, 0x64, 0x01, 0x19, 0x16, 0x03, 0x63, 0x6f, 0x6d,
312 0x31, 0x18, 0x30, 0x16, 0x06, 0x0a, 0x09, 0x92, 0x26, 0x89, 0x93, 0xf2,
313 0x2c, 0x64, 0x01, 0x19, 0x16, 0x08, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65,
314 0x73, 0x74, 0x31, 0x1d, 0x30, 0x1b, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13,
315 0x14, 0x71, 0x61, 0x73, 0x72, 0x76, 0x31, 0x30, 0x2e, 0x69, 0x76, 0x70,
316 0x6e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x82, 0x01,
317 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
318 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01,
319 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, 0xbe, 0xf8, 0xff, 0x61, 0xca, 0x9d,
320 0xcf, 0x07, 0x4d, 0x06, 0xf4, 0x52, 0x4b, 0x3f, 0x84, 0xc5, 0x0b, 0x71,
321 0xef, 0x7f, 0x7d, 0x35, 0xac, 0x68, 0xce, 0x84, 0xe6, 0x7c, 0x0a, 0xba,
322 0x02, 0x71, 0xcf, 0x81, 0x40, 0xcb, 0x25, 0xdb, 0x41, 0x23, 0x84, 0x88,
323 0x4d, 0x16, 0xa2, 0x41, 0xa5, 0x2a, 0x98, 0xa3, 0xb7, 0x02, 0xff, 0x54,
324 0xb6, 0xd5, 0x55, 0x75, 0x17, 0xbc, 0xd5, 0x04, 0x24, 0x35, 0x63, 0xfa,
325 0xcb, 0x98, 0x38, 0x98, 0x18, 0xd3, 0x13, 0xc1, 0xef, 0x1a, 0xfe, 0xb7,
326 0xcd, 0x2e, 0xc2, 0xb8, 0x0d, 0x3e, 0x62, 0x38, 0xc0, 0x05, 0xf9, 0x5b,
327 0xc5, 0xd5, 0xf6, 0xc4, 0x9d, 0x8e, 0xc3, 0x90, 0x32, 0xa2, 0xb1, 0x88,
328 0xa8, 0xf9, 0xd3, 0x0d, 0x02, 0x8d, 0xbe, 0x8f, 0x41, 0xe7, 0x92, 0x85,
329 0xe7, 0x4c, 0x11, 0x9a, 0x4b, 0xfb, 0x00, 0xa9, 0x9f, 0xf5, 0xfb, 0x23,
330 0xda, 0xf1, 0xfd, 0x95, 0x89, 0xd5, 0x2b, 0xc5, 0xbf, 0x9c, 0xc3, 0x93,
331 0xd0, 0xc2, 0xf8, 0x12, 0xbe, 0x26, 0x24, 0x41, 0x80, 0x64, 0x2f, 0xc0,
332 0x7b, 0x31, 0x85, 0x06, 0x3c, 0xe4, 0xc6, 0x7e, 0xbc, 0x61, 0xa7, 0xa2,
333 0xf4, 0xa7, 0xd7, 0xd7, 0xcb, 0xeb, 0xea, 0xb0, 0xc6, 0xd7, 0x13, 0xd6,
334 0x09, 0xfa, 0x45, 0xc6, 0x25, 0x6f, 0x34, 0xdc, 0x78, 0x70, 0xa0, 0xa5,
335 0xea, 0xd7, 0xe7, 0xda, 0xe2, 0x5a, 0x7a, 0xc3, 0xe3, 0x7a, 0x8d, 0xf3,
336 0x5a, 0x78, 0xfa, 0x57, 0xe1, 0xf1, 0xae, 0x6b, 0xea, 0x83, 0xd0, 0xd7,
337 0xa9, 0x43, 0x2d, 0x5d, 0x8b, 0xac, 0xbb, 0x92, 0x5b, 0x2a, 0xd7, 0x27,
338 0xbe, 0xe7, 0xa0, 0xd2, 0xc5, 0x9b, 0xd7, 0xa4, 0xc1, 0x6a, 0xf8, 0xec,
339 0xfc, 0xa6, 0x96, 0xfc, 0x09, 0x11, 0x95, 0xca, 0x75, 0xab, 0x8a, 0x5b,
340 0xd2, 0xb2, 0xb4, 0x11, 0xf1, 0x88, 0x34, 0xe3, 0xb7, 0x21, 0x02, 0x03,
341 0x01, 0x00, 0x01, 0xa3, 0x82, 0x01, 0x70, 0x30, 0x82, 0x01, 0x6c, 0x30,
342 0x0b, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x04, 0x04, 0x03, 0x02, 0x01, 0x86,
343 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05,
344 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e,
345 0x04, 0x16, 0x04, 0x14, 0x40, 0xb5, 0x54, 0x10, 0x88, 0x09, 0xeb, 0x3e,
346 0x2e, 0x69, 0x82, 0xa6, 0xa0, 0xd8, 0xe4, 0xb0, 0x98, 0xc1, 0x69, 0x3d,
347 0x30, 0x82, 0x01, 0x19, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x82, 0x01,
348 0x10, 0x30, 0x82, 0x01, 0x0c, 0x30, 0x82, 0x01, 0x08, 0xa0, 0x82, 0x01,
349 0x04, 0xa0, 0x82, 0x01, 0x00, 0x86, 0x81, 0xbc, 0x6c, 0x64, 0x61, 0x70,
350 0x3a, 0x2f, 0x2f, 0x2f, 0x43, 0x4e, 0x3d, 0x71, 0x61, 0x73, 0x72, 0x76,
351 0x31, 0x30, 0x2e, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73, 0x74, 0x2e,
352 0x63, 0x6f, 0x6d, 0x2c, 0x43, 0x4e, 0x3d, 0x71, 0x61, 0x73, 0x72, 0x76,
353 0x31, 0x30, 0x2c, 0x43, 0x4e, 0x3d, 0x43, 0x44, 0x50, 0x2c, 0x43, 0x4e,
354 0x3d, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x25, 0x32, 0x30, 0x4b, 0x65,
355 0x79, 0x25, 0x32, 0x30, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73,
356 0x2c, 0x43, 0x4e, 0x3d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73,
357 0x2c, 0x43, 0x4e, 0x3d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72,
358 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x44, 0x43, 0x3d, 0x69, 0x76, 0x70,
359 0x6e, 0x74, 0x65, 0x73, 0x74, 0x2c, 0x44, 0x43, 0x3d, 0x63, 0x6f, 0x6d,
360 0x3f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65,
361 0x52, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69,
362 0x73, 0x74, 0x3f, 0x62, 0x61, 0x73, 0x65, 0x3f, 0x6f, 0x62, 0x6a, 0x65,
363 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x63, 0x52, 0x4c, 0x44,
364 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50,
365 0x6f, 0x69, 0x6e, 0x74, 0x86, 0x3f, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f,
366 0x2f, 0x71, 0x61, 0x73, 0x72, 0x76, 0x31, 0x30, 0x2e, 0x69, 0x76, 0x70,
367 0x6e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x65,
368 0x72, 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x2f, 0x71, 0x61, 0x73,
369 0x72, 0x76, 0x31, 0x30, 0x2e, 0x69, 0x76, 0x70, 0x6e, 0x74, 0x65, 0x73,
370 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x10, 0x06,
371 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x15, 0x01, 0x04, 0x03,
372 0x02, 0x01, 0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
373 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x07,
374 0x74, 0x27, 0x8c, 0xdd, 0x75, 0xa1, 0x0d, 0x97, 0xd1, 0x9d, 0x0d, 0xae,
375 0x3b, 0xf3, 0x14, 0x0f, 0xa1, 0x1c, 0x51, 0xd8, 0x68, 0xe7, 0xfd, 0xd0,
376 0xaf, 0xe7, 0x66, 0x62, 0xf8, 0x73, 0x75, 0x88, 0x6c, 0xb9, 0xb3, 0x1e,
377 0xf5, 0x82, 0x3a, 0x1d, 0x82, 0x7b, 0xa3, 0x18, 0xd9, 0x1a, 0x40, 0xf2,
378 0xcd, 0xb3, 0x83, 0xae, 0x12, 0x5b, 0xb4, 0x45, 0xd9, 0xbe, 0x51, 0x3e,
379 0x11, 0x64, 0xaf, 0x95, 0x06, 0xb6, 0xbd, 0xd1, 0xa1, 0xfd, 0xbb, 0xdb,
380 0xa4, 0xbb, 0xba, 0x3e, 0xd5, 0xd6, 0x1d, 0x37, 0x80, 0x17, 0xe8, 0x08,
381 0x75, 0x5f, 0x5d, 0x49, 0x5f, 0x70, 0xdd, 0x67, 0xde, 0x9a, 0x34, 0x95,
382 0x2e, 0x54, 0x58, 0x42, 0xaf, 0x8a, 0x57, 0xf2, 0xb4, 0x1f, 0xfb, 0x40,
383 0x9c, 0x05, 0xa0, 0x6a, 0x9a, 0x91, 0x0e, 0x27, 0xaa, 0x9e, 0xdb, 0xbf,
384 0x50, 0xc9, 0xa4, 0x2f, 0xc8, 0x71, 0x00, 0x11, 0xf8, 0x2f, 0xda, 0x98,
385 0xf4, 0x1d, 0x98, 0x2a, 0xe9, 0x29, 0xc7, 0xea, 0x74, 0x65, 0xf1, 0x6d,
386 0x06, 0x9f, 0x59, 0xa3, 0x50, 0x7e, 0x1b, 0x52, 0x5a, 0xb9, 0x5e, 0xce,
387 0xa0, 0x03, 0x53, 0xe8, 0xba, 0x36, 0x4a, 0xc2, 0x95, 0xdb, 0x34, 0x61,
388 0xc8, 0xf4, 0xa5, 0x7c, 0xd6, 0x9d, 0x64, 0x91, 0xfb, 0x23, 0xfd, 0x8b,
389 0x3a, 0xd2, 0x67, 0xb0, 0x64, 0xa7, 0x80, 0x82, 0x74, 0x85, 0x45, 0xa7,
390 0x78, 0x57, 0xb6, 0xf0, 0x0a, 0xf9, 0xa2, 0xb5, 0x7f, 0x7e, 0x88, 0x21,
391 0xd7, 0x67, 0xd2, 0xc4, 0x9c, 0x98, 0x51, 0x9b, 0x71, 0xfb, 0x39, 0xf2,
392 0xb3, 0xfd, 0x3f, 0x0b, 0x61, 0x59, 0xa0, 0x15, 0x40, 0x53, 0x71, 0xac,
393 0xf5, 0xf7, 0xee, 0x03, 0x6b, 0x1f, 0x5d, 0x29, 0x0a, 0xf7, 0x4f, 0x1a,
394 0xea, 0xa4, 0xb8, 0x02, 0x63, 0x7c, 0x37, 0x37, 0xdd, 0x46, 0x42, 0xe3,
395 0xe1, 0x82, 0x94, 0x31, 0x00
396 };
397 static unsigned int msscep_getcacert_len = 4241;
398
399
400 static uint8_t getcacert[] = {
401 0x30, 0x82, 0x04, 0x6a, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
402 0x01, 0x07, 0x02, 0xa0, 0x82, 0x04, 0x5b, 0x30, 0x82, 0x04, 0x57, 0x02,
403 0x01, 0x01, 0x31, 0x00, 0x30, 0x03, 0x06, 0x01, 0x00, 0xa0, 0x82, 0x04,
404 0x47, 0x30, 0x82, 0x02, 0x33, 0x30, 0x82, 0x01, 0x9c, 0xa0, 0x03, 0x02,
405 0x01, 0x02, 0x02, 0x01, 0x01, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48,
406 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x4d, 0x31, 0x0d,
407 0x30, 0x0b, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x04, 0x4e, 0x6f, 0x6e,
408 0x65, 0x31, 0x3c, 0x30, 0x3a, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x33,
409 0x41, 0x43, 0x4d, 0x45, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x41,
410 0x20, 0x28, 0x35, 0x36, 0x32, 0x66, 0x30, 0x64, 0x30, 0x35, 0x2d, 0x32,
411 0x35, 0x36, 0x61, 0x2d, 0x34, 0x32, 0x65, 0x65, 0x2d, 0x39, 0x66, 0x35,
412 0x38, 0x2d, 0x38, 0x30, 0x62, 0x30, 0x61, 0x35, 0x35, 0x37, 0x38, 0x62,
413 0x66, 0x30, 0x29, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x39, 0x30, 0x39, 0x31,
414 0x37, 0x30, 0x30, 0x33, 0x39, 0x32, 0x33, 0x5a, 0x17, 0x0d, 0x31, 0x30,
415 0x30, 0x39, 0x31, 0x37, 0x30, 0x30, 0x33, 0x39, 0x32, 0x33, 0x5a, 0x30,
416 0x4d, 0x31, 0x0d, 0x30, 0x0b, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x04,
417 0x4e, 0x6f, 0x6e, 0x65, 0x31, 0x3c, 0x30, 0x3a, 0x06, 0x03, 0x55, 0x04,
418 0x03, 0x0c, 0x33, 0x41, 0x43, 0x4d, 0x45, 0x20, 0x52, 0x6f, 0x6f, 0x74,
419 0x20, 0x43, 0x41, 0x20, 0x28, 0x35, 0x36, 0x32, 0x66, 0x30, 0x64, 0x30,
420 0x35, 0x2d, 0x32, 0x35, 0x36, 0x61, 0x2d, 0x34, 0x32, 0x65, 0x65, 0x2d,
421 0x39, 0x66, 0x35, 0x38, 0x2d, 0x38, 0x30, 0x62, 0x30, 0x61, 0x35, 0x35,
422 0x37, 0x38, 0x62, 0x66, 0x30, 0x29, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06,
423 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
424 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xd4,
425 0x1c, 0xaa, 0x58, 0x8a, 0xda, 0xfc, 0x24, 0x21, 0x35, 0xc2, 0xb0, 0x2b,
426 0x08, 0x5d, 0xe2, 0xf5, 0xb5, 0xf0, 0xdc, 0xca, 0x04, 0xaa, 0x8e, 0x86,
427 0xff, 0xfe, 0x9b, 0x35, 0xed, 0x61, 0x3a, 0xe5, 0xbf, 0xf7, 0xbf, 0xab,
428 0xa4, 0xa8, 0x6e, 0xf5, 0xba, 0x5b, 0x0e, 0xdc, 0x28, 0x07, 0x24, 0x01,
429 0xda, 0x9e, 0x1f, 0x92, 0xa5, 0x4b, 0x51, 0xcd, 0xd9, 0x6e, 0x27, 0xfa,
430 0xda, 0x9b, 0x9c, 0x17, 0x3e, 0x1b, 0x36, 0xaf, 0xf5, 0x5d, 0x11, 0x02,
431 0xe9, 0x2e, 0xf1, 0x6e, 0xb6, 0x7f, 0xe8, 0x91, 0xbd, 0x66, 0x73, 0xdf,
432 0xb9, 0x27, 0xb7, 0x5b, 0x04, 0xb1, 0x9f, 0x52, 0x38, 0xea, 0xd0, 0x1c,
433 0x97, 0x2d, 0x4b, 0x1b, 0x03, 0xcb, 0xe6, 0xa4, 0x92, 0x2c, 0x0f, 0x5d,
434 0x34, 0x06, 0x52, 0x07, 0x35, 0x97, 0x13, 0x2f, 0x27, 0x62, 0x5a, 0x4b,
435 0xc3, 0xac, 0x5f, 0x0a, 0x40, 0x98, 0x29, 0x02, 0x03, 0x01, 0x00, 0x01,
436 0xa3, 0x23, 0x30, 0x21, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01,
437 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0e, 0x06,
438 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01,
439 0x86, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
440 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x35, 0xa8, 0x47, 0x69,
441 0x01, 0x12, 0x43, 0x34, 0x73, 0xe4, 0xd8, 0xa4, 0x95, 0x00, 0xea, 0xd7,
442 0x33, 0xf2, 0x7b, 0x49, 0xea, 0xa7, 0xc6, 0xe1, 0x7d, 0x06, 0xb8, 0xb4,
443 0x4f, 0x3f, 0x08, 0x97, 0xa8, 0x47, 0x82, 0x1e, 0x0a, 0x4b, 0xdb, 0x19,
444 0x9d, 0x21, 0x30, 0x2c, 0x37, 0xa0, 0x3f, 0x92, 0xf7, 0xc2, 0x39, 0x57,
445 0x2b, 0x43, 0x33, 0xf9, 0x6e, 0x40, 0x8c, 0x64, 0x2b, 0xf5, 0xb6, 0xb6,
446 0x6c, 0x2e, 0x59, 0xc4, 0xe6, 0x01, 0x87, 0xd4, 0x1c, 0x32, 0xf1, 0x68,
447 0x72, 0xeb, 0xda, 0x35, 0x69, 0x3c, 0x7d, 0x6f, 0x4c, 0xba, 0x8b, 0x4d,
448 0xaa, 0x1c, 0x11, 0x05, 0x76, 0x9e, 0x73, 0x2a, 0x20, 0xcb, 0x31, 0x9c,
449 0x74, 0x20, 0x99, 0x4c, 0xbc, 0x17, 0xd0, 0xb5, 0x6e, 0x1e, 0xad, 0x87,
450 0x83, 0xa6, 0xda, 0x15, 0x85, 0x7a, 0x8f, 0x76, 0x37, 0xa7, 0x11, 0x53,
451 0x7f, 0x12, 0xb1, 0x05, 0x30, 0x82, 0x02, 0x0c, 0x30, 0x82, 0x01, 0x75,
452 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x01, 0x64, 0x30, 0x0d, 0x06, 0x09,
453 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30,
454 0x4d, 0x31, 0x0d, 0x30, 0x0b, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x04,
455 0x4e, 0x6f, 0x6e, 0x65, 0x31, 0x3c, 0x30, 0x3a, 0x06, 0x03, 0x55, 0x04,
456 0x03, 0x0c, 0x33, 0x41, 0x43, 0x4d, 0x45, 0x20, 0x52, 0x6f, 0x6f, 0x74,
457 0x20, 0x43, 0x41, 0x20, 0x28, 0x35, 0x36, 0x32, 0x66, 0x30, 0x64, 0x30,
458 0x35, 0x2d, 0x32, 0x35, 0x36, 0x61, 0x2d, 0x34, 0x32, 0x65, 0x65, 0x2d,
459 0x39, 0x66, 0x35, 0x38, 0x2d, 0x38, 0x30, 0x62, 0x30, 0x61, 0x35, 0x35,
460 0x37, 0x38, 0x62, 0x66, 0x30, 0x29, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x39,
461 0x30, 0x39, 0x31, 0x37, 0x30, 0x30, 0x33, 0x39, 0x32, 0x33, 0x5a, 0x17,
462 0x0d, 0x31, 0x30, 0x30, 0x39, 0x31, 0x37, 0x30, 0x30, 0x33, 0x39, 0x32,
463 0x33, 0x5a, 0x30, 0x26, 0x31, 0x0d, 0x30, 0x0b, 0x06, 0x03, 0x55, 0x04,
464 0x0a, 0x0c, 0x04, 0x4e, 0x6f, 0x6e, 0x65, 0x31, 0x15, 0x30, 0x13, 0x06,
465 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0c, 0x41, 0x43, 0x4d, 0x45, 0x20, 0x53,
466 0x43, 0x45, 0x50, 0x20, 0x52, 0x41, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06,
467 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
468 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xd1,
469 0x6e, 0x98, 0x93, 0x0e, 0x0a, 0x27, 0x5f, 0xd9, 0x3e, 0x95, 0xe3, 0x24,
470 0xae, 0x96, 0xd2, 0x62, 0x40, 0x05, 0xb6, 0x2d, 0x4d, 0xe2, 0x8f, 0x35,
471 0x26, 0x14, 0x72, 0x04, 0xb0, 0x34, 0xaf, 0xf3, 0x61, 0x7c, 0xa0, 0x72,
472 0xe6, 0x29, 0xf3, 0xdf, 0xc2, 0x2a, 0x8c, 0x84, 0xde, 0xea, 0x7c, 0x01,
473 0x64, 0x08, 0x8c, 0xaa, 0x0b, 0x96, 0x9b, 0xb5, 0xb8, 0x86, 0x49, 0xad,
474 0x68, 0x1d, 0x7c, 0xf0, 0x1a, 0xe9, 0xf6, 0x56, 0x97, 0xe4, 0xb8, 0x20,
475 0xa6, 0x1f, 0x1a, 0x9d, 0xcc, 0x5f, 0xe8, 0xc9, 0x05, 0xab, 0x85, 0xab,
476 0xce, 0x5c, 0xcd, 0x20, 0xb7, 0x01, 0x8d, 0xda, 0x10, 0x54, 0x22, 0xbd,
477 0x93, 0xf9, 0xac, 0x12, 0x39, 0x08, 0x9d, 0x27, 0xa1, 0x92, 0xb6, 0x94,
478 0xde, 0x15, 0xcc, 0x0f, 0x9e, 0x1f, 0xe0, 0x44, 0x90, 0x57, 0x87, 0x04,
479 0x9b, 0xfb, 0xb0, 0x63, 0x9d, 0xc0, 0x4d, 0x02, 0x03, 0x01, 0x00, 0x01,
480 0xa3, 0x23, 0x30, 0x21, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01,
481 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0e, 0x06,
482 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x05,
483 0xa0, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
484 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0xbb, 0xb7, 0xa1, 0xd6,
485 0x0c, 0xdd, 0xa8, 0xfe, 0x4a, 0x3b, 0x90, 0x42, 0x9b, 0x4f, 0xfc, 0xa4,
486 0x75, 0xf2, 0x04, 0x09, 0xd6, 0x9e, 0xfb, 0x4f, 0x99, 0xf8, 0xcb, 0x5c,
487 0xcc, 0xb0, 0xb3, 0xce, 0xd7, 0x83, 0xed, 0x4d, 0xa7, 0x93, 0xdb, 0x87,
488 0x7b, 0x09, 0x2f, 0x07, 0xb3, 0xd2, 0xa3, 0x08, 0x17, 0x53, 0xb4, 0x61,
489 0xd7, 0x58, 0x86, 0x79, 0x2c, 0x2e, 0x09, 0x75, 0xda, 0x61, 0xa8, 0x90,
490 0x1f, 0xea, 0x2f, 0x0f, 0x2a, 0xcb, 0xf5, 0x01, 0x54, 0xee, 0x23, 0x80,
491 0xbb, 0xaa, 0xb5, 0x61, 0x66, 0x23, 0xb3, 0xd2, 0xff, 0x7f, 0xb8, 0x74,
492 0xc9, 0x55, 0xb5, 0x84, 0x57, 0x5a, 0x2e, 0x81, 0x0d, 0xe5, 0x0d, 0x45,
493 0x4f, 0x37, 0xc4, 0x2d, 0xec, 0xf8, 0xf1, 0x15, 0x59, 0xc4, 0x7a, 0x49,
494 0xd0, 0x12, 0x16, 0x18, 0x6a, 0x3e, 0x74, 0xe5, 0x4e, 0x65, 0xdc, 0xcc,
495 0xba, 0x9e, 0x77, 0x7c, 0x31, 0x00
496 };
497 static unsigned int getcacert_len = 1134;
498
499 static uint8_t msscep_md5_hash[] = {0x13, 0x7f, 0x4d, 0xaa, 0x5d, 0xa0, 0x65, 0x1b, 0xbd, 0x54, 0x8c, 0xc2, 0xd3, 0xd4, 0xce, 0xd0 };
500 static uint8_t ruby_sha1_hash[] = { 0xf3, 0x5f, 0x6b, 0xd1, 0x64, 0x0b, 0xc1, 0x81, 0x98, 0xb9, 0x30, 0xd1, 0x97, 0x10, 0x3b, 0x45, 0xf0, 0x6e, 0x53, 0xdb };
501
502
503 static unsigned char bmw_scep_pkt[] = {
504 0x30, 0x82, 0x16, 0x19, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
505 0x01, 0x07, 0x02, 0xa0, 0x82, 0x16, 0x0a, 0x30, 0x82, 0x16, 0x06, 0x02,
506 0x01, 0x01, 0x31, 0x00, 0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
507 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x15, 0xee, 0x30, 0x82, 0x06,
508 0x26, 0x30, 0x82, 0x05, 0x0e, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x0a,
509 0x3c, 0xec, 0x7e, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x30, 0x0d,
510 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05,
511 0x00, 0x30, 0x64, 0x31, 0x14, 0x30, 0x12, 0x06, 0x0a, 0x09, 0x92, 0x26,
512 0x89, 0x93, 0xf2, 0x2c, 0x64, 0x01, 0x19, 0x16, 0x04, 0x63, 0x6f, 0x72,
513 0x70, 0x31, 0x13, 0x30, 0x11, 0x06, 0x0a, 0x09, 0x92, 0x26, 0x89, 0x93,
514 0xf2, 0x2c, 0x64, 0x01, 0x19, 0x16, 0x03, 0x62, 0x6d, 0x77, 0x31, 0x16,
515 0x30, 0x14, 0x06, 0x0a, 0x09, 0x92, 0x26, 0x89, 0x93, 0xf2, 0x2c, 0x64,
516 0x01, 0x19, 0x16, 0x06, 0x65, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x31, 0x1f,
517 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x16, 0x42, 0x4d, 0x57,
518 0x20, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x49, 0x73, 0x73, 0x75, 0x69,
519 0x6e, 0x67, 0x20, 0x43, 0x41, 0x20, 0x32, 0x30, 0x1e, 0x17, 0x0d, 0x31,
520 0x30, 0x30, 0x33, 0x30, 0x34, 0x31, 0x33, 0x35, 0x33, 0x31, 0x30, 0x5a,
521 0x17, 0x0d, 0x31, 0x32, 0x30, 0x33, 0x30, 0x33, 0x31, 0x33, 0x35, 0x33,
522 0x31, 0x30, 0x5a, 0x30, 0x81, 0x83, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03,
523 0x55, 0x04, 0x06, 0x13, 0x02, 0x44, 0x45, 0x31, 0x10, 0x30, 0x0e, 0x06,
524 0x03, 0x55, 0x04, 0x08, 0x13, 0x07, 0x42, 0x61, 0x76, 0x61, 0x72, 0x69,
525 0x61, 0x31, 0x0f, 0x30, 0x0d, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x06,
526 0x4d, 0x75, 0x6e, 0x69, 0x63, 0x68, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03,
527 0x55, 0x04, 0x0a, 0x13, 0x09, 0x42, 0x4d, 0x57, 0x20, 0x47, 0x72, 0x6f,
528 0x75, 0x70, 0x31, 0x1a, 0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13,
529 0x11, 0x53, 0x43, 0x45, 0x50, 0x20, 0x49, 0x73, 0x73, 0x75, 0x69, 0x6e,
530 0x67, 0x20, 0x43, 0x41, 0x20, 0x32, 0x31, 0x21, 0x30, 0x1f, 0x06, 0x09,
531 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x01, 0x16, 0x12, 0x74,
532 0x72, 0x75, 0x73, 0x74, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x40, 0x62,
533 0x6d, 0x77, 0x2e, 0x64, 0x65, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09,
534 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03,
535 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xad, 0x57,
536 0x88, 0x2c, 0x2c, 0xda, 0x45, 0x32, 0x32, 0xb1, 0xba, 0xce, 0x1b, 0x0b,
537 0x5d, 0xc8, 0x5d, 0x76, 0xd2, 0x63, 0xf6, 0xc7, 0xe6, 0x45, 0xff, 0x37,
538 0xf3, 0x85, 0xbf, 0xbb, 0xa1, 0x83, 0xd1, 0xea, 0xe0, 0x3f, 0xc9, 0x05,
539 0x79, 0xe3, 0x15, 0xc3, 0x97, 0x2a, 0x81, 0x38, 0x4f, 0x33, 0xc1, 0xc9,
540 0xf5, 0xb0, 0x1b, 0xbd, 0xad, 0x52, 0x15, 0x80, 0x52, 0x7d, 0x1b, 0x68,
541 0x8f, 0xb5, 0x27, 0xda, 0xcf, 0x20, 0x7d, 0x53, 0x6e, 0xb0, 0xe8, 0x4b,
542 0x8e, 0x6b, 0xb2, 0x63, 0xe3, 0xd5, 0x2c, 0x67, 0x55, 0x73, 0x0f, 0xda,
543 0x41, 0x04, 0x56, 0xdc, 0xb3, 0x9a, 0x6b, 0xbb, 0x62, 0xf8, 0x8f, 0xe2,
544 0x91, 0x7a, 0xe8, 0xa7, 0xa9, 0xc4, 0x8b, 0x75, 0x7b, 0xb5, 0x5f, 0x4e,
545 0xe1, 0x4d, 0x80, 0x4d, 0xc9, 0xee, 0x23, 0xbc, 0xf7, 0x4f, 0x8d, 0xc0,
546 0x02, 0x20, 0x23, 0x82, 0x80, 0xf7, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3,
547 0x82, 0x03, 0x3c, 0x30, 0x82, 0x03, 0x38, 0x30, 0x0b, 0x06, 0x03, 0x55,
548 0x1d, 0x0f, 0x04, 0x04, 0x03, 0x02, 0x07, 0x80, 0x30, 0x15, 0x06, 0x03,
549 0x55, 0x1d, 0x25, 0x04, 0x0e, 0x30, 0x0c, 0x06, 0x0a, 0x2b, 0x06, 0x01,
550 0x04, 0x01, 0x82, 0x37, 0x14, 0x02, 0x01, 0x30, 0x3b, 0x06, 0x09, 0x2b,
551 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x14, 0x02, 0x04, 0x2e, 0x1e, 0x2c,
552 0x00, 0x45, 0x00, 0x6e, 0x00, 0x72, 0x00, 0x6f, 0x00, 0x6c, 0x00, 0x6c,
553 0x00, 0x6d, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x41, 0x00, 0x67,
554 0x00, 0x65, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x4f, 0x00, 0x66, 0x00, 0x66,
555 0x00, 0x6c, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x65, 0x30, 0x1d, 0x06, 0x03,
556 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xd8, 0xeb, 0x70, 0x8b, 0x4e,
557 0xda, 0xfb, 0x52, 0x03, 0x0c, 0xa5, 0xc5, 0xfd, 0xf3, 0x29, 0x54, 0xfd,
558 0x2e, 0x8f, 0x3e, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18,
559 0x30, 0x16, 0x80, 0x14, 0x61, 0x0a, 0xef, 0x1a, 0x3d, 0xfe, 0x9a, 0x68,
560 0x81, 0xcb, 0xb2, 0x62, 0xe5, 0xc0, 0x21, 0x8e, 0xdd, 0xec, 0x61, 0x95,
561 0x30, 0x82, 0x01, 0x71, 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x82, 0x01,
562 0x68, 0x30, 0x82, 0x01, 0x64, 0x30, 0x82, 0x01, 0x60, 0xa0, 0x82, 0x01,
563 0x5c, 0xa0, 0x82, 0x01, 0x58, 0x86, 0x81, 0xc3, 0x6c, 0x64, 0x61, 0x70,
564 0x3a, 0x2f, 0x2f, 0x2f, 0x43, 0x4e, 0x3d, 0x42, 0x4d, 0x57, 0x25, 0x32,
565 0x30, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x25, 0x32, 0x30, 0x49, 0x73, 0x73,
566 0x75, 0x69, 0x6e, 0x67, 0x25, 0x32, 0x30, 0x43, 0x41, 0x25, 0x32, 0x30,
567 0x32, 0x2c, 0x43, 0x4e, 0x3d, 0x53, 0x4d, 0x55, 0x43, 0x31, 0x39, 0x32,
568 0x33, 0x2c, 0x43, 0x4e, 0x3d, 0x43, 0x44, 0x50, 0x2c, 0x43, 0x4e, 0x3d,
569 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x25, 0x32, 0x30, 0x4b, 0x65, 0x79,
570 0x25, 0x32, 0x30, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2c,
571 0x43, 0x4e, 0x3d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2c,
572 0x43, 0x4e, 0x3d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61,
573 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x44, 0x43, 0x3d, 0x62, 0x6d, 0x77, 0x2c,
574 0x44, 0x43, 0x3d, 0x63, 0x6f, 0x72, 0x70, 0x3f, 0x63, 0x65, 0x72, 0x74,
575 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x76, 0x6f, 0x63,
576 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x3f, 0x62, 0x61,
577 0x73, 0x65, 0x3f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61,
578 0x73, 0x73, 0x3d, 0x63, 0x52, 0x4c, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69,
579 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x86,
580 0x4d, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x73, 0x6d, 0x75, 0x63,
581 0x31, 0x39, 0x32, 0x33, 0x2e, 0x65, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2e,
582 0x62, 0x6d, 0x77, 0x2e, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x43, 0x65, 0x72,
583 0x74, 0x45, 0x6e, 0x72, 0x6f, 0x6c, 0x6c, 0x2f, 0x42, 0x4d, 0x57, 0x25,
584 0x32, 0x30, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x25, 0x32, 0x30, 0x49, 0x73,
585 0x73, 0x75, 0x69, 0x6e, 0x67, 0x25, 0x32, 0x30, 0x43, 0x41, 0x25, 0x32,
586 0x30, 0x32, 0x2e, 0x63, 0x72, 0x6c, 0x86, 0x41, 0x68, 0x74, 0x74, 0x70,
587 0x3a, 0x2f, 0x2f, 0x73, 0x73, 0x6c, 0x63, 0x72, 0x6c, 0x2e, 0x62, 0x6d,
588 0x77, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70,
589 0x6b, 0x69, 0x2f, 0x42, 0x4d, 0x57, 0x25, 0x32, 0x30, 0x47, 0x72, 0x6f,
590 0x75, 0x70, 0x25, 0x32, 0x30, 0x49, 0x73, 0x73, 0x75, 0x69, 0x6e, 0x67,
591 0x25, 0x32, 0x30, 0x43, 0x41, 0x25, 0x32, 0x30, 0x32, 0x2e, 0x63, 0x72,
592 0x6c, 0x30, 0x82, 0x01, 0x1e, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05,
593 0x07, 0x01, 0x01, 0x04, 0x82, 0x01, 0x10, 0x30, 0x82, 0x01, 0x0c, 0x30,
594 0x81, 0xba, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x02,
595 0x86, 0x81, 0xad, 0x6c, 0x64, 0x61, 0x70, 0x3a, 0x2f, 0x2f, 0x2f, 0x43,
596 0x4e, 0x3d, 0x42, 0x4d, 0x57, 0x25, 0x32, 0x30, 0x47, 0x72, 0x6f, 0x75,
597 0x70, 0x25, 0x32, 0x30, 0x49, 0x73, 0x73, 0x75, 0x69, 0x6e, 0x67, 0x25,
598 0x32, 0x30, 0x43, 0x41, 0x25, 0x32, 0x30, 0x32, 0x2c, 0x43, 0x4e, 0x3d,
599 0x41, 0x49, 0x41, 0x2c, 0x43, 0x4e, 0x3d, 0x50, 0x75, 0x62, 0x6c, 0x69,
600 0x63, 0x25, 0x32, 0x30, 0x4b, 0x65, 0x79, 0x25, 0x32, 0x30, 0x53, 0x65,
601 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2c, 0x43, 0x4e, 0x3d, 0x53, 0x65,
602 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2c, 0x43, 0x4e, 0x3d, 0x43, 0x6f,
603 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c,
604 0x44, 0x43, 0x3d, 0x62, 0x6d, 0x77, 0x2c, 0x44, 0x43, 0x3d, 0x63, 0x6f,
605 0x72, 0x70, 0x3f, 0x63, 0x41, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69,
606 0x63, 0x61, 0x74, 0x65, 0x3f, 0x62, 0x61, 0x73, 0x65, 0x3f, 0x6f, 0x62,
607 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x63, 0x65,
608 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41,
609 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x30, 0x4d, 0x06, 0x08,
610 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x41, 0x68, 0x74,
611 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x73, 0x73, 0x6c, 0x63, 0x72, 0x6c, 0x2e,
612 0x62, 0x6d, 0x77, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x63, 0x6f, 0x6d,
613 0x2f, 0x70, 0x6b, 0x69, 0x2f, 0x42, 0x4d, 0x57, 0x25, 0x32, 0x30, 0x47,
614 0x72, 0x6f, 0x75, 0x70, 0x25, 0x32, 0x30, 0x49, 0x73, 0x73, 0x75, 0x69,
615 0x6e, 0x67, 0x25, 0x32, 0x30, 0x43, 0x41, 0x25, 0x32, 0x30, 0x32, 0x2e,
616 0x63, 0x72, 0x74, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
617 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x46,
618 0x9e, 0x81, 0xb2, 0xec, 0xa9, 0xe4, 0x3c, 0xf3, 0x9b, 0x61, 0xdf, 0x6f,
619 0xec, 0x28, 0xe9, 0x2b, 0xd4, 0xc1, 0xb2, 0x05, 0x03, 0xbd, 0x53, 0x49,
620 0xa2, 0x94, 0x3a, 0xd6, 0x23, 0xa3, 0xe8, 0x52, 0xa4, 0xe6, 0x44, 0x5e,
621 0x15, 0x89, 0xde, 0x32, 0x12, 0xba, 0x97, 0x3a, 0xd3, 0x1d, 0xa1, 0xda,
622 0x2a, 0x70, 0x3e, 0x10, 0xea, 0x2c, 0xb5, 0x19, 0xc2, 0x71, 0xcd, 0x1c,
623 0x10, 0x07, 0x4b, 0x58, 0x10, 0x61, 0x03, 0x72, 0x4f, 0x65, 0xf7, 0x38,
624 0x9d, 0xa9, 0x35, 0x0c, 0xc9, 0xdf, 0x7f, 0x91, 0xa0, 0xd4, 0x08, 0xf2,
625 0xf9, 0x1b, 0x0f, 0xaa, 0xb4, 0xb6, 0xe0, 0x3c, 0x9d, 0x0c, 0x64, 0xee,
626 0x2f, 0x47, 0xdd, 0xdb, 0x3a, 0x6f, 0x69, 0x19, 0x1f, 0xa1, 0xdd, 0x1d,
627 0xd7, 0x45, 0x04, 0x56, 0x16, 0x43, 0x22, 0x18, 0xba, 0x22, 0xd6, 0x70,
628 0xd0, 0x67, 0xb0, 0x06, 0x6a, 0x16, 0x57, 0x61, 0x83, 0x47, 0xd9, 0x40,
629 0xc9, 0x92, 0xdd, 0x74, 0xbe, 0xb9, 0xe8, 0x07, 0x40, 0xa8, 0x23, 0xc5,
630 0xd6, 0x3e, 0x26, 0xec, 0x17, 0x6c, 0x61, 0x76, 0x47, 0x42, 0x0a, 0x82,
631 0x5e, 0xdb, 0x41, 0xba, 0x42, 0x1f, 0xec, 0xb7, 0xc2, 0xe0, 0xf8, 0x3a,
632 0x39, 0x5f, 0xb2, 0x45, 0x92, 0xdc, 0xe2, 0x5e, 0x5d, 0x81, 0x14, 0xa3,
633 0x10, 0x68, 0x5a, 0xed, 0x28, 0x9f, 0xad, 0xa6, 0xc9, 0xd9, 0x61, 0xc2,
634 0x62, 0xec, 0x1b, 0x61, 0x2a, 0x67, 0xef, 0xac, 0x79, 0xc1, 0x6e, 0x35,
635 0xc4, 0xd2, 0x69, 0x05, 0x3f, 0xf2, 0x6f, 0x5a, 0x66, 0x0c, 0xea, 0xd2,
636 0x70, 0x2e, 0xbe, 0x5f, 0xd8, 0x31, 0x6c, 0x1f, 0xec, 0x62, 0xf6, 0xa7,
637 0x98, 0x1c, 0xd4, 0xf6, 0xc1, 0x28, 0x71, 0xf5, 0x63, 0xab, 0x59, 0x4b,
638 0x34, 0xb4, 0x30, 0x12, 0x91, 0x71, 0xf8, 0x50, 0x9a, 0x26, 0x4a, 0xd9,
639 0xf1, 0x30, 0x04, 0x30, 0x82, 0x06, 0x4c, 0x30, 0x82, 0x05, 0x34, 0xa0,
640 0x03, 0x02, 0x01, 0x02, 0x02, 0x0a, 0x3c, 0xec, 0x82, 0xf8, 0x00, 0x00,
641 0x00, 0x00, 0x00, 0x0e, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
642 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x64, 0x31, 0x14, 0x30,
643 0x12, 0x06, 0x0a, 0x09, 0x92, 0x26, 0x89, 0x93, 0xf2, 0x2c, 0x64, 0x01,
644 0x19, 0x16, 0x04, 0x63, 0x6f, 0x72, 0x70, 0x31, 0x13, 0x30, 0x11, 0x06,
645 0x0a, 0x09, 0x92, 0x26, 0x89, 0x93, 0xf2, 0x2c, 0x64, 0x01, 0x19, 0x16,
646 0x03, 0x62, 0x6d, 0x77, 0x31, 0x16, 0x30, 0x14, 0x06, 0x0a, 0x09, 0x92,
647 0x26, 0x89, 0x93, 0xf2, 0x2c, 0x64, 0x01, 0x19, 0x16, 0x06, 0x65, 0x75,
648 0x72, 0x6f, 0x70, 0x65, 0x31, 0x1f, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04,
649 0x03, 0x13, 0x16, 0x42, 0x4d, 0x57, 0x20, 0x47, 0x72, 0x6f, 0x75, 0x70,
650 0x20, 0x49, 0x73, 0x73, 0x75, 0x69, 0x6e, 0x67, 0x20, 0x43, 0x41, 0x20,
651 0x32, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x30, 0x30, 0x33, 0x30, 0x34, 0x31,
652 0x33, 0x35, 0x33, 0x31, 0x31, 0x5a, 0x17, 0x0d, 0x31, 0x32, 0x30, 0x33,
653 0x30, 0x33, 0x31, 0x33, 0x35, 0x33, 0x31, 0x31, 0x5a, 0x30, 0x81, 0x83,
654 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x44,
655 0x45, 0x31, 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x07,
656 0x42, 0x61, 0x76, 0x61, 0x72, 0x69, 0x61, 0x31, 0x0f, 0x30, 0x0d, 0x06,
657 0x03, 0x55, 0x04, 0x07, 0x13, 0x06, 0x4d, 0x75, 0x6e, 0x69, 0x63, 0x68,
658 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x09, 0x42,
659 0x4d, 0x57, 0x20, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x31, 0x1a, 0x30, 0x18,
660 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x11, 0x53, 0x43, 0x45, 0x50, 0x20,
661 0x49, 0x73, 0x73, 0x75, 0x69, 0x6e, 0x67, 0x20, 0x43, 0x41, 0x20, 0x32,
662 0x31, 0x21, 0x30, 0x1f, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
663 0x01, 0x09, 0x01, 0x16, 0x12, 0x74, 0x72, 0x75, 0x73, 0x74, 0x63, 0x65,
664 0x6e, 0x74, 0x65, 0x72, 0x40, 0x62, 0x6d, 0x77, 0x2e, 0x64, 0x65, 0x30,
665 0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
666 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89,
667 0x02, 0x81, 0x81, 0x00, 0xa4, 0x78, 0xc8, 0x9b, 0xd9, 0x08, 0x24, 0xab,
668 0x07, 0x33, 0x89, 0x62, 0xcd, 0x20, 0xcb, 0x16, 0xfa, 0x1d, 0x9b, 0x8a,
669 0xcf, 0x9d, 0x61, 0xea, 0x10, 0xbd, 0xa0, 0x02, 0xf5, 0x97, 0x53, 0x96,
670 0x86, 0xb3, 0x02, 0x88, 0xf7, 0x52, 0xd8, 0x67, 0xcd, 0xe4, 0xba, 0xa7,
671 0x36, 0xfd, 0x6e, 0xd3, 0x51, 0x9a, 0xa2, 0xfb, 0xcc, 0x2c, 0xd1, 0xaa,
672 0x9c, 0x49, 0x2e, 0x36, 0xe0, 0xa2, 0x21, 0xc8, 0xfd, 0x05, 0xa9, 0x54,
673 0x16, 0x9f, 0xd3, 0x8e, 0x6a, 0xbe, 0x3e, 0x7f, 0xc8, 0xc6, 0x2d, 0x8d,
674 0xda, 0xe9, 0x73, 0x97, 0x5e, 0x80, 0xdd, 0x8c, 0xc4, 0x9b, 0x3a, 0x77,
675 0xc7, 0x6a, 0x8d, 0xe2, 0xe1, 0x54, 0x6f, 0x5e, 0xde, 0x3f, 0x71, 0x9c,
676 0x14, 0x2d, 0x15, 0x6d, 0xf1, 0x7c, 0x43, 0x97, 0xb7, 0xdf, 0x5a, 0x1a,
677 0xb8, 0xb7, 0x9c, 0x05, 0x4d, 0xf5, 0x45, 0x45, 0x59, 0xbe, 0x73, 0xbd,
678 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x82, 0x03, 0x62, 0x30, 0x82, 0x03,
679 0x5e, 0x30, 0x0b, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x04, 0x04, 0x03, 0x02,
680 0x05, 0x20, 0x30, 0x36, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
681 0x01, 0x09, 0x0f, 0x04, 0x29, 0x30, 0x27, 0x30, 0x0d, 0x06, 0x08, 0x2a,
682 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x03, 0x02, 0x02, 0x01, 0x38, 0x30, 0x0d,
683 0x06, 0x08, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x03, 0x04, 0x02, 0x01,
684 0x38, 0x30, 0x07, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x07, 0x30, 0x15,
685 0x06, 0x03, 0x55, 0x1d, 0x25, 0x04, 0x0e, 0x30, 0x0c, 0x06, 0x0a, 0x2b,
686 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x14, 0x02, 0x01, 0x30, 0x29, 0x06,
687 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x14, 0x02, 0x04, 0x1c,
688 0x1e, 0x1a, 0x00, 0x43, 0x00, 0x45, 0x00, 0x50, 0x00, 0x45, 0x00, 0x6e,
689 0x00, 0x63, 0x00, 0x72, 0x00, 0x79, 0x00, 0x70, 0x00, 0x74, 0x00, 0x69,
690 0x00, 0x6f, 0x00, 0x6e, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04,
691 0x16, 0x04, 0x14, 0x11, 0xe1, 0x07, 0x5e, 0xd5, 0x49, 0xed, 0x64, 0x11,
692 0xc4, 0x33, 0xbb, 0x2a, 0x99, 0x7c, 0xb0, 0xc8, 0xd8, 0x85, 0x8d, 0x30,
693 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14,
694 0x61, 0x0a, 0xef, 0x1a, 0x3d, 0xfe, 0x9a, 0x68, 0x81, 0xcb, 0xb2, 0x62,
695 0xe5, 0xc0, 0x21, 0x8e, 0xdd, 0xec, 0x61, 0x95, 0x30, 0x82, 0x01, 0x71,
696 0x06, 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x82, 0x01, 0x68, 0x30, 0x82, 0x01,
697 0x64, 0x30, 0x82, 0x01, 0x60, 0xa0, 0x82, 0x01, 0x5c, 0xa0, 0x82, 0x01,
698 0x58, 0x86, 0x81, 0xc3, 0x6c, 0x64, 0x61, 0x70, 0x3a, 0x2f, 0x2f, 0x2f,
699 0x43, 0x4e, 0x3d, 0x42, 0x4d, 0x57, 0x25, 0x32, 0x30, 0x47, 0x72, 0x6f,
700 0x75, 0x70, 0x25, 0x32, 0x30, 0x49, 0x73, 0x73, 0x75, 0x69, 0x6e, 0x67,
701 0x25, 0x32, 0x30, 0x43, 0x41, 0x25, 0x32, 0x30, 0x32, 0x2c, 0x43, 0x4e,
702 0x3d, 0x53, 0x4d, 0x55, 0x43, 0x31, 0x39, 0x32, 0x33, 0x2c, 0x43, 0x4e,
703 0x3d, 0x43, 0x44, 0x50, 0x2c, 0x43, 0x4e, 0x3d, 0x50, 0x75, 0x62, 0x6c,
704 0x69, 0x63, 0x25, 0x32, 0x30, 0x4b, 0x65, 0x79, 0x25, 0x32, 0x30, 0x53,
705 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2c, 0x43, 0x4e, 0x3d, 0x53,
706 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2c, 0x43, 0x4e, 0x3d, 0x43,
707 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
708 0x2c, 0x44, 0x43, 0x3d, 0x62, 0x6d, 0x77, 0x2c, 0x44, 0x43, 0x3d, 0x63,
709 0x6f, 0x72, 0x70, 0x3f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63,
710 0x61, 0x74, 0x65, 0x52, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
711 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x3f, 0x62, 0x61, 0x73, 0x65, 0x3f, 0x6f,
712 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x63,
713 0x52, 0x4c, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69,
714 0x6f, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x86, 0x4d, 0x68, 0x74, 0x74,
715 0x70, 0x3a, 0x2f, 0x2f, 0x73, 0x6d, 0x75, 0x63, 0x31, 0x39, 0x32, 0x33,
716 0x2e, 0x65, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2e, 0x62, 0x6d, 0x77, 0x2e,
717 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x43, 0x65, 0x72, 0x74, 0x45, 0x6e, 0x72,
718 0x6f, 0x6c, 0x6c, 0x2f, 0x42, 0x4d, 0x57, 0x25, 0x32, 0x30, 0x47, 0x72,
719 0x6f, 0x75, 0x70, 0x25, 0x32, 0x30, 0x49, 0x73, 0x73, 0x75, 0x69, 0x6e,
720 0x67, 0x25, 0x32, 0x30, 0x43, 0x41, 0x25, 0x32, 0x30, 0x32, 0x2e, 0x63,
721 0x72, 0x6c, 0x86, 0x41, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x73,
722 0x73, 0x6c, 0x63, 0x72, 0x6c, 0x2e, 0x62, 0x6d, 0x77, 0x67, 0x72, 0x6f,
723 0x75, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6b, 0x69, 0x2f, 0x42,
724 0x4d, 0x57, 0x25, 0x32, 0x30, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x25, 0x32,
725 0x30, 0x49, 0x73, 0x73, 0x75, 0x69, 0x6e, 0x67, 0x25, 0x32, 0x30, 0x43,
726 0x41, 0x25, 0x32, 0x30, 0x32, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x82, 0x01,
727 0x1e, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04,
728 0x82, 0x01, 0x10, 0x30, 0x82, 0x01, 0x0c, 0x30, 0x81, 0xba, 0x06, 0x08,
729 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x81, 0xad, 0x6c,
730 0x64, 0x61, 0x70, 0x3a, 0x2f, 0x2f, 0x2f, 0x43, 0x4e, 0x3d, 0x42, 0x4d,
731 0x57, 0x25, 0x32, 0x30, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x25, 0x32, 0x30,
732 0x49, 0x73, 0x73, 0x75, 0x69, 0x6e, 0x67, 0x25, 0x32, 0x30, 0x43, 0x41,
733 0x25, 0x32, 0x30, 0x32, 0x2c, 0x43, 0x4e, 0x3d, 0x41, 0x49, 0x41, 0x2c,
734 0x43, 0x4e, 0x3d, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x25, 0x32, 0x30,
735 0x4b, 0x65, 0x79, 0x25, 0x32, 0x30, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
736 0x65, 0x73, 0x2c, 0x43, 0x4e, 0x3d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
737 0x65, 0x73, 0x2c, 0x43, 0x4e, 0x3d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
738 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x44, 0x43, 0x3d, 0x62,
739 0x6d, 0x77, 0x2c, 0x44, 0x43, 0x3d, 0x63, 0x6f, 0x72, 0x70, 0x3f, 0x63,
740 0x41, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65,
741 0x3f, 0x62, 0x61, 0x73, 0x65, 0x3f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74,
742 0x43, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66,
743 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x74, 0x68, 0x6f,
744 0x72, 0x69, 0x74, 0x79, 0x30, 0x4d, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05,
745 0x05, 0x07, 0x30, 0x02, 0x86, 0x41, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f,
746 0x2f, 0x73, 0x73, 0x6c, 0x63, 0x72, 0x6c, 0x2e, 0x62, 0x6d, 0x77, 0x67,
747 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6b, 0x69,
748 0x2f, 0x42, 0x4d, 0x57, 0x25, 0x32, 0x30, 0x47, 0x72, 0x6f, 0x75, 0x70,
749 0x25, 0x32, 0x30, 0x49, 0x73, 0x73, 0x75, 0x69, 0x6e, 0x67, 0x25, 0x32,
750 0x30, 0x43, 0x41, 0x25, 0x32, 0x30, 0x32, 0x2e, 0x63, 0x72, 0x74, 0x30,
751 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05,
752 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0xa6, 0xdb, 0xab, 0x42, 0x93,
753 0x90, 0xb9, 0x6a, 0xc1, 0x92, 0xb7, 0x3c, 0xaf, 0xf2, 0x9b, 0xed, 0x2b,
754 0x14, 0xdb, 0xd8, 0x9f, 0x6b, 0xb8, 0x8e, 0x08, 0xf0, 0x0e, 0x1a, 0xfe,
755 0xb3, 0x9a, 0x6f, 0x3d, 0x28, 0x79, 0xd4, 0x88, 0xbe, 0x1c, 0x17, 0xaa,
756 0x6a, 0xa4, 0xe9, 0xf0, 0xe0, 0xee, 0x9d, 0x74, 0x25, 0xbb, 0x48, 0x16,
757 0xb1, 0x00, 0xca, 0xfa, 0x6a, 0x0c, 0x16, 0x98, 0xef, 0xf9, 0x42, 0xd6,
758 0x81, 0xb4, 0xf7, 0xa2, 0x15, 0xb6, 0xdc, 0xe8, 0x25, 0xe8, 0xdd, 0x92,
759 0x1d, 0x0c, 0x96, 0xea, 0x80, 0x41, 0x3f, 0xd7, 0xff, 0xeb, 0x53, 0xe9,
760 0x13, 0xf8, 0xdc, 0x8b, 0xe2, 0x45, 0xb8, 0xbb, 0x22, 0x81, 0xea, 0x46,
761 0xee, 0x19, 0x14, 0xe3, 0xd5, 0xb0, 0xaa, 0x2a, 0xd2, 0x52, 0xa5, 0x3f,
762 0x7e, 0xa5, 0x7d, 0x5c, 0xb0, 0x84, 0x4e, 0x77, 0x01, 0x35, 0x76, 0x31,
763 0xa3, 0x6e, 0x3f, 0x51, 0x20, 0x3f, 0x98, 0xac, 0x68, 0x28, 0x0f, 0xc6,
764 0x5a, 0xc1, 0xcf, 0x58, 0xd7, 0x75, 0xaa, 0xe2, 0x9b, 0xc3, 0xfa, 0x3c,
765 0xd6, 0x61, 0x98, 0x2b, 0xf1, 0x73, 0x78, 0x2a, 0xb2, 0x54, 0x78, 0xba,
766 0xff, 0x36, 0x15, 0x17, 0xe7, 0xe6, 0x6e, 0x82, 0xee, 0x64, 0x87, 0x81,
767 0xd9, 0x08, 0x68, 0xa4, 0xc7, 0x9b, 0xa4, 0xa9, 0xf3, 0x1e, 0xe9, 0x82,
768 0xc1, 0x3d, 0xfd, 0xe9, 0x75, 0x77, 0x81, 0x73, 0x05, 0x2e, 0x36, 0x0e,
769 0x17, 0x13, 0x48, 0x20, 0x9c, 0x24, 0xce, 0xe2, 0x22, 0x68, 0x3f, 0x37,
770 0x3d, 0xf5, 0x01, 0x0e, 0x13, 0xec, 0x3d, 0xba, 0x0d, 0x71, 0xd2, 0xe2,
771 0x67, 0x65, 0x19, 0x24, 0xa4, 0x5d, 0xae, 0x35, 0x1e, 0x39, 0x4c, 0xe4,
772 0x19, 0x48, 0x91, 0x03, 0x9e, 0xe9, 0x42, 0xfd, 0x1f, 0x1d, 0x2a, 0x98,
773 0x40, 0xd0, 0xb6, 0x92, 0xb3, 0x38, 0x0f, 0xf5, 0x7f, 0xf0, 0xc1, 0x30,
774 0x82, 0x03, 0x70, 0x30, 0x82, 0x02, 0x58, 0xa0, 0x03, 0x02, 0x01, 0x02,
775 0x02, 0x10, 0x13, 0xaa, 0xab, 0xff, 0x7f, 0x25, 0x31, 0xae, 0x49, 0x9b,
776 0x17, 0x9b, 0xef, 0xee, 0xe2, 0x97, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86,
777 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x40, 0x31,
778 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x44, 0x45,
779 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x09, 0x42,
780 0x4d, 0x57, 0x20, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x31, 0x1d, 0x30, 0x1b,
781 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x14, 0x42, 0x4d, 0x57, 0x20, 0x47,
782 0x72, 0x6f, 0x75, 0x70, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x41,
783 0x20, 0x56, 0x32, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x39, 0x31, 0x32, 0x31,
784 0x30, 0x31, 0x30, 0x32, 0x36, 0x35, 0x31, 0x5a, 0x17, 0x0d, 0x33, 0x34,
785 0x31, 0x32, 0x31, 0x30, 0x31, 0x30, 0x33, 0x35, 0x34, 0x30, 0x5a, 0x30,
786 0x40, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02,
787 0x44, 0x45, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13,
788 0x09, 0x42, 0x4d, 0x57, 0x20, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x31, 0x1d,
789 0x30, 0x1b, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x14, 0x42, 0x4d, 0x57,
790 0x20, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20,
791 0x43, 0x41, 0x20, 0x56, 0x32, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06,
792 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
793 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01,
794 0x01, 0x00, 0xd0, 0x27, 0x3b, 0xb7, 0xfe, 0x8d, 0x0c, 0xd6, 0xed, 0xf0,
795 0xa2, 0x49, 0x1f, 0x83, 0xed, 0x11, 0xcf, 0x56, 0x96, 0xe2, 0xe2, 0x1a,
796 0xac, 0x59, 0x4c, 0xef, 0x27, 0xf7, 0xda, 0xf8, 0x6a, 0x0d, 0xea, 0x78,
797 0x27, 0x69, 0x84, 0xd0, 0x4d, 0x94, 0xd8, 0x78, 0xc6, 0x14, 0x25, 0x98,
798 0x68, 0x69, 0xd5, 0x3a, 0xfd, 0x84, 0x39, 0xf3, 0x4a, 0xb8, 0x47, 0x51,
799 0x59, 0x8c, 0xa4, 0x24, 0x97, 0x10, 0xb5, 0x3b, 0x28, 0x4f, 0x26, 0x91,
800 0xad, 0xb2, 0x39, 0xc7, 0x8b, 0x96, 0x99, 0x62, 0x53, 0xe3, 0xee, 0xba,
801 0x1d, 0x55, 0x49, 0x98, 0x32, 0x60, 0xb3, 0x8d, 0x1a, 0x53, 0x29, 0x7b,
802 0xf1, 0xd3, 0xf4, 0xbc, 0x7d, 0xf1, 0x47, 0x78, 0x88, 0xe4, 0x14, 0x9c,
803 0x60, 0xdc, 0x8b, 0x65, 0xfd, 0x95, 0x39, 0xc0, 0x8b, 0x59, 0xcb, 0x66,
804 0xd2, 0x6a, 0x19, 0x67, 0x0e, 0xcd, 0x56, 0xf6, 0x7a, 0x2a, 0x8f, 0x2a,
805 0x4f, 0x1e, 0x15, 0x4d, 0xbe, 0xb5, 0x3e, 0xca, 0x3a, 0xc3, 0x93, 0x8a,
806 0xac, 0x28, 0x4c, 0x2d, 0xbd, 0x1f, 0x2b, 0x92, 0x43, 0x32, 0xdd, 0x97,
807 0xef, 0xb7, 0x09, 0xf3, 0x6b, 0x3d, 0x1e, 0x36, 0x16, 0x8b, 0x78, 0xce,
808 0x96, 0x45, 0x36, 0x9d, 0x3a, 0x90, 0x5e, 0x20, 0x3f, 0xb2, 0x39, 0x8b,
809 0x2f, 0x76, 0xd1, 0x2f, 0xe9, 0x2a, 0xb0, 0xd8, 0x40, 0x0b, 0xd9, 0x62,
810 0xd0, 0xe0, 0x6b, 0xa6, 0xf7, 0x00, 0xa8, 0x50, 0xac, 0xb0, 0x17, 0x20,
811 0x6c, 0x89, 0x1b, 0x32, 0x0a, 0x91, 0x8f, 0x94, 0xcf, 0x24, 0x72, 0xdb,
812 0x4f, 0xf9, 0x4c, 0x9e, 0x88, 0x49, 0xd9, 0x01, 0x03, 0xd0, 0xc7, 0xf4,
813 0xd1, 0xf8, 0xd5, 0x6b, 0x76, 0xea, 0x14, 0xa3, 0xb5, 0x24, 0x4c, 0xa5,
814 0xd2, 0xa8, 0x12, 0x79, 0xd3, 0x27, 0xb4, 0x9a, 0x47, 0xaa, 0x7b, 0x74,
815 0x90, 0xbb, 0xb5, 0x74, 0x29, 0x53, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3,
816 0x66, 0x30, 0x64, 0x30, 0x13, 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01,
817 0x82, 0x37, 0x14, 0x02, 0x04, 0x06, 0x1e, 0x04, 0x00, 0x43, 0x00, 0x41,
818 0x30, 0x0b, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x04, 0x04, 0x03, 0x02, 0x01,
819 0x86, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04,
820 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d,
821 0x0e, 0x04, 0x16, 0x04, 0x14, 0x17, 0xd0, 0xa6, 0x81, 0xc4, 0xba, 0xb6,
822 0x59, 0xe8, 0xac, 0xa5, 0x5f, 0xa3, 0x07, 0xad, 0xfd, 0x8b, 0x56, 0x2b,
823 0xbb, 0x30, 0x10, 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37,
824 0x15, 0x01, 0x04, 0x03, 0x02, 0x01, 0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a,
825 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82,
826 0x01, 0x01, 0x00, 0x6c, 0x1b, 0xf2, 0x9b, 0xa7, 0x29, 0xc3, 0x7c, 0x90,
827 0xf0, 0xd2, 0x88, 0xc1, 0x5a, 0xdf, 0xea, 0x1d, 0x48, 0xeb, 0xe5, 0x83,
828 0x64, 0x31, 0xb4, 0x61, 0xa8, 0x3c, 0xfe, 0x1b, 0xf9, 0x0e, 0xc1, 0xdd,
829 0xd2, 0x81, 0xcb, 0x57, 0xcf, 0x12, 0xe0, 0x97, 0xee, 0xfe, 0x7c, 0x9e,
830 0x4d, 0xf2, 0x53, 0x68, 0x30, 0xab, 0xa7, 0x6b, 0xcd, 0xac, 0xef, 0x98,
831 0x93, 0x6e, 0x96, 0x93, 0x49, 0x0d, 0x51, 0x61, 0xb2, 0x85, 0x71, 0x7e,
832 0x3d, 0x3d, 0x90, 0x4d, 0xd6, 0x46, 0x85, 0xf8, 0x67, 0x8c, 0x53, 0x10,
833 0x0c, 0x36, 0xd4, 0xe9, 0xfb, 0x29, 0x19, 0x27, 0xfb, 0xcd, 0x87, 0xd3,
834 0x2b, 0xd3, 0xfd, 0x2e, 0xac, 0xf9, 0xeb, 0x1d, 0x82, 0xa7, 0x4f, 0x22,
835 0xba, 0x73, 0x22, 0x26, 0x64, 0x73, 0x5c, 0xaa, 0x44, 0x23, 0x9e, 0x5d,
836 0xb6, 0xd0, 0x79, 0xd8, 0x7f, 0x2e, 0xd6, 0xdb, 0x73, 0x3a, 0x09, 0xdf,
837 0x44, 0xff, 0xba, 0xa6, 0xcc, 0xcc, 0x61, 0x76, 0x8c, 0x18, 0x8c, 0x89,
838 0xa9, 0x10, 0xab, 0xda, 0x21, 0x22, 0xfb, 0x3f, 0x65, 0x0b, 0xa9, 0xd3,
839 0x0a, 0x70, 0x85, 0x8a, 0x81, 0xb7, 0x60, 0x9a, 0x6d, 0x3a, 0x42, 0xfa,
840 0xc8, 0x0b, 0x58, 0x8d, 0x47, 0x34, 0x78, 0x51, 0x66, 0xc3, 0x11, 0xa6,
841 0x22, 0x99, 0x2b, 0x64, 0x64, 0xda, 0xe3, 0xa1, 0x46, 0x81, 0xb7, 0x52,
842 0xdc, 0xd0, 0x17, 0x19, 0xf1, 0xae, 0xe0, 0x05, 0x92, 0x07, 0x92, 0x98,
843 0x0f, 0x2a, 0xf7, 0x1d, 0xe2, 0x42, 0x7f, 0x97, 0xd1, 0xea, 0x27, 0x8e,
844 0x65, 0xef, 0x00, 0x0b, 0xce, 0xbb, 0xd7, 0xa7, 0x7d, 0xf9, 0x31, 0x92,
845 0x44, 0x1c, 0x9e, 0x84, 0xc6, 0x8f, 0xed, 0x37, 0x51, 0x79, 0xaa, 0x7b,
846 0x9a, 0x9d, 0xac, 0xe2, 0xa0, 0xae, 0x4d, 0xf0, 0x91, 0x83, 0x5d, 0x85,
847 0xca, 0xfa, 0xea, 0x26, 0x0b, 0x48, 0x16, 0x30, 0x82, 0x05, 0xfc, 0x30,
848 0x82, 0x04, 0xe4, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x0a, 0x1e, 0x30,
849 0xc3, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x30, 0x0d, 0x06, 0x09,
850 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30,
851 0x40, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02,
852 0x44, 0x45, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13,
853 0x09, 0x42, 0x4d, 0x57, 0x20, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x31, 0x1d,
854 0x30, 0x1b, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x14, 0x42, 0x4d, 0x57,
855 0x20, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20,
856 0x43, 0x41, 0x20, 0x56, 0x32, 0x30, 0x1e, 0x17, 0x0d, 0x30, 0x39, 0x31,
857 0x32, 0x31, 0x37, 0x30, 0x39, 0x31, 0x37, 0x31, 0x39, 0x5a, 0x17, 0x0d,
858 0x32, 0x32, 0x31, 0x32, 0x31, 0x37, 0x30, 0x39, 0x32, 0x37, 0x31, 0x39,
859 0x5a, 0x30, 0x64, 0x31, 0x14, 0x30, 0x12, 0x06, 0x0a, 0x09, 0x92, 0x26,
860 0x89, 0x93, 0xf2, 0x2c, 0x64, 0x01, 0x19, 0x16, 0x04, 0x63, 0x6f, 0x72,
861 0x70, 0x31, 0x13, 0x30, 0x11, 0x06, 0x0a, 0x09, 0x92, 0x26, 0x89, 0x93,
862 0xf2, 0x2c, 0x64, 0x01, 0x19, 0x16, 0x03, 0x62, 0x6d, 0x77, 0x31, 0x16,
863 0x30, 0x14, 0x06, 0x0a, 0x09, 0x92, 0x26, 0x89, 0x93, 0xf2, 0x2c, 0x64,
864 0x01, 0x19, 0x16, 0x06, 0x65, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x31, 0x1f,
865 0x30, 0x1d, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x16, 0x42, 0x4d, 0x57,
866 0x20, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x49, 0x73, 0x73, 0x75, 0x69,
867 0x6e, 0x67, 0x20, 0x43, 0x41, 0x20, 0x32, 0x30, 0x82, 0x01, 0x22, 0x30,
868 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01,
869 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02,
870 0x82, 0x01, 0x01, 0x00, 0xb3, 0xab, 0xd3, 0x53, 0x73, 0x45, 0x6c, 0x37,
871 0xc4, 0x79, 0x7c, 0xe9, 0xfb, 0x0d, 0x6b, 0xb5, 0x9d, 0xcc, 0x95, 0xa5,
872 0xf7, 0x02, 0x04, 0x94, 0x8a, 0x2f, 0xb2, 0xea, 0x9f, 0x27, 0xe4, 0xef,
873 0x95, 0x02, 0x2f, 0x8c, 0x2f, 0x23, 0x4a, 0xd9, 0x53, 0xc8, 0x81, 0xb7,
874 0xe9, 0xb8, 0xb1, 0x52, 0x5c, 0x02, 0x7a, 0x2b, 0x4c, 0xe1, 0xeb, 0x25,
875 0xa4, 0x8b, 0x53, 0xa4, 0x45, 0x74, 0xbb, 0x20, 0xa6, 0x2e, 0x8b, 0x5b,
876 0xf0, 0x05, 0x86, 0x06, 0x79, 0x24, 0x55, 0x27, 0x10, 0x71, 0x9b, 0xf7,
877 0xac, 0x71, 0x8c, 0xa0, 0x4c, 0xe7, 0x9f, 0x1a, 0xb4, 0xa2, 0xd7, 0x5b,
878 0x17, 0xa3, 0x9f, 0xb3, 0x5b, 0x28, 0x16, 0xbe, 0x28, 0x48, 0x58, 0x6f,
879 0x19, 0x7e, 0x7c, 0x7b, 0x0d, 0x69, 0x59, 0xa1, 0x97, 0x13, 0x1a, 0x1f,
880 0x9c, 0xf3, 0x47, 0x36, 0xf2, 0xfa, 0xda, 0xad, 0xbd, 0xd2, 0xda, 0xdd,
881 0xb9, 0xcb, 0x9e, 0xef, 0xe4, 0x63, 0x1e, 0xdb, 0xf6, 0xd6, 0x4c, 0x85,
882 0xf1, 0x7f, 0x04, 0xe4, 0xf7, 0x07, 0xc4, 0x6e, 0x77, 0x36, 0xd7, 0x4e,
883 0x62, 0xb9, 0x71, 0x5b, 0x46, 0x58, 0x99, 0x81, 0xa9, 0x71, 0x43, 0x36,
884 0x4b, 0x06, 0xc2, 0x9c, 0xd9, 0x91, 0xb5, 0x5c, 0xcf, 0x95, 0x94, 0xa1,
885 0x37, 0x44, 0xce, 0x59, 0xc4, 0x1f, 0x99, 0x1e, 0x2d, 0x18, 0xb8, 0x6a,
886 0xf8, 0x13, 0x0e, 0x71, 0x4b, 0x67, 0xd7, 0x1e, 0xc8, 0x4d, 0x1f, 0x54,
887 0xd6, 0xc5, 0x94, 0x39, 0x52, 0x32, 0xca, 0x47, 0xa2, 0x01, 0x83, 0x03,
888 0x1b, 0xa8, 0xe1, 0xd4, 0x7d, 0x30, 0x1f, 0x20, 0x58, 0xb0, 0xd4, 0x6b,
889 0xeb, 0x13, 0x37, 0x10, 0x98, 0x3f, 0x89, 0x0d, 0x94, 0xa3, 0x24, 0xfd,
890 0xcf, 0x20, 0x79, 0xc2, 0x2e, 0x25, 0xcb, 0x0b, 0x47, 0x25, 0xe5, 0x79,
891 0xbe, 0x4e, 0x92, 0xd7, 0x24, 0xea, 0xc6, 0x1b, 0x02, 0x03, 0x01, 0x00,
892 0x01, 0xa3, 0x82, 0x02, 0xd2, 0x30, 0x82, 0x02, 0xce, 0x30, 0x0f, 0x06,
893 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01,
894 0x01, 0xff, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04,
895 0x14, 0x61, 0x0a, 0xef, 0x1a, 0x3d, 0xfe, 0x9a, 0x68, 0x81, 0xcb, 0xb2,
896 0x62, 0xe5, 0xc0, 0x21, 0x8e, 0xdd, 0xec, 0x61, 0x95, 0x30, 0x0e, 0x06,
897 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01,
898 0x06, 0x30, 0x10, 0x06, 0x09, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37,
899 0x15, 0x01, 0x04, 0x03, 0x02, 0x01, 0x00, 0x30, 0x19, 0x06, 0x09, 0x2b,
900 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x14, 0x02, 0x04, 0x0c, 0x1e, 0x0a,
901 0x00, 0x53, 0x00, 0x75, 0x00, 0x62, 0x00, 0x43, 0x00, 0x41, 0x30, 0x1f,
902 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x17,
903 0xd0, 0xa6, 0x81, 0xc4, 0xba, 0xb6, 0x59, 0xe8, 0xac, 0xa5, 0x5f, 0xa3,
904 0x07, 0xad, 0xfd, 0x8b, 0x56, 0x2b, 0xbb, 0x30, 0x82, 0x01, 0x1e, 0x06,
905 0x03, 0x55, 0x1d, 0x1f, 0x04, 0x82, 0x01, 0x15, 0x30, 0x82, 0x01, 0x11,
906 0x30, 0x82, 0x01, 0x0d, 0xa0, 0x82, 0x01, 0x09, 0xa0, 0x82, 0x01, 0x05,
907 0x86, 0x81, 0xc1, 0x6c, 0x64, 0x61, 0x70, 0x3a, 0x2f, 0x2f, 0x2f, 0x43,
908 0x4e, 0x3d, 0x42, 0x4d, 0x57, 0x25, 0x32, 0x30, 0x47, 0x72, 0x6f, 0x75,
909 0x70, 0x25, 0x32, 0x30, 0x52, 0x6f, 0x6f, 0x74, 0x25, 0x32, 0x30, 0x43,
910 0x41, 0x25, 0x32, 0x30, 0x56, 0x32, 0x2c, 0x43, 0x4e, 0x3d, 0x73, 0x6d,
911 0x75, 0x63, 0x31, 0x38, 0x39, 0x32, 0x2c, 0x43, 0x4e, 0x3d, 0x43, 0x44,
912 0x50, 0x2c, 0x43, 0x4e, 0x3d, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x25,
913 0x32, 0x30, 0x4b, 0x65, 0x79, 0x25, 0x32, 0x30, 0x53, 0x65, 0x72, 0x76,
914 0x69, 0x63, 0x65, 0x73, 0x2c, 0x43, 0x4e, 0x3d, 0x53, 0x65, 0x72, 0x76,
915 0x69, 0x63, 0x65, 0x73, 0x2c, 0x43, 0x4e, 0x3d, 0x43, 0x6f, 0x6e, 0x66,
916 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x44, 0x43,
917 0x3d, 0x62, 0x6d, 0x77, 0x2c, 0x44, 0x43, 0x3d, 0x63, 0x6f, 0x72, 0x70,
918 0x3f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65,
919 0x52, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69,
920 0x73, 0x74, 0x3f, 0x62, 0x61, 0x73, 0x65, 0x3f, 0x6f, 0x62, 0x6a, 0x65,
921 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x63, 0x52, 0x4c, 0x44,
922 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50,
923 0x6f, 0x69, 0x6e, 0x74, 0x86, 0x3f, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f,
924 0x2f, 0x73, 0x73, 0x6c, 0x63, 0x72, 0x6c, 0x2e, 0x62, 0x6d, 0x77, 0x67,
925 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6b, 0x69,
926 0x2f, 0x42, 0x4d, 0x57, 0x25, 0x32, 0x30, 0x47, 0x72, 0x6f, 0x75, 0x70,
927 0x25, 0x32, 0x30, 0x52, 0x6f, 0x6f, 0x74, 0x25, 0x32, 0x30, 0x43, 0x41,
928 0x25, 0x32, 0x30, 0x56, 0x32, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x82, 0x01,
929 0x1a, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04,
930 0x82, 0x01, 0x0c, 0x30, 0x82, 0x01, 0x08, 0x30, 0x81, 0xb8, 0x06, 0x08,
931 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x02, 0x86, 0x81, 0xab, 0x6c,
932 0x64, 0x61, 0x70, 0x3a, 0x2f, 0x2f, 0x2f, 0x43, 0x4e, 0x3d, 0x42, 0x4d,
933 0x57, 0x25, 0x32, 0x30, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x25, 0x32, 0x30,
934 0x52, 0x6f, 0x6f, 0x74, 0x25, 0x32, 0x30, 0x43, 0x41, 0x25, 0x32, 0x30,
935 0x56, 0x32, 0x2c, 0x43, 0x4e, 0x3d, 0x41, 0x49, 0x41, 0x2c, 0x43, 0x4e,
936 0x3d, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x25, 0x32, 0x30, 0x4b, 0x65,
937 0x79, 0x25, 0x32, 0x30, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73,
938 0x2c, 0x43, 0x4e, 0x3d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73,
939 0x2c, 0x43, 0x4e, 0x3d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72,
940 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x44, 0x43, 0x3d, 0x62, 0x6d, 0x77,
941 0x2c, 0x44, 0x43, 0x3d, 0x63, 0x6f, 0x72, 0x70, 0x3f, 0x63, 0x41, 0x43,
942 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x3f, 0x62,
943 0x61, 0x73, 0x65, 0x3f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c,
944 0x61, 0x73, 0x73, 0x3d, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63,
945 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69,
946 0x74, 0x79, 0x30, 0x4b, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07,
947 0x30, 0x02, 0x86, 0x3f, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x73,
948 0x73, 0x6c, 0x63, 0x72, 0x6c, 0x2e, 0x62, 0x6d, 0x77, 0x67, 0x72, 0x6f,
949 0x75, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6b, 0x69, 0x2f, 0x42,
950 0x4d, 0x57, 0x25, 0x32, 0x30, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x25, 0x32,
951 0x30, 0x52, 0x6f, 0x6f, 0x74, 0x25, 0x32, 0x30, 0x43, 0x41, 0x25, 0x32,
952 0x30, 0x56, 0x32, 0x2e, 0x63, 0x72, 0x74, 0x30, 0x0d, 0x06, 0x09, 0x2a,
953 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82,
954 0x01, 0x01, 0x00, 0x68, 0x8c, 0xe9, 0xec, 0x52, 0x47, 0xe5, 0x9a, 0xac,
955 0x02, 0x1e, 0x1f, 0x49, 0x12, 0x24, 0x4a, 0xd6, 0x76, 0x41, 0xa7, 0xe6,
956 0x32, 0xf5, 0xc3, 0x96, 0xad, 0x22, 0x34, 0xd6, 0xf7, 0xce, 0xcc, 0xf5,
957 0x20, 0xcf, 0xf9, 0x81, 0x55, 0xff, 0x7a, 0xfb, 0x77, 0xe0, 0x5e, 0x37,
958 0x56, 0x55, 0x17, 0xd7, 0x1a, 0x09, 0x52, 0x2c, 0xda, 0x84, 0xed, 0x1e,
959 0xa3, 0xb3, 0x26, 0xfe, 0x93, 0xff, 0x45, 0x6a, 0x87, 0x91, 0xf9, 0x05,
960 0xe3, 0xa6, 0xcf, 0x33, 0xbc, 0xd6, 0x4a, 0x58, 0x70, 0xfa, 0x9e, 0x54,
961 0x7a, 0x79, 0x16, 0xd7, 0xea, 0xd4, 0x04, 0xaf, 0x87, 0x9a, 0x54, 0xe5,
962 0x80, 0x13, 0xfd, 0xdf, 0x83, 0xc4, 0x60, 0x12, 0x33, 0x49, 0x7b, 0x90,
963 0xd7, 0x1e, 0x09, 0x11, 0x4b, 0xd8, 0xbe, 0x06, 0xd4, 0xf0, 0x8e, 0x84,
964 0x06, 0x2a, 0xe3, 0x0b, 0xf4, 0xac, 0x9d, 0x31, 0xa1, 0x9f, 0x03, 0x91,
965 0xbe, 0xf8, 0x93, 0x6d, 0xc1, 0x9d, 0x8f, 0x18, 0xd3, 0xb9, 0x29, 0xaa,
966 0x19, 0x51, 0x15, 0xf7, 0x99, 0x3f, 0x42, 0x69, 0xfd, 0xec, 0xfb, 0xf0,
967 0x8a, 0x3f, 0x35, 0x65, 0x17, 0x1c, 0x52, 0xf4, 0xd1, 0x31, 0xc8, 0x14,
968 0x51, 0x42, 0x1b, 0xb8, 0xea, 0x7c, 0x4f, 0xbf, 0xd5, 0x78, 0x72, 0xdf,
969 0x18, 0x86, 0xc6, 0x2f, 0x2c, 0xb4, 0x45, 0x1b, 0x0b, 0x00, 0x16, 0x0e,
970 0xd6, 0x41, 0xd9, 0x4d, 0xa0, 0x9e, 0xb3, 0x56, 0x8d, 0xf8, 0x6b, 0xa0,
971 0x20, 0x4c, 0x1c, 0x6e, 0x3a, 0x80, 0xec, 0xd7, 0x85, 0x8c, 0xbb, 0xc1,
972 0x51, 0x73, 0x66, 0x47, 0x01, 0x44, 0x9a, 0x87, 0xc9, 0xed, 0x49, 0x04,
973 0xc2, 0x41, 0xea, 0x65, 0x16, 0xda, 0xd0, 0xb7, 0xe6, 0x03, 0x73, 0x74,
974 0x11, 0x3b, 0x94, 0x1b, 0x9f, 0x06, 0xb9, 0x71, 0x02, 0x70, 0x66, 0xa0,
975 0x12, 0xb5, 0x5a, 0xe8, 0x2c, 0xf9, 0x63, 0x31, 0x00
976 };
977 static unsigned int bmw_scep_pkt_len = 5661;
978
979 #include "si-63-scep/getcacert-mdes.h"
980 #include "si-63-scep/getcacert-mdesqa.h"
981
982 #include <fcntl.h>
983 __unused static inline void write_data(const char * path, CFDataRef data)
984 {
985 int data_file = open(path, O_CREAT|O_WRONLY|O_TRUNC, 0644);
986 write(data_file, CFDataGetBytePtr(data), CFDataGetLength(data));
987 close(data_file);
988 }
989
990
991 __unused static inline CFMutableArrayRef maa(CFMutableArrayRef array, CFTypeRef a) {
992 CFMutableArrayRef ma = array;
993 if (!ma)
994 CFArrayCreateMutable(kCFAllocatorDefault, 0, &kCFTypeArrayCallBacks);
995 if (ma) {
996 CFArrayAppendValue(ma, a);
997 CFRelease(a);
998 }
999 return ma;
1000 }
1001
1002 /* Test basic add delete update copy matching stuff. */
1003 static void tests(void)
1004 {
1005 CFDataRef getcacert_blob = CFDataCreateWithBytesNoCopy(kCFAllocatorDefault,
1006 getcacert, getcacert_len, kCFAllocatorNull);
1007 CFArrayRef certificates = NULL;
1008 SecCertificateRef ca_certificate, ra_signing_certificate, ra_encryption_certificate;
1009 ca_certificate = ra_signing_certificate = ra_encryption_certificate = NULL;
1010 certificates = SecCMSCertificatesOnlyMessageCopyCertificates(getcacert_blob);
1011 isnt(certificates, NULL, "decode cert-only pkcs#7");
1012 CFDataRef sha1_fingerprint = CFDataCreateWithBytesNoCopy(kCFAllocatorDefault,
1013 ruby_sha1_hash, sizeof(ruby_sha1_hash), kCFAllocatorNull);
1014
1015 ok_status(SecSCEPValidateCACertMessage(certificates, sha1_fingerprint,
1016 &ca_certificate, &ra_signing_certificate, &ra_encryption_certificate),
1017 "parse CA/RAse getcacert message");
1018 CFReleaseNull(sha1_fingerprint);
1019 isnt(ca_certificate, NULL, "got ca cert");
1020 isnt(ra_signing_certificate, NULL, "got ra signing cert");
1021 is(ra_encryption_certificate, NULL, "no separate ra encryption cert");
1022
1023 /* these are always going to be true, but ensure replacement payloads are equivalent */
1024 ok(SecCertificateIsSelfSignedCA(ca_certificate), "self-signed ca cert");
1025 ok(SecCertificateGetKeyUsage(ra_signing_certificate) & kSecKeyUsageDigitalSignature, "can sign");
1026
1027 CFReleaseNull(ca_certificate);
1028 CFReleaseNull(ra_signing_certificate);
1029 CFReleaseNull(ra_encryption_certificate);
1030 CFReleaseNull(getcacert_blob);
1031 CFReleaseNull(certificates);
1032
1033 ca_certificate = ra_signing_certificate = ra_encryption_certificate = NULL;
1034 getcacert_blob = CFDataCreateWithBytesNoCopy(kCFAllocatorDefault, getcacert_mdes, getcacert_mdes_len, kCFAllocatorNull);
1035 certificates = SecCMSCertificatesOnlyMessageCopyCertificates(getcacert_blob);
1036 ok_status(SecSCEPValidateCACertMessage(certificates, NULL, &ca_certificate, &ra_signing_certificate, &ra_encryption_certificate), "parse WF MDES getcacert message");
1037 ok(ca_certificate && ra_signing_certificate && ra_encryption_certificate, "identify all 3 certs");
1038
1039 CFReleaseNull(ca_certificate);
1040 CFReleaseNull(ra_signing_certificate);
1041 CFReleaseNull(ra_encryption_certificate);
1042 CFReleaseNull(getcacert_blob);
1043 CFReleaseNull(certificates);
1044
1045 ca_certificate = ra_signing_certificate = ra_encryption_certificate = NULL;
1046 getcacert_blob = CFDataCreateWithBytesNoCopy(kCFAllocatorDefault, getcacert_mdesqa, getcacert_mdesqa_len, kCFAllocatorNull);
1047 certificates = SecCMSCertificatesOnlyMessageCopyCertificates(getcacert_blob);
1048 ok_status(SecSCEPValidateCACertMessage(certificates, NULL, &ca_certificate, &ra_signing_certificate, &ra_encryption_certificate), "parse WF MDESQA getcacert message");
1049 ok(ca_certificate && ra_signing_certificate && ra_encryption_certificate, "identify all 3 certs");
1050
1051 CFReleaseNull(ca_certificate);
1052 CFReleaseNull(ra_signing_certificate);
1053 CFReleaseNull(ra_encryption_certificate);
1054 CFReleaseNull(getcacert_blob);
1055 CFReleaseNull(certificates);
1056
1057 sha1_fingerprint = CFDataCreateWithBytesNoCopy(kCFAllocatorDefault,
1058 msscep_md5_hash, sizeof(msscep_md5_hash), kCFAllocatorNull);
1059 CFDataRef msscep_getcacert_blob = CFDataCreateWithBytesNoCopy(kCFAllocatorDefault,
1060 msscep_getcacert, msscep_getcacert_len, kCFAllocatorNull);
1061 CFReleaseNull(sha1_fingerprint);
1062 ca_certificate = ra_signing_certificate = ra_encryption_certificate = NULL;
1063 certificates = SecCMSCertificatesOnlyMessageCopyCertificates(msscep_getcacert_blob);
1064 ok_status(SecSCEPValidateCACertMessage(certificates, sha1_fingerprint,
1065 &ca_certificate, &ra_signing_certificate, &ra_encryption_certificate),
1066 "parse CA/RAs/RAe msscep getcacert message");
1067 isnt(ca_certificate, NULL, "got ca cert");
1068 isnt(ra_signing_certificate, NULL, "got ra signing cert");
1069 isnt(ra_encryption_certificate, NULL, "got ra encryption cert");
1070
1071 /* these are always going to be true, but ensure replacement payloads are equivalent */
1072 ok(SecCertificateIsSelfSignedCA(ca_certificate), "self-signed ca cert");
1073 ok(SecCertificateGetKeyUsage(ra_encryption_certificate) & kSecKeyUsageKeyEncipherment, "can sign");
1074
1075 /*
1076 int ix;
1077 uint8_t md5_hash[CC_MD5_DIGEST_LENGTH];
1078 CFDataRef cert_data = SecCertificateCopyData(ca_certificate);
1079 CC_MD5(CFDataGetBytePtr(cert_data), CFDataGetLength(cert_data), md5_hash);
1080 for(ix = 0; ix < CC_MD5_DIGEST_LENGTH; ix++) fprintf(stdout, "0x%.02x, ", md5_hash[ix]); fprintf(stdout, "\n");
1081 uint8_t sha1_hash[CC_SHA1_DIGEST_LENGTH];
1082 CCDigest(kCCDigestSHA1, CFDataGetBytePtr(cert_data), CFDataGetLength(cert_data), sha1_hash);
1083 for(ix = 0; ix < CC_SHA1_DIGEST_LENGTH; ix++) fprintf(stdout, "0x%.02x, ", sha1_hash[ix]); fprintf(stdout, "\n");
1084 CFRelease(cert_data);
1085 */
1086
1087 CFReleaseNull(ca_certificate);
1088 CFReleaseNull(ra_signing_certificate);
1089 CFReleaseNull(ra_encryption_certificate);
1090 CFRelease(certificates);
1091 CFRelease(msscep_getcacert_blob);
1092
1093
1094
1095
1096 CFDataRef bmw_getcacert_blob = CFDataCreateWithBytesNoCopy(kCFAllocatorDefault,
1097 bmw_scep_pkt, bmw_scep_pkt_len, kCFAllocatorNull);
1098 ca_certificate = ra_signing_certificate = ra_encryption_certificate = NULL;
1099 certificates = SecCMSCertificatesOnlyMessageCopyCertificates(bmw_getcacert_blob);
1100 CFMutableArrayRef certificates_mod = CFArrayCreateMutableCopy(kCFAllocatorDefault, 0, certificates);
1101 CFArrayRemoveValueAtIndex(certificates_mod, 2);
1102 ok_status(SecSCEPValidateCACertMessage(certificates_mod, NULL,
1103 &ca_certificate, &ra_signing_certificate, &ra_encryption_certificate),
1104 "parse CA/RAs/RAe msscep getcacert message");
1105 CFRelease(certificates_mod);
1106 CFRelease(ca_certificate);
1107 CFRelease(ra_signing_certificate);
1108 CFRelease(ra_encryption_certificate);
1109 certificates_mod = CFArrayCreateMutableCopy(kCFAllocatorDefault, 0, certificates);
1110 CFArrayInsertValueAtIndex(certificates_mod, 0, CFArrayGetValueAtIndex(certificates_mod, 3));
1111 CFArrayRemoveValueAtIndex(certificates_mod, 4);
1112 ok_status(SecSCEPValidateCACertMessage(certificates_mod, NULL,
1113 &ca_certificate, &ra_signing_certificate, &ra_encryption_certificate),
1114 "parse CA/RAs/RAe msscep getcacert message");
1115 CFRelease(certificates_mod);
1116 CFRelease(ca_certificate);
1117 CFRelease(ra_signing_certificate);
1118 CFRelease(ra_encryption_certificate);
1119
1120 ok_status(SecSCEPValidateCACertMessage(certificates, NULL,
1121 &ca_certificate, &ra_signing_certificate, &ra_encryption_certificate),
1122 "parse CA/RAs/RAe msscep getcacert message");
1123 isnt(ca_certificate, NULL, "got ca cert");
1124 isnt(ra_signing_certificate, NULL, "got ra signing cert");
1125 isnt(ra_encryption_certificate, NULL, "got ra encryption cert");
1126
1127 /* these are always going to be true, but ensure replacement payloads are equivalent */
1128 ok(SecCertificateIsSelfSignedCA(ca_certificate), "self-signed ca cert");
1129 ok(SecCertificateGetKeyUsage(ra_encryption_certificate) & kSecKeyUsageKeyEncipherment, "can sign");
1130
1131 CFReleaseSafe(ca_certificate);
1132 CFReleaseSafe(ra_signing_certificate);
1133 CFReleaseSafe(ra_encryption_certificate);
1134 CFReleaseSafe(certificates);
1135 CFReleaseSafe(bmw_getcacert_blob);
1136
1137 uint32_t key_size_in_bits = 512;
1138 CFNumberRef key_size = CFNumberCreate(kCFAllocatorDefault, kCFNumberIntType, &key_size_in_bits);
1139 const void *keygen_keys[] = { kSecAttrKeyType, kSecAttrKeySizeInBits };
1140 const void *keygen_vals[] = { kSecAttrKeyTypeRSA, key_size };
1141 CFDictionaryRef parameters = CFDictionaryCreate(kCFAllocatorDefault,
1142 keygen_keys, keygen_vals, array_size(keygen_vals),
1143 &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks);
1144 CFRelease(key_size);
1145
1146 SecKeyRef ca_publicKey = NULL, ca_privateKey = NULL;
1147 ok_status(SecKeyGeneratePair(parameters, &ca_publicKey, &ca_privateKey), "gen key");
1148 SecIdentityRef ca_identity = test_cert_create_root_certificate(CFSTR("O=Foo Bar Inc.,CN=Root CA"), ca_publicKey, ca_privateKey);
1149 CFRelease(ca_publicKey);
1150 CFRelease(ca_privateKey);
1151
1152 SecKeyRef scep_ra_publicKey = NULL, scep_ra_privateKey = NULL;
1153 ok_status(SecKeyGeneratePair(parameters, &scep_ra_publicKey, &scep_ra_privateKey), "generate ra key pair");
1154 SecCertificateRef scep_ra_certificate =
1155 test_cert_issue_certificate(ca_identity, scep_ra_publicKey,
1156 CFSTR("O=Foo Bar Inc.,CN=SCEP RA"), 42,
1157 kSecKeyUsageKeyEncipherment|kSecKeyUsageDigitalSignature);
1158 ok(scep_ra_certificate, "got a ra cert");
1159 SecIdentityRef ra_identity = SecIdentityCreate(kCFAllocatorDefault, scep_ra_certificate, scep_ra_privateKey);
1160 CFRelease(scep_ra_publicKey);
1161 CFRelease(scep_ra_privateKey);
1162
1163 // store encryption identity in the keychain because the decrypt function looks in there only
1164 CFDictionaryRef identity_add = CFDictionaryCreate(NULL,
1165 (const void **)&kSecValueRef, (const void **)&ra_identity, 1, NULL, NULL);
1166 ok_status(SecItemAdd(identity_add, NULL), "add encryption identity to keychain");
1167
1168 SecKeyRef phone_publicKey = NULL, phone_privateKey = NULL;
1169 ok_status(SecKeyGeneratePair(parameters, &phone_publicKey, &phone_privateKey), "generate phone key pair");
1170 CFArrayRef subject = test_cert_string_to_subject(CFSTR("O=Foo Bar Inc.,CN=Shoes"));
1171 SecIdentityRef self_signed_identity = SecSCEPCreateTemporaryIdentity(phone_publicKey, phone_privateKey);
1172 CFStringRef magic = CFSTR("magic");
1173 CFDictionaryRef csr_params = CFDictionaryCreate(kCFAllocatorDefault,
1174 (const void **)&kSecCSRChallengePassword, (const void **)&magic, 1, NULL, NULL);
1175 CFDataRef request = SecSCEPGenerateCertificateRequest(NULL, csr_params, phone_publicKey, phone_privateKey, self_signed_identity, scep_ra_certificate);
1176 CFRelease(csr_params);
1177 CFRelease(phone_publicKey);
1178 CFRelease(phone_privateKey);
1179 isnt(request, NULL, "got a request");
1180 CFDataRef serialno = CFDataCreate(kCFAllocatorDefault, (uint8_t*)"\001", 1);
1181 CFDataRef pended_request = SecSCEPCertifyRequest(request, ra_identity, serialno, true);
1182 CFRelease(serialno);
1183 isnt(pended_request, NULL, "got a pended request (not failed)");
1184 CFErrorRef server_error = NULL;
1185 CFArrayRef issued_certs = NULL;
1186 issued_certs = SecSCEPVerifyReply(request, pended_request, scep_ra_certificate, &server_error);
1187 CFReleaseSafe(request);
1188 is(issued_certs, NULL, "no certs if pended");
1189 CFDataRef retry_get_cert_initial = NULL;
1190 isnt(server_error, NULL, "Should have gotten PENDING error");
1191 CFDictionaryRef error_dict = CFErrorCopyUserInfo(server_error);
1192 retry_get_cert_initial = SecSCEPGetCertInitial(scep_ra_certificate, subject, NULL, error_dict, self_signed_identity, scep_ra_certificate);
1193 isnt(retry_get_cert_initial, NULL, "got retry request");
1194 //write_data("/var/tmp/get_cert_initial", retry_get_cert_initial);
1195 CFRelease(subject);
1196
1197 ok_status(SecItemDelete(identity_add), "delete encryption identity from keychain");
1198 CFReleaseSafe(identity_add);
1199
1200 CFReleaseSafe(self_signed_identity);
1201 CFReleaseSafe(retry_get_cert_initial);
1202 CFReleaseSafe(server_error);
1203 CFReleaseSafe(pended_request);
1204 CFReleaseSafe(issued_certs);
1205 CFReleaseSafe(error_dict);
1206 }
1207
1208 int si_63_scep(int argc, char *const *argv)
1209 {
1210 plan_tests(36);
1211
1212
1213 tests();
1214
1215 return 0;
1216 }