]> git.saurik.com Git - apple/security.git/blob - AppleX509TP/iSignRootCerts.c
Security-177.tar.gz
[apple/security.git] / AppleX509TP / iSignRootCerts.c
1 /*
2 * Copyright (c) 2000-2001 Apple Computer, Inc. All Rights Reserved.
3 *
4 * The contents of this file constitute Original Code as defined in and are
5 * subject to the Apple Public Source License Version 1.2 (the 'License').
6 * You may not use this file except in compliance with the License. Please obtain
7 * a copy of the License at http://www.apple.com/publicsource and read it before
8 * using this file.
9 *
10 * This Original Code and all software distributed under the License are
11 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS
12 * OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT
13 * LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
14 * PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. Please see the License for the
15 * specific language governing rights and limitations under the License.
16 */
17
18
19 /*
20 File: iSignRootCerts.c
21
22 Contains: embedded iSign root certs - subject name and public keys
23
24 Written by: Doug Mitchell.
25
26 Copyright: Copyright 1999 by Apple Computer, Inc., all rights reserved.
27
28 */
29
30 #include <Security/cssmtype.h>
31 #include "rootCerts.h"
32
33 #if TP_ROOT_CERT_ENABLE
34
35 /*
36 * this static data is generated by extractCertFields, copy&pasted from
37 * its output into this source file
38 */
39
40 /***********************
41 Cert File Name: serverbasic.crt
42 Subject Name :
43 Country : ZA
44 State : Western Cape
45 Locality : Cape Town
46 Org : Thawte Consulting cc
47 OrgUnit : Certification Services Division
48 Common Name : Thawte Server CA
49 Email addrs : server-certs@thawte.com
50 ***********************/
51 static const uint8 serverbasic_subject_bytes[] = {
52 0x30, 0x81, 0xc4, 0x31, 0x0b, 0x30, 0x09, 0x06,
53 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x5a, 0x41,
54 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04,
55 0x08, 0x13, 0x0c, 0x57, 0x45, 0x53, 0x54, 0x45,
56 0x52, 0x4e, 0x20, 0x43, 0x41, 0x50, 0x45, 0x31,
57 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x07,
58 0x13, 0x09, 0x43, 0x41, 0x50, 0x45, 0x20, 0x54,
59 0x4f, 0x57, 0x4e, 0x31, 0x1d, 0x30, 0x1b, 0x06,
60 0x03, 0x55, 0x04, 0x0a, 0x13, 0x14, 0x54, 0x48,
61 0x41, 0x57, 0x54, 0x45, 0x20, 0x43, 0x4f, 0x4e,
62 0x53, 0x55, 0x4c, 0x54, 0x49, 0x4e, 0x47, 0x20,
63 0x43, 0x43, 0x31, 0x28, 0x30, 0x26, 0x06, 0x03,
64 0x55, 0x04, 0x0b, 0x13, 0x1f, 0x43, 0x45, 0x52,
65 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49,
66 0x4f, 0x4e, 0x20, 0x53, 0x45, 0x52, 0x56, 0x49,
67 0x43, 0x45, 0x53, 0x20, 0x44, 0x49, 0x56, 0x49,
68 0x53, 0x49, 0x4f, 0x4e, 0x31, 0x19, 0x30, 0x17,
69 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x10, 0x54,
70 0x48, 0x41, 0x57, 0x54, 0x45, 0x20, 0x53, 0x45,
71 0x52, 0x56, 0x45, 0x52, 0x20, 0x43, 0x41, 0x31,
72 0x26, 0x30, 0x24, 0x06, 0x09, 0x2a, 0x86, 0x48,
73 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x01, 0x16, 0x17,
74 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2d, 0x63,
75 0x65, 0x72, 0x74, 0x73, 0x40, 0x74, 0x68, 0x61,
76 0x77, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6d
77 };
78 const CSSM_DATA serverbasic_subject = { 199, (uint8 *)serverbasic_subject_bytes };
79 static const uint8 serverbasic_pubKey_bytes[] = {
80 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xd3,
81 0xa4, 0x50, 0x6e, 0xc8, 0xff, 0x56, 0x6b, 0xe6,
82 0xcf, 0x5d, 0xb6, 0xea, 0x0c, 0x68, 0x75, 0x47,
83 0xa2, 0xaa, 0xc2, 0xda, 0x84, 0x25, 0xfc, 0xa8,
84 0xf4, 0x47, 0x51, 0xda, 0x85, 0xb5, 0x20, 0x74,
85 0x94, 0x86, 0x1e, 0x0f, 0x75, 0xc9, 0xe9, 0x08,
86 0x61, 0xf5, 0x06, 0x6d, 0x30, 0x6e, 0x15, 0x19,
87 0x02, 0xe9, 0x52, 0xc0, 0x62, 0xdb, 0x4d, 0x99,
88 0x9e, 0xe2, 0x6a, 0x0c, 0x44, 0x38, 0xcd, 0xfe,
89 0xbe, 0xe3, 0x64, 0x09, 0x70, 0xc5, 0xfe, 0xb1,
90 0x6b, 0x29, 0xb6, 0x2f, 0x49, 0xc8, 0x3b, 0xd4,
91 0x27, 0x04, 0x25, 0x10, 0x97, 0x2f, 0xe7, 0x90,
92 0x6d, 0xc0, 0x28, 0x42, 0x99, 0xd7, 0x4c, 0x43,
93 0xde, 0xc3, 0xf5, 0x21, 0x6d, 0x54, 0x9f, 0x5d,
94 0xc3, 0x58, 0xe1, 0xc0, 0xe4, 0xd9, 0x5b, 0xb0,
95 0xb8, 0xdc, 0xb4, 0x7b, 0xdf, 0x36, 0x3a, 0xc2,
96 0xb5, 0x66, 0x22, 0x12, 0xd6, 0x87, 0x0d, 0x02,
97 0x03, 0x01, 0x00, 0x01
98 };
99 const CSSM_DATA serverbasic_pubKey = { 140, (uint8 *)serverbasic_pubKey_bytes };
100
101
102 /***********************
103 Cert File Name: serverpremium.crt
104 Subject Name :
105 Country : ZA
106 State : Western Cape
107 Locality : Cape Town
108 Org : Thawte Consulting cc
109 OrgUnit : Certification Services Division
110 Common Name : Thawte Premium Server CA
111 Email addrs : premium-server@thawte.com
112 ***********************/
113 static const uint8 serverpremium_subject_bytes[] = {
114 0x30, 0x81, 0xce, 0x31, 0x0b, 0x30, 0x09, 0x06,
115 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x5a, 0x41,
116 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04,
117 0x08, 0x13, 0x0c, 0x57, 0x45, 0x53, 0x54, 0x45,
118 0x52, 0x4e, 0x20, 0x43, 0x41, 0x50, 0x45, 0x31,
119 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x07,
120 0x13, 0x09, 0x43, 0x41, 0x50, 0x45, 0x20, 0x54,
121 0x4f, 0x57, 0x4e, 0x31, 0x1d, 0x30, 0x1b, 0x06,
122 0x03, 0x55, 0x04, 0x0a, 0x13, 0x14, 0x54, 0x48,
123 0x41, 0x57, 0x54, 0x45, 0x20, 0x43, 0x4f, 0x4e,
124 0x53, 0x55, 0x4c, 0x54, 0x49, 0x4e, 0x47, 0x20,
125 0x43, 0x43, 0x31, 0x28, 0x30, 0x26, 0x06, 0x03,
126 0x55, 0x04, 0x0b, 0x13, 0x1f, 0x43, 0x45, 0x52,
127 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49,
128 0x4f, 0x4e, 0x20, 0x53, 0x45, 0x52, 0x56, 0x49,
129 0x43, 0x45, 0x53, 0x20, 0x44, 0x49, 0x56, 0x49,
130 0x53, 0x49, 0x4f, 0x4e, 0x31, 0x21, 0x30, 0x1f,
131 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x18, 0x54,
132 0x48, 0x41, 0x57, 0x54, 0x45, 0x20, 0x50, 0x52,
133 0x45, 0x4d, 0x49, 0x55, 0x4d, 0x20, 0x53, 0x45,
134 0x52, 0x56, 0x45, 0x52, 0x20, 0x43, 0x41, 0x31,
135 0x28, 0x30, 0x26, 0x06, 0x09, 0x2a, 0x86, 0x48,
136 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x01, 0x16, 0x19,
137 0x70, 0x72, 0x65, 0x6d, 0x69, 0x75, 0x6d, 0x2d,
138 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x40, 0x74,
139 0x68, 0x61, 0x77, 0x74, 0x65, 0x2e, 0x63, 0x6f,
140 0x6d
141 };
142 const CSSM_DATA serverpremium_subject = { 209, (uint8 *)serverpremium_subject_bytes };
143 static const uint8 serverpremium_pubKey_bytes[] = {
144 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xd2,
145 0x36, 0x36, 0x6a, 0x8b, 0xd7, 0xc2, 0x5b, 0x9e,
146 0xda, 0x81, 0x41, 0x62, 0x8f, 0x38, 0xee, 0x49,
147 0x04, 0x55, 0xd6, 0xd0, 0xef, 0x1c, 0x1b, 0x95,
148 0x16, 0x47, 0xef, 0x18, 0x48, 0x35, 0x3a, 0x52,
149 0xf4, 0x2b, 0x6a, 0x06, 0x8f, 0x3b, 0x2f, 0xea,
150 0x56, 0xe3, 0xaf, 0x86, 0x8d, 0x9e, 0x17, 0xf7,
151 0x9e, 0xb4, 0x65, 0x75, 0x02, 0x4d, 0xef, 0xcb,
152 0x09, 0xa2, 0x21, 0x51, 0xd8, 0x9b, 0xd0, 0x67,
153 0xd0, 0xba, 0x0d, 0x92, 0x06, 0x14, 0x73, 0xd4,
154 0x93, 0xcb, 0x97, 0x2a, 0x00, 0x9c, 0x5c, 0x4e,
155 0x0c, 0xbc, 0xfa, 0x15, 0x52, 0xfc, 0xf2, 0x44,
156 0x6e, 0xda, 0x11, 0x4a, 0x6e, 0x08, 0x9f, 0x2f,
157 0x2d, 0xe3, 0xf9, 0xaa, 0x3a, 0x86, 0x73, 0xb6,
158 0x46, 0x53, 0x58, 0xc8, 0x89, 0x05, 0xbd, 0x83,
159 0x11, 0xb8, 0x73, 0x3f, 0xaa, 0x07, 0x8d, 0xf4,
160 0x42, 0x4d, 0xe7, 0x40, 0x9d, 0x1c, 0x37, 0x02,
161 0x03, 0x01, 0x00, 0x01
162 };
163 const CSSM_DATA serverpremium_pubKey = { 140, (uint8 *)serverpremium_pubKey_bytes };
164
165
166 /***********************
167 Cert File Name: PCA3ss_v4.cer
168 Subject Name :
169 Country : US
170 Org : VeriSign, Inc.
171 OrgUnit : Class 3 Public Primary Certification Authority
172 ***********************/
173 static const uint8 PCA3ss_v4_subject_bytes[] = {
174 0x30, 0x5f, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03,
175 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31,
176 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x0a,
177 0x13, 0x0e, 0x56, 0x45, 0x52, 0x49, 0x53, 0x49,
178 0x47, 0x4e, 0x2c, 0x20, 0x49, 0x4e, 0x43, 0x2e,
179 0x31, 0x37, 0x30, 0x35, 0x06, 0x03, 0x55, 0x04,
180 0x0b, 0x13, 0x2e, 0x43, 0x4c, 0x41, 0x53, 0x53,
181 0x20, 0x33, 0x20, 0x50, 0x55, 0x42, 0x4c, 0x49,
182 0x43, 0x20, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52,
183 0x59, 0x20, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46,
184 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x20,
185 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, 0x54,
186 0x59
187 };
188 const CSSM_DATA PCA3ss_v4_subject = { 97, (uint8 *)PCA3ss_v4_subject_bytes };
189 static const uint8 PCA3ss_v4_pubKey_bytes[] = {
190 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xc9,
191 0x5c, 0x59, 0x9e, 0xf2, 0x1b, 0x8a, 0x01, 0x14,
192 0xb4, 0x10, 0xdf, 0x04, 0x40, 0xdb, 0xe3, 0x57,
193 0xaf, 0x6a, 0x45, 0x40, 0x8f, 0x84, 0x0c, 0x0b,
194 0xd1, 0x33, 0xd9, 0xd9, 0x11, 0xcf, 0xee, 0x02,
195 0x58, 0x1f, 0x25, 0xf7, 0x2a, 0xa8, 0x44, 0x05,
196 0xaa, 0xec, 0x03, 0x1f, 0x78, 0x7f, 0x9e, 0x93,
197 0xb9, 0x9a, 0x00, 0xaa, 0x23, 0x7d, 0xd6, 0xac,
198 0x85, 0xa2, 0x63, 0x45, 0xc7, 0x72, 0x27, 0xcc,
199 0xf4, 0x4c, 0xc6, 0x75, 0x71, 0xd2, 0x39, 0xef,
200 0x4f, 0x42, 0xf0, 0x75, 0xdf, 0x0a, 0x90, 0xc6,
201 0x8e, 0x20, 0x6f, 0x98, 0x0f, 0xf8, 0xac, 0x23,
202 0x5f, 0x70, 0x29, 0x36, 0xa4, 0xc9, 0x86, 0xe7,
203 0xb1, 0x9a, 0x20, 0xcb, 0x53, 0xa5, 0x85, 0xe7,
204 0x3d, 0xbe, 0x7d, 0x9a, 0xfe, 0x24, 0x45, 0x33,
205 0xdc, 0x76, 0x15, 0xed, 0x0f, 0xa2, 0x71, 0x64,
206 0x4c, 0x65, 0x2e, 0x81, 0x68, 0x45, 0xa7, 0x02,
207 0x03, 0x01, 0x00, 0x01
208 };
209 const CSSM_DATA PCA3ss_v4_pubKey = { 140, (uint8 *)PCA3ss_v4_pubKey_bytes };
210
211
212 /* end of static data generated by extractCertFields */
213
214 const tpRootCert iSignRootCerts[] = {
215 { &serverbasic_subject, &serverbasic_pubKey, 1024 },
216 { &serverpremium_subject, &serverpremium_pubKey, 1024 },
217 { &PCA3ss_v4_subject, &PCA3ss_v4_pubKey, 1024 }
218 };
219
220 unsigned const numiSignRootCerts = sizeof(iSignRootCerts) / sizeof(tpRootCert);
221
222 #endif /* TP_ROOT_CERT_ENABLE */