Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "extensions/browser/api/cast_channel/cast_auth_util.h" | 5 #include "extensions/browser/api/cast_channel/cast_auth_util.h" |
| 6 | 6 |
| 7 #include "extensions/common/api/cast_channel/authority_keys.pb.h" | |
| 8 | |
| 7 namespace extensions { | 9 namespace extensions { |
| 8 namespace core_api { | 10 namespace core_api { |
| 9 namespace cast_channel { | 11 namespace cast_channel { |
| 10 | 12 |
| 13 namespace { | |
| 14 | |
| 15 // Fingerprints and public keys of the allowed / trusted ICAs. | |
| 16 static const net::SHA256HashValue kFingerprintICA1 = {{0x52, | |
|
mark a. foltz
2014/10/21 20:22:14
What is up with this formatting - can it be rewrap
vadimgo
2014/10/21 23:35:57
Unfortunately "git cl format" does this. I changed
| |
| 17 0x9D, | |
| 18 0x9C, | |
| 19 0xD6, | |
| 20 0x7F, | |
| 21 0xE5, | |
| 22 0xEB, | |
| 23 0x69, | |
| 24 0x8E, | |
| 25 0x70, | |
| 26 0xDD, | |
| 27 0x26, | |
| 28 0xD7, | |
| 29 0xD8, | |
| 30 0xF1, | |
| 31 0x26, | |
| 32 0x59, | |
| 33 0xF1, | |
| 34 0xE6, | |
| 35 0xE5, | |
| 36 0x23, | |
| 37 0x48, | |
| 38 0xBF, | |
| 39 0x6A, | |
| 40 0x5C, | |
| 41 0xF7, | |
| 42 0x16, | |
| 43 0xE1, | |
| 44 0x3F, | |
| 45 0x41, | |
| 46 0x0E, | |
| 47 0x73}}; | |
| 48 | |
| 49 static const unsigned char kPublicKeyICA1[] = { | |
| 50 0x30, 0x82, 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0xBC, 0x22, 0x80, | |
| 51 0xBD, 0x80, 0xF6, 0x3A, 0x21, 0x00, 0x3B, 0xAE, 0x76, 0x5E, 0x35, 0x7F, | |
| 52 0x3D, 0xC3, 0x64, 0x5C, 0x55, 0x94, 0x86, 0x34, 0x2F, 0x05, 0x87, 0x28, | |
| 53 0xCD, 0xF7, 0x69, 0x8C, 0x17, 0xB3, 0x50, 0xA7, 0xB8, 0x82, 0xFA, 0xDF, | |
| 54 0xC7, 0x43, 0x2D, 0xD6, 0x7E, 0xAB, 0xA0, 0x6F, 0xB7, 0x13, 0x72, 0x80, | |
| 55 0xA4, 0x47, 0x15, 0xC1, 0x20, 0x99, 0x50, 0xCD, 0xEC, 0x14, 0x62, 0x09, | |
| 56 0x5B, 0xA4, 0x98, 0xCD, 0xD2, 0x41, 0xB6, 0x36, 0x4E, 0xFF, 0xE8, 0x2E, | |
| 57 0x32, 0x30, 0x4A, 0x81, 0xA8, 0x42, 0xA3, 0x6C, 0x9B, 0x33, 0x6E, 0xCA, | |
| 58 0xB2, 0xF5, 0x53, 0x66, 0xE0, 0x27, 0x53, 0x86, 0x1A, 0x85, 0x1E, 0xA7, | |
| 59 0x39, 0x3F, 0x4A, 0x77, 0x8E, 0xFB, 0x54, 0x66, 0x66, 0xFB, 0x58, 0x54, | |
| 60 0xC0, 0x5E, 0x39, 0xC7, 0xF5, 0x50, 0x06, 0x0B, 0xE0, 0x8A, 0xD4, 0xCE, | |
| 61 0xE1, 0x6A, 0x55, 0x1F, 0x8B, 0x17, 0x00, 0xE6, 0x69, 0xA3, 0x27, 0xE6, | |
| 62 0x08, 0x25, 0x69, 0x3C, 0x12, 0x9D, 0x8D, 0x05, 0x2C, 0xD6, 0x2E, 0xA2, | |
| 63 0x31, 0xDE, 0xB4, 0x52, 0x50, 0xD6, 0x20, 0x49, 0xDE, 0x71, 0xA0, 0xF9, | |
| 64 0xAD, 0x20, 0x40, 0x12, 0xF1, 0xDD, 0x25, 0xEB, 0xD5, 0xE6, 0xB8, 0x36, | |
| 65 0xF4, 0xD6, 0x8F, 0x7F, 0xCA, 0x43, 0xDC, 0xD7, 0x10, 0x5B, 0xE6, 0x3F, | |
| 66 0x51, 0x8A, 0x85, 0xB3, 0xF3, 0xFF, 0xF6, 0x03, 0x2D, 0xCB, 0x23, 0x4F, | |
| 67 0x9C, 0xAD, 0x18, 0xE7, 0x93, 0x05, 0x8C, 0xAC, 0x52, 0x9A, 0xF7, 0x4C, | |
| 68 0xE9, 0x99, 0x7A, 0xBE, 0x6E, 0x7E, 0x4D, 0x0A, 0xE3, 0xC6, 0x1C, 0xA9, | |
| 69 0x93, 0xFA, 0x3A, 0xA5, 0x91, 0x5D, 0x1C, 0xBD, 0x66, 0xEB, 0xCC, 0x60, | |
| 70 0xDC, 0x86, 0x74, 0xCA, 0xCF, 0xF8, 0x92, 0x1C, 0x98, 0x7D, 0x57, 0xFA, | |
| 71 0x61, 0x47, 0x9E, 0xAB, 0x80, 0xB7, 0xE4, 0x48, 0x80, 0x2A, 0x92, 0xC5, | |
| 72 0x1B, 0x02, 0x03, 0x01, 0x00, 0x01}; | |
| 73 | |
| 74 static const net::SHA256HashValue kFingerprintICA2 = {{0x98, | |
| 75 0xD6, | |
| 76 0x6D, | |
| 77 0xE8, | |
| 78 0x1C, | |
| 79 0x56, | |
| 80 0x47, | |
| 81 0x84, | |
| 82 0x4D, | |
| 83 0x96, | |
| 84 0x43, | |
| 85 0x4D, | |
| 86 0x37, | |
| 87 0xC4, | |
| 88 0x8D, | |
| 89 0xC2, | |
| 90 0xCE, | |
| 91 0x7F, | |
| 92 0x08, | |
| 93 0x72, | |
| 94 0x50, | |
| 95 0x19, | |
| 96 0xE7, | |
| 97 0xB6, | |
| 98 0xE8, | |
| 99 0x92, | |
| 100 0x7F, | |
| 101 0x56, | |
| 102 0xD6, | |
| 103 0x81, | |
| 104 0xAA, | |
| 105 0x18}}; | |
| 106 | |
| 107 static const unsigned char kPublicKeyICA2[] = { | |
| 108 0x30, 0x82, 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0xBC, 0x22, 0x80, | |
| 109 0xBD, 0x80, 0xF6, 0x3A, 0x21, 0x00, 0x3B, 0xAE, 0x76, 0x5E, 0x35, 0x7F, | |
| 110 0x3D, 0xC3, 0x64, 0x5C, 0x55, 0x94, 0x86, 0x34, 0x2F, 0x05, 0x87, 0x28, | |
| 111 0xCD, 0xF7, 0x69, 0x8C, 0x17, 0xB3, 0x50, 0xA7, 0xB8, 0x82, 0xFA, 0xDF, | |
| 112 0xC7, 0x43, 0x2D, 0xD6, 0x7E, 0xAB, 0xA0, 0x6F, 0xB7, 0x13, 0x72, 0x80, | |
| 113 0xA4, 0x47, 0x15, 0xC1, 0x20, 0x99, 0x50, 0xCD, 0xEC, 0x14, 0x62, 0x09, | |
| 114 0x5B, 0xA4, 0x98, 0xCD, 0xD2, 0x41, 0xB6, 0x36, 0x4E, 0xFF, 0xE8, 0x2E, | |
| 115 0x32, 0x30, 0x4A, 0x81, 0xA8, 0x42, 0xA3, 0x6C, 0x9B, 0x33, 0x6E, 0xCA, | |
| 116 0xB2, 0xF5, 0x53, 0x66, 0xE0, 0x27, 0x53, 0x86, 0x1A, 0x85, 0x1E, 0xA7, | |
| 117 0x39, 0x3F, 0x4A, 0x77, 0x8E, 0xFB, 0x54, 0x66, 0x66, 0xFB, 0x58, 0x54, | |
| 118 0xC0, 0x5E, 0x39, 0xC7, 0xF5, 0x50, 0x06, 0x0B, 0xE0, 0x8A, 0xD4, 0xCE, | |
| 119 0xE1, 0x6A, 0x55, 0x1F, 0x8B, 0x17, 0x00, 0xE6, 0x69, 0xA3, 0x27, 0xE6, | |
| 120 0x08, 0x25, 0x69, 0x3C, 0x12, 0x9D, 0x8D, 0x05, 0x2C, 0xD6, 0x2E, 0xA2, | |
| 121 0x31, 0xDE, 0xB4, 0x52, 0x50, 0xD6, 0x20, 0x49, 0xDE, 0x71, 0xA0, 0xF9, | |
| 122 0xAD, 0x20, 0x40, 0x12, 0xF1, 0xDD, 0x25, 0xEB, 0xD5, 0xE6, 0xB8, 0x36, | |
| 123 0xF4, 0xD6, 0x8F, 0x7F, 0xCA, 0x43, 0xDC, 0xD7, 0x10, 0x5B, 0xE6, 0x3F, | |
| 124 0x51, 0x8A, 0x85, 0xB3, 0xF3, 0xFF, 0xF6, 0x03, 0x2D, 0xCB, 0x23, 0x4F, | |
| 125 0x9C, 0xAD, 0x18, 0xE7, 0x93, 0x05, 0x8C, 0xAC, 0x52, 0x9A, 0xF7, 0x4C, | |
| 126 0xE9, 0x99, 0x7A, 0xBE, 0x6E, 0x7E, 0x4D, 0x0A, 0xE3, 0xC6, 0x1C, 0xA9, | |
| 127 0x93, 0xFA, 0x3A, 0xA5, 0x91, 0x5D, 0x1C, 0xBD, 0x66, 0xEB, 0xCC, 0x60, | |
| 128 0xDC, 0x86, 0x74, 0xCA, 0xCF, 0xF8, 0x92, 0x1C, 0x98, 0x7D, 0x57, 0xFA, | |
| 129 0x61, 0x47, 0x9E, 0xAB, 0x80, 0xB7, 0xE4, 0x48, 0x80, 0x2A, 0x92, 0xC5, | |
| 130 0x1B, 0x02, 0x03, 0x01, 0x00, 0x01}; | |
| 131 | |
| 132 static const net::SHA256HashValue kFingerprintICA3 = {{0xA2, | |
| 133 0x48, | |
| 134 0xC2, | |
| 135 0xE8, | |
| 136 0x54, | |
| 137 0xE6, | |
| 138 0x56, | |
| 139 0xA5, | |
| 140 0x6D, | |
| 141 0xE8, | |
| 142 0x23, | |
| 143 0x1F, | |
| 144 0x1E, | |
| 145 0xE1, | |
| 146 0x75, | |
| 147 0x6F, | |
| 148 0xDB, | |
| 149 0xE4, | |
| 150 0x07, | |
| 151 0xF9, | |
| 152 0xFE, | |
| 153 0xD4, | |
| 154 0x65, | |
| 155 0x0D, | |
| 156 0x60, | |
| 157 0xCC, | |
| 158 0x5A, | |
| 159 0xCB, | |
| 160 0x65, | |
| 161 0x11, | |
| 162 0xC7, | |
| 163 0x20}}; | |
| 164 | |
| 165 static const unsigned char kPublicKeyICA3[] = { | |
| 166 0x30, 0x82, 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0xB0, 0x0E, 0x5E, | |
| 167 0x07, 0x3A, 0xDF, 0xA4, 0x5F, 0x68, 0xF7, 0x21, 0xC7, 0x64, 0xDB, 0xB6, | |
| 168 0x76, 0xEF, 0xEE, 0x8B, 0x93, 0xF8, 0xF6, 0x1B, 0x88, 0xE1, 0x93, 0xB7, | |
| 169 0x17, 0xF0, 0x15, 0x1E, 0x7E, 0x52, 0x55, 0x77, 0x3C, 0x02, 0x8D, 0x7B, | |
| 170 0x4A, 0x6C, 0xD3, 0xBD, 0xD6, 0xC1, 0x9C, 0x72, 0xC8, 0xB3, 0x15, 0xCF, | |
| 171 0x11, 0xC1, 0xF5, 0x46, 0xC4, 0xD5, 0x20, 0x47, 0xFB, 0x30, 0xF4, 0xE4, | |
| 172 0x61, 0x0C, 0x68, 0xF0, 0x5E, 0xAB, 0x37, 0x8E, 0x9B, 0xE1, 0xBC, 0x81, | |
| 173 0xC3, 0x70, 0x8A, 0x78, 0xD6, 0x83, 0x34, 0x32, 0x9C, 0x19, 0x62, 0xEB, | |
| 174 0xE4, 0x9C, 0xED, 0xE3, 0x64, 0x6C, 0x41, 0x1D, 0x9C, 0xD2, 0x8B, 0x48, | |
| 175 0x4C, 0x23, 0x90, 0x95, 0xB3, 0xE7, 0x52, 0xEA, 0x05, 0x57, 0xCC, 0x60, | |
| 176 0xB3, 0xBA, 0x14, 0xE4, 0xBA, 0x00, 0x39, 0xE4, 0x46, 0x55, 0x74, 0xCE, | |
| 177 0x5A, 0x8E, 0x7A, 0x67, 0x23, 0xDA, 0x68, 0x0A, 0xFA, 0xC4, 0x84, 0x1E, | |
| 178 0xB4, 0xC5, 0xA1, 0xA2, 0x6A, 0x73, 0x1F, 0x6E, 0xC8, 0x2E, 0x2F, 0x9A, | |
| 179 0x9E, 0xA8, 0xB1, 0x0E, 0xFD, 0x87, 0xA6, 0x8F, 0x4D, 0x3D, 0x4B, 0x05, | |
| 180 0xD5, 0x35, 0x5A, 0x74, 0x4D, 0xBC, 0x8E, 0x82, 0x44, 0x96, 0xF4, 0xB5, | |
| 181 0x95, 0x60, 0x4E, 0xA5, 0xDF, 0x27, 0x3D, 0x41, 0x5C, 0x07, 0xA3, 0xB4, | |
| 182 0x35, 0x5A, 0xB3, 0x9E, 0xF2, 0x05, 0x24, 0xCA, 0xCD, 0x31, 0x5A, 0x0D, | |
| 183 0x26, 0x4C, 0xD4, 0xD3, 0xFD, 0x50, 0xE1, 0x34, 0xE9, 0x4C, 0x81, 0x58, | |
| 184 0x30, 0xB2, 0xC7, 0x7A, 0xDD, 0x81, 0x89, 0xA6, 0xD4, 0x3A, 0x38, 0x84, | |
| 185 0x03, 0xB7, 0x34, 0x9E, 0x77, 0x3F, 0xFF, 0x78, 0x07, 0x5B, 0x99, 0xC1, | |
| 186 0xB2, 0x1F, 0x35, 0x56, 0x6E, 0x3A, 0x3C, 0x0C, 0x25, 0xE1, 0x57, 0xF6, | |
| 187 0x8A, 0x7E, 0x49, 0xC0, 0xCC, 0x83, 0x11, 0x35, 0xE7, 0x91, 0x6D, 0x2E, | |
| 188 0x65, 0x02, 0x03, 0x01, 0x00, 0x01}; | |
| 189 | |
| 190 static const net::SHA256HashValue kFingerprintICA4 = {{0x2B, | |
| 191 0x9B, | |
| 192 0xC7, | |
| 193 0x92, | |
| 194 0xCD, | |
| 195 0x2A, | |
| 196 0x20, | |
| 197 0xB3, | |
| 198 0x65, | |
| 199 0x5E, | |
| 200 0x57, | |
| 201 0xFB, | |
| 202 0x10, | |
| 203 0x1A, | |
| 204 0x95, | |
| 205 0x93, | |
| 206 0x62, | |
| 207 0x53, | |
| 208 0x69, | |
| 209 0x50, | |
| 210 0x52, | |
| 211 0xA2, | |
| 212 0x71, | |
| 213 0x42, | |
| 214 0x2B, | |
| 215 0xFE, | |
| 216 0xB5, | |
| 217 0xB4, | |
| 218 0x5D, | |
| 219 0xC5, | |
| 220 0xA5, | |
| 221 0xE9}}; | |
| 222 | |
| 223 static const unsigned char kPublicKeyICA4[] = { | |
| 224 0x30, 0x82, 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0xB7, 0xE8, 0xC3, | |
| 225 0xE4, 0x2C, 0xDE, 0x74, 0x53, 0xF2, 0x49, 0x95, 0x6D, 0xD1, 0xDA, 0x69, | |
| 226 0x57, 0x0D, 0x86, 0xE5, 0xED, 0xB4, 0xB9, 0xE6, 0x73, 0x9F, 0x6C, 0xAD, | |
| 227 0x3B, 0x64, 0x85, 0x03, 0x0D, 0x08, 0x44, 0xAF, 0x18, 0x69, 0x82, 0xAD, | |
| 228 0xA9, 0x74, 0x64, 0x37, 0x47, 0xE1, 0xE7, 0x26, 0x19, 0x33, 0x3C, 0xE2, | |
| 229 0xD0, 0xB5, 0x84, 0x3C, 0xD7, 0xAC, 0x63, 0xAE, 0xC4, 0x32, 0x23, 0xF6, | |
| 230 0xDC, 0x14, 0x10, 0x4B, 0x95, 0x7F, 0xE8, 0x98, 0xD7, 0x7A, 0x9E, 0x43, | |
| 231 0x3D, 0x68, 0x8B, 0x2A, 0x70, 0xF7, 0x1E, 0x43, 0x70, 0xBA, 0xA5, 0xA5, | |
| 232 0x93, 0xAD, 0x8A, 0xD4, 0x9F, 0xAC, 0x83, 0x16, 0xF3, 0x48, 0x5F, 0xC5, | |
| 233 0xE0, 0xA5, 0x44, 0xB8, 0x4F, 0xD9, 0xD8, 0x75, 0x90, 0x25, 0x8B, 0xE3, | |
| 234 0x1C, 0x6C, 0xDA, 0x88, 0xFF, 0x09, 0x2B, 0xCA, 0x1E, 0x48, 0xDD, 0x76, | |
| 235 0x0F, 0x68, 0x56, 0x7B, 0x15, 0x9D, 0xCA, 0x6B, 0x1C, 0xF7, 0x48, 0xC2, | |
| 236 0x89, 0xC6, 0x93, 0x0A, 0x31, 0xF2, 0x78, 0x27, 0x45, 0x3D, 0xF1, 0x0D, | |
| 237 0x5B, 0x6E, 0x55, 0x32, 0xEF, 0x49, 0xA0, 0xD6, 0xAF, 0xA6, 0x30, 0x91, | |
| 238 0xF2, 0x21, 0x2F, 0xDB, 0xA4, 0x29, 0xB9, 0x9B, 0x22, 0xBC, 0xCD, 0x0B, | |
| 239 0xA6, 0x8B, 0xA6, 0x22, 0x79, 0xFD, 0xCF, 0x95, 0x93, 0x96, 0xB3, 0x23, | |
| 240 0xC9, 0xC6, 0x30, 0x8E, 0xC0, 0xE9, 0x1F, 0xEC, 0xFB, 0xF5, 0x88, 0xDD, | |
| 241 0x97, 0x72, 0x16, 0x29, 0x08, 0xFA, 0x42, 0xE7, 0x4F, 0xCA, 0xAE, 0xD7, | |
| 242 0x0F, 0x23, 0x48, 0x9B, 0x82, 0xA7, 0x37, 0x4A, 0xDD, 0x60, 0x04, 0x75, | |
| 243 0xDC, 0xDE, 0x09, 0x98, 0xD2, 0x16, 0x23, 0x04, 0x70, 0x4D, 0x99, 0x9F, | |
| 244 0x4A, 0x82, 0x28, 0xE6, 0xBE, 0x8F, 0x9D, 0xBF, 0xA1, 0x4B, 0xA2, 0xBA, | |
| 245 0xF5, 0xB2, 0x51, 0x1E, 0x4E, 0xE7, 0x80, 0x9E, 0x7A, 0x38, 0xA1, 0xC7, | |
| 246 0x09, 0x02, 0x03, 0x01, 0x00, 0x01}; | |
| 247 | |
| 248 static const net::SHA256HashValue kFingerprintICA5 = {{0xFD, | |
| 249 0xCD, | |
| 250 0x0D, | |
| 251 0x59, | |
| 252 0x29, | |
| 253 0xF8, | |
| 254 0x7A, | |
| 255 0x62, | |
| 256 0xD2, | |
| 257 0xFE, | |
| 258 0x0F, | |
| 259 0xD8, | |
| 260 0x94, | |
| 261 0xB8, | |
| 262 0x32, | |
| 263 0xF1, | |
| 264 0xD4, | |
| 265 0x9C, | |
| 266 0x73, | |
| 267 0xF9, | |
| 268 0xD3, | |
| 269 0x51, | |
| 270 0x8B, | |
| 271 0x64, | |
| 272 0x67, | |
| 273 0x3E, | |
| 274 0x04, | |
| 275 0x97, | |
| 276 0x0B, | |
| 277 0x0A, | |
| 278 0x4F, | |
| 279 0xAD}}; | |
| 280 | |
| 281 static const unsigned char kPublicKeyICA5[] = { | |
| 282 0x30, 0x82, 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0xC2, 0xF6, 0xD5, | |
| 283 0x91, 0xDC, 0x37, 0xB4, 0x9A, 0x73, 0x4A, 0xE7, 0x74, 0x6D, 0x03, 0xAE, | |
| 284 0x27, 0x24, 0x41, 0x99, 0x96, 0x1B, 0x05, 0x0E, 0xC7, 0xCF, 0x09, 0xCD, | |
| 285 0x65, 0x56, 0x02, 0xFC, 0x98, 0x59, 0xB4, 0xBB, 0x95, 0x71, 0xD7, 0x88, | |
| 286 0x66, 0xC8, 0x08, 0xCB, 0xBF, 0x5B, 0x85, 0x65, 0x7E, 0xDE, 0xC4, 0xB5, | |
| 287 0xE3, 0x71, 0x24, 0xA2, 0xFD, 0x92, 0x2C, 0x77, 0xC5, 0x08, 0xE0, 0xF0, | |
| 288 0xB1, 0x8A, 0x8A, 0x54, 0xCA, 0xA6, 0xAF, 0x87, 0xB8, 0xCB, 0x7D, 0x83, | |
| 289 0x28, 0x59, 0x9C, 0x01, 0xF5, 0x7B, 0x10, 0xD0, 0xF3, 0x52, 0x09, 0x3F, | |
| 290 0xF5, 0x7D, 0xDA, 0x21, 0x63, 0x8F, 0xAC, 0x8B, 0x60, 0x67, 0x22, 0xEF, | |
| 291 0x6B, 0x66, 0x91, 0xFC, 0x97, 0x30, 0x8D, 0xCC, 0xFE, 0xDE, 0x5C, 0xF9, | |
| 292 0x19, 0xBB, 0x1C, 0x25, 0x29, 0x2C, 0x99, 0x48, 0x41, 0xC2, 0xFC, 0x5B, | |
| 293 0x66, 0xD6, 0x79, 0x84, 0x16, 0x8D, 0x0D, 0x4F, 0x75, 0x01, 0x40, 0xC5, | |
| 294 0x50, 0x69, 0xFA, 0xA4, 0x88, 0xF1, 0xD2, 0x3B, 0xD1, 0x23, 0xDF, 0xC5, | |
| 295 0xBA, 0xE3, 0xE8, 0xBA, 0xCC, 0x1E, 0x93, 0x17, 0xF7, 0x97, 0xE2, 0x71, | |
| 296 0x42, 0x75, 0x5B, 0x99, 0x55, 0x98, 0x22, 0x23, 0x98, 0xDC, 0x10, 0x89, | |
| 297 0xF4, 0xE8, 0x26, 0xBB, 0x98, 0x66, 0xFD, 0xBB, 0x9A, 0x21, 0x62, 0xA2, | |
| 298 0xDF, 0x90, 0xDB, 0x48, 0x6F, 0xDB, 0x2A, 0xEF, 0xDE, 0x53, 0x59, 0x31, | |
| 299 0x5D, 0x38, 0xCD, 0x80, 0xA8, 0x0C, 0x6E, 0x4E, 0x37, 0x65, 0xEB, 0x36, | |
| 300 0x1C, 0x13, 0xBA, 0x53, 0xD3, 0x8F, 0xCC, 0x43, 0x86, 0x02, 0x70, 0xD2, | |
| 301 0x91, 0xF6, 0x96, 0x25, 0x6C, 0xA4, 0xE8, 0x1F, 0xD8, 0xB3, 0x74, 0x20, | |
| 302 0xEB, 0x60, 0x9D, 0x3D, 0xD3, 0x3D, 0x2E, 0x36, 0x0F, 0xF1, 0x94, 0x10, | |
| 303 0xF9, 0x7A, 0x03, 0x52, 0x7E, 0xA4, 0xEF, 0xE3, 0x40, 0x9E, 0x74, 0x0E, | |
| 304 0xDF, 0x02, 0x03, 0x01, 0x00, 0x01}; | |
| 305 | |
| 306 static const net::SHA256HashValue kFingerprintICA6 = {{0xD6, | |
| 307 0xA1, | |
| 308 0xC4, | |
| 309 0xBC, | |
| 310 0x74, | |
| 311 0x5B, | |
| 312 0xC8, | |
| 313 0xE9, | |
| 314 0xED, | |
| 315 0xF8, | |
| 316 0x9C, | |
| 317 0x0D, | |
| 318 0x55, | |
| 319 0xCC, | |
| 320 0xB2, | |
| 321 0xC9, | |
| 322 0xF3, | |
| 323 0x04, | |
| 324 0xF6, | |
| 325 0x6E, | |
| 326 0x4D, | |
| 327 0x3D, | |
| 328 0x27, | |
| 329 0x4C, | |
| 330 0xA3, | |
| 331 0xFC, | |
| 332 0x0F, | |
| 333 0x4B, | |
| 334 0x95, | |
| 335 0x55, | |
| 336 0x10, | |
| 337 0x7E}}; | |
| 338 | |
| 339 static const unsigned char kPublicKeyICA6[] = { | |
| 340 0x30, 0x82, 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0xB5, 0xC8, 0x14, | |
| 341 0x5B, 0x94, 0x2E, 0x8E, 0x40, 0xBC, 0x8A, 0xAB, 0x1F, 0x48, 0xEE, 0xA5, | |
| 342 0x5C, 0x5D, 0xA9, 0x44, 0x23, 0x33, 0xE5, 0x09, 0xDD, 0x84, 0xDD, 0xA6, | |
| 343 0x08, 0x95, 0xB0, 0xEA, 0x64, 0xEB, 0xC1, 0xCA, 0x02, 0x60, 0xFF, 0x83, | |
| 344 0xF9, 0x17, 0x71, 0x2C, 0xC7, 0xAB, 0x06, 0x0F, 0xE4, 0xAD, 0x39, 0x24, | |
| 345 0xFB, 0x1F, 0xED, 0xFA, 0xB2, 0x4D, 0x14, 0x5A, 0x6E, 0x5B, 0x06, 0x10, | |
| 346 0x13, 0xE7, 0x77, 0x22, 0xAA, 0xE5, 0xD1, 0x2C, 0x05, 0xC4, 0x06, 0x05, | |
| 347 0xB1, 0xCD, 0xBE, 0xCB, 0x4B, 0xAF, 0x11, 0x3E, 0xA0, 0x77, 0xBA, 0x6D, | |
| 348 0xE4, 0xA7, 0xBA, 0xC9, 0x9D, 0x3F, 0x47, 0xE0, 0xD6, 0x20, 0x75, 0x1C, | |
| 349 0xE9, 0x89, 0xD3, 0x88, 0x56, 0x4F, 0x29, 0xF6, 0x7D, 0x49, 0x96, 0xBE, | |
| 350 0xE8, 0x41, 0xAB, 0x35, 0x08, 0xAD, 0x07, 0x22, 0x90, 0xA3, 0x4A, 0x98, | |
| 351 0xBA, 0xC3, 0xE2, 0x29, 0xDA, 0x2E, 0xBD, 0x34, 0xF5, 0x41, 0xBC, 0x27, | |
| 352 0x7D, 0xE0, 0x02, 0xBF, 0xB7, 0xAE, 0x8B, 0x1E, 0xEE, 0xE9, 0xC1, 0x59, | |
| 353 0x92, 0xEA, 0xE3, 0x76, 0x0E, 0xE7, 0x77, 0xEF, 0x10, 0x7E, 0x4F, 0xD8, | |
| 354 0xAD, 0xC4, 0x5D, 0xBB, 0xB7, 0x9F, 0x23, 0x0B, 0x34, 0x89, 0xF7, 0x97, | |
| 355 0x9A, 0x40, 0x79, 0x00, 0xDD, 0x10, 0x9E, 0x01, 0xA7, 0xF0, 0xD8, 0xC4, | |
| 356 0x37, 0xF1, 0x6A, 0xD7, 0xC2, 0xE9, 0x75, 0x94, 0x55, 0xA9, 0x81, 0xA8, | |
| 357 0xF8, 0xC6, 0xF9, 0xD2, 0xCF, 0x26, 0xA0, 0x74, 0x58, 0x2E, 0xD0, 0xCB, | |
| 358 0x16, 0x58, 0x1B, 0x1E, 0x2B, 0x94, 0x80, 0x26, 0x82, 0x3F, 0x01, 0x36, | |
| 359 0x01, 0x97, 0x1E, 0xA6, 0x94, 0x14, 0xC0, 0xB2, 0x55, 0x95, 0x2E, 0x30, | |
| 360 0x9C, 0x7B, 0xC6, 0x79, 0xF8, 0x12, 0xB3, 0xB4, 0x11, 0x93, 0x73, 0x9C, | |
| 361 0xD4, 0x3F, 0x29, 0x6E, 0x6A, 0xAA, 0xA8, 0xE9, 0xA2, 0xF3, 0x20, 0x4E, | |
| 362 0xE9, 0x02, 0x03, 0x01, 0x00, 0x01}; | |
| 363 | |
| 364 static const net::SHA256HashValue kFingerprintICA7 = {{0xB6, | |
| 365 0xB3, | |
| 366 0x4F, | |
| 367 0x73, | |
| 368 0x23, | |
| 369 0x9D, | |
| 370 0xA6, | |
| 371 0xDD, | |
| 372 0x9A, | |
| 373 0x26, | |
| 374 0xF7, | |
| 375 0xD5, | |
| 376 0x9E, | |
| 377 0x26, | |
| 378 0x3B, | |
| 379 0xF0, | |
| 380 0x0C, | |
| 381 0x01, | |
| 382 0x6B, | |
| 383 0x21, | |
| 384 0x17, | |
| 385 0x41, | |
| 386 0xE5, | |
| 387 0xAD, | |
| 388 0x92, | |
| 389 0xA5, | |
| 390 0xA0, | |
| 391 0x0B, | |
| 392 0xD7, | |
| 393 0x31, | |
| 394 0x26, | |
| 395 0x11}}; | |
| 396 | |
| 397 static const unsigned char kPublicKeyICA7[] = { | |
| 398 0x30, 0x82, 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0xCC, 0xE2, 0xB6, | |
| 399 0x2F, 0x11, 0xAB, 0xFF, 0xD0, 0x5D, 0x63, 0x97, 0x59, 0xFA, 0x5F, 0x26, | |
| 400 0xD7, 0x91, 0xE9, 0x90, 0x86, 0x31, 0x91, 0x8E, 0x2D, 0x29, 0x5F, 0x7A, | |
| 401 0x2F, 0x12, 0x77, 0x21, 0xD9, 0x0E, 0x99, 0x0F, 0x11, 0x08, 0x69, 0x3C, | |
| 402 0x9C, 0x58, 0xD4, 0xCE, 0x44, 0xB3, 0x8E, 0x46, 0x6C, 0xC1, 0x8E, 0x60, | |
| 403 0x63, 0x3E, 0x99, 0x24, 0x72, 0x69, 0x07, 0xC2, 0x30, 0x0F, 0xD5, 0x74, | |
| 404 0x06, 0xC6, 0x09, 0x94, 0x13, 0xD7, 0x34, 0x34, 0x75, 0x73, 0x4F, 0x4A, | |
| 405 0x01, 0xFE, 0x1E, 0x3C, 0x91, 0x86, 0x9C, 0x63, 0xF8, 0xEF, 0x15, 0x79, | |
| 406 0xE5, 0x5A, 0xC1, 0xF2, 0x05, 0xDC, 0xE0, 0x76, 0xDE, 0x69, 0x46, 0xDF, | |
| 407 0x12, 0x3D, 0xF4, 0xD9, 0x05, 0xE2, 0x9E, 0xAD, 0x07, 0xCC, 0x69, 0x5F, | |
| 408 0x1D, 0x42, 0x5E, 0x6C, 0x4A, 0xB4, 0x89, 0x7C, 0xDB, 0xBC, 0x69, 0x4E, | |
| 409 0x23, 0x70, 0x9A, 0x67, 0xC5, 0xFA, 0x29, 0x88, 0x7C, 0x30, 0xFA, 0x61, | |
| 410 0x98, 0x3C, 0x43, 0x4A, 0x1E, 0xCA, 0xAE, 0xA8, 0x7B, 0x65, 0x68, 0xA3, | |
| 411 0xFB, 0x38, 0xB4, 0x4F, 0xCA, 0x49, 0x60, 0x85, 0xA0, 0xC1, 0x55, 0xA1, | |
| 412 0xCE, 0x67, 0x78, 0x9F, 0x53, 0x81, 0xD7, 0x92, 0xC9, 0x6D, 0x44, 0xF1, | |
| 413 0x97, 0x95, 0xA5, 0x7C, 0x83, 0xEC, 0xD3, 0xEB, 0x7D, 0xD7, 0x0A, 0x06, | |
| 414 0xFE, 0xBA, 0xFC, 0x56, 0x5F, 0xF0, 0x70, 0xE4, 0x82, 0xBE, 0x69, 0x6D, | |
| 415 0x95, 0x00, 0xDF, 0xB5, 0xE5, 0xBF, 0x9E, 0xF1, 0x12, 0x47, 0x14, 0x9C, | |
| 416 0x7D, 0xE5, 0xA0, 0xB8, 0x70, 0x29, 0x6B, 0xC8, 0x8A, 0xF2, 0xBA, 0x35, | |
| 417 0xD8, 0xC4, 0xD3, 0xB4, 0xB5, 0xEB, 0xDF, 0x2D, 0x27, 0x46, 0xA5, 0xFF, | |
| 418 0x35, 0xB5, 0x5F, 0x85, 0x72, 0xEB, 0xCF, 0xAD, 0x09, 0x18, 0x05, 0x95, | |
| 419 0x56, 0x88, 0x95, 0x22, 0xD7, 0x60, 0x47, 0xC9, 0x1F, 0xFA, 0x2D, 0x51, | |
| 420 0x3F, 0x02, 0x03, 0x01, 0x00, 0x01}; | |
| 421 | |
| 422 static const net::SHA256HashValue kFingerprintICA8 = {{0xE9, | |
| 423 0xD4, | |
| 424 0x83, | |
| 425 0xD3, | |
| 426 0x78, | |
| 427 0x01, | |
| 428 0xB1, | |
| 429 0x1A, | |
| 430 0xB8, | |
| 431 0x8E, | |
| 432 0xE1, | |
| 433 0x87, | |
| 434 0xB1, | |
| 435 0x88, | |
| 436 0xD5, | |
| 437 0xE2, | |
| 438 0xF0, | |
| 439 0xFE, | |
| 440 0x18, | |
| 441 0xE7, | |
| 442 0xCE, | |
| 443 0xB8, | |
| 444 0x10, | |
| 445 0x06, | |
| 446 0x3E, | |
| 447 0xA5, | |
| 448 0x05, | |
| 449 0x4A, | |
| 450 0x1A, | |
| 451 0x9D, | |
| 452 0x1C, | |
| 453 0x11}}; | |
| 454 | |
| 455 static const unsigned char kPublicKeyICA8[] = { | |
| 456 0x30, 0x82, 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0xBF, 0x3A, 0x31, | |
| 457 0xFC, 0xF8, 0xE6, 0xEE, 0xC0, 0x48, 0x00, 0xB4, 0x05, 0x65, 0x36, 0x23, | |
| 458 0x6D, 0x34, 0xD6, 0x00, 0xD5, 0x43, 0x89, 0x6A, 0x90, 0xCB, 0x7D, 0x1B, | |
| 459 0x39, 0xFE, 0x2E, 0x83, 0x84, 0x29, 0xBE, 0x51, 0xEF, 0x98, 0x66, 0x48, | |
| 460 0x59, 0x8E, 0x7E, 0x10, 0x14, 0x1D, 0x9F, 0xAA, 0x52, 0xFD, 0x6B, 0xBF, | |
| 461 0xC6, 0x13, 0xF2, 0xE9, 0x79, 0x62, 0xE2, 0xA0, 0x3B, 0xC6, 0x44, 0x70, | |
| 462 0x94, 0x98, 0xAF, 0x92, 0x9E, 0x66, 0x3F, 0xA4, 0x6C, 0xC1, 0x2F, 0x6D, | |
| 463 0xA2, 0x08, 0x8A, 0x47, 0x1B, 0xFA, 0x6D, 0x09, 0xCF, 0x94, 0xDB, 0x20, | |
| 464 0xCE, 0xA2, 0xBF, 0xEA, 0x06, 0xF4, 0xD3, 0x4D, 0xF7, 0x62, 0xAE, 0x1A, | |
| 465 0x64, 0xEC, 0x1F, 0xA5, 0x40, 0x2D, 0x15, 0xE7, 0xF7, 0x26, 0xFB, 0x08, | |
| 466 0xD9, 0x5B, 0xFC, 0x86, 0x7E, 0xC7, 0x94, 0x18, 0x08, 0x2A, 0xF5, 0x83, | |
| 467 0x44, 0x06, 0x15, 0x12, 0x5A, 0x1F, 0xBB, 0x47, 0xE3, 0x2C, 0x61, 0x64, | |
| 468 0xDF, 0xFE, 0x74, 0x0E, 0x78, 0xA4, 0x65, 0xB8, 0x70, 0xC1, 0xDB, 0x3D, | |
| 469 0xCA, 0x26, 0x33, 0xBD, 0x4A, 0x14, 0xDA, 0x0B, 0xEC, 0xEC, 0xB3, 0x34, | |
| 470 0x23, 0x59, 0xD2, 0x11, 0xF9, 0xB0, 0x53, 0x1C, 0x75, 0x76, 0xF5, 0x65, | |
| 471 0x00, 0x6C, 0xF0, 0x7F, 0xFA, 0x1A, 0x59, 0xFE, 0xF8, 0x9D, 0x1A, 0x4E, | |
| 472 0x42, 0x35, 0xEE, 0x2F, 0xE3, 0xA1, 0xE2, 0xDF, 0xDB, 0x7A, 0x6B, 0x5E, | |
| 473 0x6B, 0x21, 0xFF, 0xA5, 0xE1, 0x87, 0xDF, 0xB8, 0xE7, 0x52, 0xAD, 0x99, | |
| 474 0xCD, 0x47, 0x88, 0xE0, 0xBA, 0xF0, 0x3D, 0x9D, 0x87, 0x93, 0xAD, 0xA7, | |
| 475 0x45, 0x67, 0xF0, 0x1E, 0x46, 0xD7, 0x83, 0x9A, 0xE5, 0x49, 0x76, 0x21, | |
| 476 0x82, 0xCB, 0x82, 0x67, 0xA5, 0xFF, 0x63, 0xD8, 0x97, 0x51, 0xB4, 0x44, | |
| 477 0xA0, 0x76, 0xBA, 0x40, 0xD8, 0xAB, 0xA6, 0xEB, 0x70, 0xD5, 0xA4, 0x38, | |
| 478 0xB9, 0x02, 0x03, 0x01, 0x00, 0x01}; | |
| 479 | |
| 480 static const net::SHA256HashValue kFingerprintICA9 = {{0x7A, | |
| 481 0x96, | |
| 482 0xE1, | |
| 483 0xA4, | |
| 484 0xDE, | |
| 485 0xEB, | |
| 486 0x04, | |
| 487 0x23, | |
| 488 0xD6, | |
| 489 0xC4, | |
| 490 0xFD, | |
| 491 0x98, | |
| 492 0xDF, | |
| 493 0x25, | |
| 494 0x83, | |
| 495 0x25, | |
| 496 0x2C, | |
| 497 0x3E, | |
| 498 0xE0, | |
| 499 0x23, | |
| 500 0x35, | |
| 501 0x9F, | |
| 502 0x4B, | |
| 503 0x92, | |
| 504 0x08, | |
| 505 0xAB, | |
| 506 0xE8, | |
| 507 0x7C, | |
| 508 0xB1, | |
| 509 0xD8, | |
| 510 0x4D, | |
| 511 0x85}}; | |
| 512 | |
| 513 static const unsigned char kPublicKeyICA9[] = { | |
| 514 0x30, 0x82, 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0xE5, 0x44, 0x79, | |
| 515 0xD4, 0x75, 0x3A, 0xBD, 0x25, 0x6F, 0x89, 0xF7, 0x94, 0xE9, 0x23, 0xAE, | |
| 516 0x19, 0x38, 0x09, 0xA7, 0x75, 0x9C, 0x5A, 0x08, 0x4A, 0xC2, 0xC6, 0xA4, | |
| 517 0x95, 0x13, 0x96, 0x95, 0x4E, 0xFA, 0xF1, 0xC3, 0xD2, 0x7A, 0xBC, 0x4A, | |
| 518 0xEE, 0x65, 0x2D, 0xE2, 0xB1, 0x57, 0x49, 0x02, 0x84, 0x7C, 0x35, 0x31, | |
| 519 0x8A, 0xBB, 0xCB, 0x75, 0x9C, 0x14, 0x84, 0x52, 0x85, 0x40, 0xD2, 0x1D, | |
| 520 0x03, 0xAE, 0x2B, 0x38, 0xA2, 0x7F, 0xEE, 0xE8, 0x3C, 0x51, 0x5B, 0x82, | |
| 521 0x11, 0x9E, 0xE2, 0xC9, 0x0B, 0x7B, 0x66, 0xF2, 0xE5, 0x35, 0x64, 0x4B, | |
| 522 0xF1, 0x98, 0xD9, 0x60, 0x0A, 0xA2, 0x8B, 0xB2, 0xD3, 0x96, 0x35, 0xBE, | |
| 523 0x2D, 0xB4, 0x7E, 0xAC, 0x75, 0x73, 0x5F, 0xC0, 0x78, 0xC1, 0x91, 0x3E, | |
| 524 0xB7, 0xB2, 0x53, 0x4F, 0x78, 0x7D, 0x58, 0x93, 0x12, 0x3B, 0xA9, 0xB3, | |
| 525 0x8F, 0xA7, 0xF6, 0x7F, 0x4C, 0x2F, 0x7B, 0xFA, 0x41, 0xCA, 0xF5, 0x5A, | |
| 526 0xF4, 0x8A, 0x5B, 0xFE, 0x82, 0x18, 0x90, 0xE5, 0x15, 0x01, 0xD3, 0xD8, | |
| 527 0x83, 0x6B, 0x02, 0xA3, 0xAE, 0x54, 0x5C, 0xD9, 0x0B, 0x65, 0x00, 0xD6, | |
| 528 0x06, 0xF6, 0x4E, 0x52, 0x2C, 0x9C, 0x06, 0x1B, 0x11, 0x53, 0xA5, 0x7E, | |
| 529 0xBE, 0xAC, 0x5E, 0x01, 0xF1, 0x50, 0xF2, 0xC0, 0x26, 0xC6, 0xF9, 0xDD, | |
| 530 0x89, 0x8C, 0x1D, 0xD4, 0x7A, 0x59, 0xC2, 0xD7, 0xF8, 0x7A, 0x03, 0x6A, | |
| 531 0xBD, 0xC5, 0x75, 0x04, 0xED, 0x29, 0x90, 0xD8, 0x24, 0x75, 0x12, 0x38, | |
| 532 0x24, 0xF2, 0x56, 0xB4, 0x87, 0xB2, 0x55, 0x0F, 0x26, 0x1D, 0xD0, 0x6B, | |
| 533 0x32, 0xDF, 0x05, 0xFA, 0x73, 0x94, 0xB0, 0x6B, 0x41, 0xE7, 0x2D, 0xF0, | |
| 534 0x24, 0x48, 0xA8, 0x5B, 0x03, 0x34, 0xE7, 0x48, 0x92, 0x4E, 0x99, 0x3A, | |
| 535 0x6B, 0x96, 0x8E, 0x8E, 0x48, 0x52, 0xA5, 0xE8, 0x13, 0x54, 0xCF, 0x8D, | |
| 536 0xA1, 0x02, 0x03, 0x01, 0x00, 0x01}; | |
| 537 | |
| 538 static const net::SHA256HashValue kFingerprintICA10 = {{0x61, | |
| 539 0x79, | |
| 540 0xBE, | |
| 541 0x64, | |
| 542 0x83, | |
| 543 0xD6, | |
| 544 0x71, | |
| 545 0xCE, | |
| 546 0x4F, | |
| 547 0xEE, | |
| 548 0x95, | |
| 549 0x5B, | |
| 550 0xF3, | |
| 551 0x6A, | |
| 552 0x1D, | |
| 553 0xDB, | |
| 554 0xC9, | |
| 555 0x51, | |
| 556 0x2F, | |
| 557 0xF4, | |
| 558 0x0C, | |
| 559 0xF8, | |
| 560 0xA5, | |
| 561 0x1C, | |
| 562 0x4F, | |
| 563 0x31, | |
| 564 0x2A, | |
| 565 0x93, | |
| 566 0x9A, | |
| 567 0x94, | |
| 568 0x07, | |
| 569 0xF7}}; | |
| 570 | |
| 571 static const unsigned char kPublicKeyICA10[] = { | |
| 572 0x30, 0x82, 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0xAF, 0xA1, 0x27, | |
| 573 0x5B, 0x18, 0x01, 0xF9, 0x16, 0x7C, 0xB9, 0x1D, 0xBB, 0x34, 0xC4, 0x45, | |
| 574 0xCF, 0x7A, 0x7B, 0x7A, 0xB7, 0xC9, 0x52, 0xC6, 0xC1, 0xBE, 0x14, 0x57, | |
| 575 0xF5, 0xDC, 0xF7, 0xA3, 0xB9, 0x1F, 0x63, 0x5B, 0xDE, 0x95, 0x36, 0x23, | |
| 576 0x3A, 0xD4, 0xDF, 0x33, 0xA5, 0x75, 0xF6, 0x2B, 0x70, 0x6B, 0xE6, 0x46, | |
| 577 0xA9, 0x94, 0x84, 0x22, 0xD0, 0xC7, 0xF4, 0x2C, 0x8D, 0x20, 0xBC, 0x2F, | |
| 578 0x8E, 0x08, 0x44, 0xA4, 0x99, 0x30, 0xE2, 0x2B, 0x37, 0x1E, 0x1A, 0xB7, | |
| 579 0x0D, 0x98, 0x20, 0x40, 0x18, 0xEC, 0x7E, 0x7C, 0x65, 0xD7, 0xF7, 0x1E, | |
| 580 0x7A, 0x50, 0x1C, 0x27, 0xFE, 0x82, 0x5F, 0xFA, 0xDF, 0xAC, 0xA6, 0x4E, | |
| 581 0xB4, 0x91, 0x2F, 0x73, 0xFB, 0x20, 0xFC, 0x70, 0x3F, 0x5E, 0x58, 0x7B, | |
| 582 0xAC, 0xC6, 0x1C, 0xAD, 0xEF, 0x0A, 0xB1, 0xB3, 0x12, 0x2E, 0xB8, 0xC3, | |
| 583 0x60, 0xCB, 0xF7, 0x71, 0x5F, 0x18, 0xDD, 0x85, 0x64, 0x06, 0xA7, 0x17, | |
| 584 0x60, 0x81, 0x72, 0x6D, 0xE2, 0x24, 0x57, 0xCA, 0x3D, 0x1D, 0x87, 0x75, | |
| 585 0x05, 0x95, 0xDE, 0x38, 0x8A, 0xE0, 0xC2, 0xF7, 0xCB, 0x2F, 0xA6, 0xB9, | |
| 586 0x24, 0x50, 0x14, 0x17, 0x12, 0x77, 0xFB, 0x41, 0xA8, 0xA1, 0x79, 0xBC, | |
| 587 0xC0, 0x87, 0x06, 0x34, 0xF2, 0xAF, 0x87, 0x12, 0xB6, 0x66, 0x24, 0xDD, | |
| 588 0x3E, 0xBA, 0x4E, 0x34, 0x02, 0xF2, 0x1B, 0xAB, 0x1D, 0x79, 0x72, 0x41, | |
| 589 0x16, 0x0E, 0x1F, 0x9B, 0x35, 0x40, 0xD0, 0xC6, 0x07, 0xA7, 0x91, 0x53, | |
| 590 0x55, 0x19, 0x0C, 0xB1, 0x1B, 0x42, 0x20, 0x41, 0xC5, 0x2A, 0xA8, 0x26, | |
| 591 0x8D, 0x44, 0x50, 0x1B, 0x0B, 0x21, 0xB2, 0x16, 0xA2, 0x1B, 0xF3, 0xBD, | |
| 592 0xC2, 0x1D, 0xAF, 0x4F, 0x41, 0x43, 0xAD, 0x3A, 0x76, 0x45, 0x3C, 0x2B, | |
| 593 0xD3, 0x71, 0x31, 0x43, 0x37, 0xB6, 0x68, 0xA6, 0x5D, 0x8C, 0x50, 0x2B, | |
| 594 0x8F, 0x02, 0x03, 0x01, 0x00, 0x01}; | |
| 595 | |
| 596 static const net::SHA256HashValue kFingerprintICA11 = {{0x9C, | |
| 597 0x1E, | |
| 598 0xB3, | |
| 599 0xEA, | |
| 600 0x88, | |
| 601 0xAA, | |
| 602 0x1C, | |
| 603 0x1E, | |
| 604 0x0A, | |
| 605 0xE7, | |
| 606 0x9C, | |
| 607 0x2B, | |
| 608 0x43, | |
| 609 0xFF, | |
| 610 0x46, | |
| 611 0xD4, | |
| 612 0xC8, | |
| 613 0xF5, | |
| 614 0xF4, | |
| 615 0xFF, | |
| 616 0x43, | |
| 617 0x71, | |
| 618 0xFB, | |
| 619 0x83, | |
| 620 0xE4, | |
| 621 0x81, | |
| 622 0x13, | |
| 623 0x8D, | |
| 624 0xAD, | |
| 625 0x82, | |
| 626 0x42, | |
| 627 0xE8}}; | |
| 628 | |
| 629 static const unsigned char kPublicKeyICA11[] = { | |
| 630 0x30, 0x82, 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0xA8, 0xB2, 0x65, | |
| 631 0xFB, 0x07, 0xB0, 0x21, 0xBE, 0x11, 0xD1, 0xDA, 0x5D, 0x89, 0xB5, 0xAA, | |
| 632 0xC2, 0xFD, 0xD3, 0x27, 0x8D, 0x3A, 0x29, 0x2F, 0x3E, 0xD4, 0x87, 0xC1, | |
| 633 0x1B, 0x51, 0x39, 0x48, 0x73, 0x4A, 0xD5, 0x52, 0x5D, 0x59, 0x93, 0x8B, | |
| 634 0xF3, 0x3D, 0x57, 0x6A, 0x77, 0x7D, 0x43, 0x3A, 0xED, 0xE5, 0xC2, 0x0E, | |
| 635 0xFB, 0xE0, 0xFB, 0x0C, 0x65, 0x65, 0x74, 0xA9, 0x1F, 0x3C, 0x56, 0x77, | |
| 636 0xC8, 0x5C, 0x8F, 0xA3, 0xCB, 0xB4, 0x68, 0xBC, 0xE9, 0x0F, 0xE4, 0x52, | |
| 637 0x46, 0x1B, 0xB2, 0x23, 0x6F, 0x66, 0x9D, 0xB7, 0xCF, 0xD9, 0x48, 0xE2, | |
| 638 0x7D, 0x17, 0x26, 0x45, 0x4F, 0xA5, 0x14, 0x10, 0x08, 0xCE, 0xEC, 0x18, | |
| 639 0xE0, 0x78, 0x8E, 0x25, 0xB7, 0xAE, 0x23, 0xBD, 0xAE, 0x56, 0x33, 0x1F, | |
| 640 0x5B, 0x02, 0x41, 0xE1, 0x22, 0x6D, 0x85, 0x8E, 0xB0, 0x87, 0x73, 0xF8, | |
| 641 0xBF, 0x3A, 0x06, 0xF7, 0xDA, 0x70, 0xCB, 0x14, 0x1F, 0x1E, 0xFF, 0x78, | |
| 642 0x9D, 0xC4, 0x7A, 0xFF, 0x76, 0x32, 0x35, 0x28, 0x16, 0xD4, 0xBF, 0xBC, | |
| 643 0x2B, 0x4E, 0xD2, 0x86, 0x50, 0x14, 0x7A, 0x8D, 0x3F, 0x8F, 0x9E, 0x53, | |
| 644 0x0B, 0xB5, 0x83, 0x6E, 0x00, 0x82, 0xB0, 0x08, 0x6F, 0x22, 0xF4, 0x26, | |
| 645 0x33, 0x19, 0xCC, 0x82, 0xC7, 0x4C, 0xA0, 0x1B, 0xD2, 0x62, 0x33, 0xF7, | |
| 646 0x75, 0x0B, 0x57, 0x4A, 0xDF, 0xDD, 0x68, 0xCB, 0xFD, 0x6F, 0xB8, 0xB3, | |
| 647 0x8F, 0x8E, 0x45, 0x8D, 0xEE, 0xF2, 0xA2, 0xFD, 0x71, 0xF5, 0xE0, 0x1B, | |
| 648 0x3E, 0x62, 0x00, 0x35, 0x98, 0x19, 0x6B, 0xA3, 0x1B, 0x1A, 0xA3, 0x5D, | |
| 649 0xDE, 0x49, 0xB9, 0x20, 0x0D, 0x44, 0x8F, 0x58, 0x3C, 0xDD, 0x52, 0x6D, | |
| 650 0x03, 0x7A, 0x33, 0xB3, 0x06, 0x7A, 0xC7, 0x49, 0x23, 0xC5, 0x2A, 0x24, | |
| 651 0xB6, 0x96, 0x12, 0x4C, 0x16, 0xB3, 0x3A, 0xFC, 0x46, 0x03, 0xEC, 0xBB, | |
| 652 0xF9, 0x02, 0x03, 0x01, 0x00, 0x01}; | |
| 653 | |
| 654 static const net::SHA256HashValue kFingerprintICA12 = {{0xFF, | |
| 655 0xFA, | |
| 656 0x45, | |
| 657 0x0D, | |
| 658 0x1D, | |
| 659 0xB6, | |
| 660 0x31, | |
| 661 0x13, | |
| 662 0xA7, | |
| 663 0x43, | |
| 664 0x70, | |
| 665 0x19, | |
| 666 0x6E, | |
| 667 0xCB, | |
| 668 0xDB, | |
| 669 0xA4, | |
| 670 0x3F, | |
| 671 0x74, | |
| 672 0xF4, | |
| 673 0xBD, | |
| 674 0x63, | |
| 675 0xAD, | |
| 676 0x8E, | |
| 677 0xFD, | |
| 678 0x35, | |
| 679 0x62, | |
| 680 0xB3, | |
| 681 0xF9, | |
| 682 0xE8, | |
| 683 0x69, | |
| 684 0x1F, | |
| 685 0xDB}}; | |
| 686 | |
| 687 static const unsigned char kPublicKeyICA12[] = { | |
| 688 0x30, 0x82, 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0xD9, 0xE3, 0x76, | |
| 689 0x97, 0x6A, 0xEF, 0x2D, 0x16, 0xD5, 0xF9, 0xDC, 0x9D, 0x0E, 0x65, 0x12, | |
| 690 0x65, 0x72, 0xC0, 0xE9, 0x11, 0x12, 0x37, 0x09, 0x5D, 0x54, 0xF4, 0x8F, | |
| 691 0x3C, 0xDB, 0xF2, 0xE9, 0x42, 0x9F, 0x4E, 0xF2, 0xD0, 0x4E, 0xC8, 0x10, | |
| 692 0x31, 0xE8, 0x1B, 0xFE, 0x5B, 0xFB, 0xC8, 0xD3, 0xFB, 0x77, 0x25, 0xC4, | |
| 693 0x69, 0xFA, 0x53, 0x03, 0x16, 0x12, 0x7F, 0x23, 0x9F, 0x4C, 0xFB, 0x35, | |
| 694 0x60, 0xAE, 0xFB, 0xA5, 0x94, 0xD3, 0x5A, 0x97, 0x38, 0x91, 0x6E, 0x87, | |
| 695 0xE4, 0xB5, 0xA1, 0x6E, 0x23, 0x1C, 0x7A, 0x41, 0x55, 0x27, 0xA3, 0x9E, | |
| 696 0x6E, 0xF3, 0xD0, 0xA7, 0x19, 0x52, 0x0C, 0x7C, 0xBC, 0xEC, 0xB6, 0xB8, | |
| 697 0x54, 0x40, 0x77, 0x0E, 0x67, 0x14, 0x0D, 0x19, 0x1B, 0x74, 0xD4, 0x2C, | |
| 698 0x16, 0x01, 0xE5, 0x57, 0x6C, 0x03, 0x1E, 0xE3, 0x9E, 0xA3, 0x8E, 0x72, | |
| 699 0xA6, 0x63, 0x3A, 0xED, 0x25, 0xEC, 0x15, 0x2F, 0xE8, 0xCE, 0x52, 0x1E, | |
| 700 0xCB, 0x50, 0x39, 0x36, 0x7E, 0xC2, 0xEC, 0x7C, 0xCA, 0x4A, 0xB8, 0x73, | |
| 701 0x91, 0xC8, 0x88, 0x98, 0x31, 0x0F, 0x2E, 0x68, 0x45, 0x53, 0x22, 0x66, | |
| 702 0xF1, 0xF5, 0xBF, 0xF9, 0x11, 0x88, 0xB6, 0x36, 0x8E, 0xAA, 0x1A, 0xB8, | |
| 703 0xC9, 0x18, 0x90, 0x44, 0xBE, 0xBD, 0xDD, 0xB1, 0x81, 0x98, 0xBE, 0xEB, | |
| 704 0x1F, 0xF6, 0x28, 0x85, 0xB3, 0xA4, 0xA1, 0xAE, 0x14, 0xD2, 0x91, 0x9D, | |
| 705 0xD3, 0xB1, 0x0B, 0xEC, 0x72, 0x3D, 0x43, 0xEB, 0xD3, 0x79, 0x2A, 0x7D, | |
| 706 0xAD, 0x79, 0xA5, 0xB5, 0xA0, 0xDD, 0x88, 0x89, 0x6E, 0xB4, 0xC8, 0x11, | |
| 707 0xB6, 0x11, 0xED, 0x18, 0x50, 0x43, 0x2E, 0xD7, 0xCE, 0x18, 0x58, 0xEB, | |
| 708 0xCE, 0x2E, 0xE9, 0x9E, 0x20, 0x86, 0xFE, 0x97, 0xCD, 0xB2, 0x9C, 0xC1, | |
| 709 0xAF, 0x24, 0x02, 0x38, 0x60, 0x6B, 0xCC, 0x66, 0xC3, 0x04, 0x72, 0xD3, | |
| 710 0xF1, 0x02, 0x03, 0x01, 0x00, 0x01}; | |
| 711 | |
| 712 static const net::SHA256HashValue kFingerprintICA13 = {{0xE0, | |
| 713 0x2C, | |
| 714 0x66, | |
| 715 0xCD, | |
| 716 0x6F, | |
| 717 0x96, | |
| 718 0xFC, | |
| 719 0x1B, | |
| 720 0x5A, | |
| 721 0x43, | |
| 722 0xC4, | |
| 723 0xA5, | |
| 724 0x19, | |
| 725 0xB6, | |
| 726 0x6F, | |
| 727 0x0B, | |
| 728 0xFE, | |
| 729 0xA7, | |
| 730 0x58, | |
| 731 0x0D, | |
| 732 0xC1, | |
| 733 0x02, | |
| 734 0x3E, | |
| 735 0xFE, | |
| 736 0xFF, | |
| 737 0x9C, | |
| 738 0xE4, | |
| 739 0x9E, | |
| 740 0xB1, | |
| 741 0x7E, | |
| 742 0x3F, | |
| 743 0x79}}; | |
| 744 | |
| 745 static const unsigned char kPublicKeyICA13[] = { | |
| 746 0x30, 0x82, 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0xBB, 0xE5, 0x0F, | |
| 747 0xD2, 0x1C, 0x6B, 0xBA, 0x23, 0xA9, 0x2F, 0x87, 0xEC, 0xDB, 0x92, 0x3F, | |
| 748 0xAF, 0xC8, 0xD4, 0xB2, 0x59, 0x24, 0x2E, 0xC8, 0xCD, 0x00, 0xEF, 0x09, | |
| 749 0xFB, 0xF6, 0x19, 0xE7, 0x6C, 0x8A, 0x1A, 0x3B, 0xB6, 0xCC, 0xEF, 0x3A, | |
| 750 0x40, 0x6C, 0x93, 0xF8, 0xE3, 0x1B, 0xB7, 0xE5, 0x1C, 0x92, 0x65, 0xE8, | |
| 751 0x5E, 0x64, 0x83, 0x90, 0xF1, 0x24, 0x4A, 0xD1, 0xC5, 0x3D, 0x8C, 0x3B, | |
| 752 0x71, 0x66, 0x31, 0x58, 0xD8, 0x55, 0xC2, 0xCC, 0xD3, 0xEA, 0x0E, 0x66, | |
| 753 0x88, 0x59, 0x14, 0x77, 0xED, 0x12, 0xC5, 0x96, 0x54, 0x7F, 0x97, 0x28, | |
| 754 0x3B, 0x5E, 0xCA, 0xF7, 0x1B, 0xD3, 0x4B, 0x10, 0xC3, 0x45, 0x3A, 0x4D, | |
| 755 0xCA, 0x36, 0x5A, 0xFF, 0x4F, 0x86, 0xDD, 0x9E, 0x69, 0xDF, 0xD5, 0x4A, | |
| 756 0xD0, 0xB8, 0x9F, 0x8D, 0x31, 0x70, 0x76, 0x63, 0x33, 0xB0, 0xB8, 0xF4, | |
| 757 0xB0, 0x45, 0x28, 0xB3, 0x5D, 0xF2, 0x2F, 0xC5, 0xA4, 0xD9, 0x30, 0x6F, | |
| 758 0x9F, 0x69, 0x23, 0x42, 0x6D, 0x7D, 0x73, 0x29, 0x56, 0x61, 0xCC, 0x56, | |
| 759 0xC9, 0xAE, 0xED, 0x13, 0x33, 0xB4, 0x0E, 0xD0, 0x25, 0xE3, 0x06, 0xC1, | |
| 760 0x9A, 0x26, 0xDB, 0x8E, 0x89, 0xA6, 0xA0, 0xF9, 0x30, 0xE6, 0x92, 0xD0, | |
| 761 0xEC, 0x77, 0xB9, 0xA8, 0x0C, 0x8E, 0x83, 0x5D, 0x6B, 0xB9, 0x49, 0xF2, | |
| 762 0xFB, 0x1C, 0xE4, 0x79, 0xC8, 0xB3, 0x90, 0x88, 0xE9, 0x92, 0x24, 0x8A, | |
| 763 0x18, 0x7E, 0xE3, 0x5C, 0xEF, 0xC0, 0x4B, 0xDD, 0xFD, 0x09, 0x14, 0x4C, | |
| 764 0x9C, 0x7A, 0xB3, 0x56, 0x84, 0x96, 0xDB, 0x08, 0xA8, 0xE1, 0xCD, 0x40, | |
| 765 0x94, 0xF5, 0x12, 0xF4, 0x63, 0x38, 0x0C, 0x51, 0xE4, 0x03, 0x63, 0xC4, | |
| 766 0x76, 0x54, 0xB7, 0x59, 0x25, 0xCE, 0x62, 0xDE, 0x73, 0x3F, 0xAB, 0x15, | |
| 767 0x56, 0xC5, 0xBC, 0x99, 0x8C, 0x3A, 0x46, 0x3F, 0x13, 0x0E, 0xF4, 0x53, | |
| 768 0x1D, 0x02, 0x03, 0x01, 0x00, 0x01}; | |
| 769 | |
| 770 static const net::SHA256HashValue kFingerprintICA14 = {{0x3B, | |
| 771 0x60, | |
| 772 0x2E, | |
| 773 0xE9, | |
| 774 0x9F, | |
| 775 0x75, | |
| 776 0x7C, | |
| 777 0x18, | |
| 778 0xE3, | |
| 779 0x08, | |
| 780 0x1E, | |
| 781 0xC0, | |
| 782 0x72, | |
| 783 0xE9, | |
| 784 0x20, | |
| 785 0x05, | |
| 786 0x0B, | |
| 787 0x83, | |
| 788 0xD7, | |
| 789 0xB7, | |
| 790 0x5E, | |
| 791 0x25, | |
| 792 0x47, | |
| 793 0xE7, | |
| 794 0xE6, | |
| 795 0x44, | |
| 796 0x2C, | |
| 797 0x40, | |
| 798 0xF4, | |
| 799 0xA9, | |
| 800 0xA1, | |
| 801 0xD0}}; | |
| 802 | |
| 803 static const unsigned char kPublicKeyICA14[] = { | |
| 804 0x30, 0x82, 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0xAD, 0x16, 0x57, | |
| 805 0x87, 0xD7, 0x0D, 0xA3, 0xA2, 0x7E, 0x8B, 0xAE, 0x45, 0x7A, 0x1F, 0xCA, | |
| 806 0xFE, 0xB9, 0x15, 0xB7, 0x5B, 0x9F, 0x7D, 0x16, 0xA5, 0xA5, 0x63, 0xB1, | |
| 807 0xF5, 0x6E, 0x17, 0x7F, 0x35, 0xD8, 0x4A, 0x8C, 0x97, 0xBF, 0x77, 0x84, | |
| 808 0x5E, 0xC6, 0x21, 0x81, 0xAF, 0x72, 0xEF, 0xCF, 0xDE, 0x46, 0xB7, 0xE7, | |
| 809 0x49, 0x61, 0x8E, 0xFC, 0x84, 0x12, 0xBC, 0x30, 0xEA, 0xF8, 0x5B, 0x78, | |
| 810 0x6C, 0x3E, 0x12, 0x23, 0x33, 0x29, 0x80, 0x34, 0x6A, 0x1E, 0x8D, 0x3C, | |
| 811 0x15, 0xE9, 0x47, 0x9E, 0x33, 0x27, 0x90, 0x73, 0x52, 0xD0, 0xBF, 0xCE, | |
| 812 0x0D, 0x68, 0xE5, 0x5A, 0x90, 0x71, 0xB2, 0xF2, 0xBD, 0x7E, 0x69, 0xE0, | |
| 813 0x92, 0xDC, 0x44, 0x9F, 0x4B, 0xA3, 0xC2, 0x58, 0x16, 0x1A, 0x35, 0x18, | |
| 814 0x88, 0x3A, 0x82, 0x15, 0xFC, 0x41, 0x8C, 0x72, 0x11, 0x2E, 0xC4, 0xED, | |
| 815 0xD3, 0x7E, 0x68, 0xF2, 0x00, 0x01, 0xE2, 0x71, 0xC3, 0x91, 0x91, 0xFD, | |
| 816 0xF3, 0xBE, 0x11, 0xE7, 0x62, 0xB4, 0xAF, 0xC8, 0xF0, 0x12, 0xBC, 0xB2, | |
| 817 0x0E, 0x58, 0x5C, 0xFF, 0x08, 0xCB, 0xCB, 0x91, 0xD2, 0xD0, 0x11, 0x87, | |
| 818 0x72, 0x04, 0x99, 0x63, 0x12, 0xA6, 0x6F, 0x7D, 0x40, 0x76, 0xB7, 0xE8, | |
| 819 0x89, 0xCE, 0xCD, 0x5A, 0x73, 0x18, 0x8A, 0x73, 0xAF, 0xFD, 0x21, 0x68, | |
| 820 0xE5, 0x26, 0x74, 0x12, 0x2C, 0xC3, 0xE6, 0x7D, 0x1D, 0x9A, 0xC8, 0x12, | |
| 821 0xCD, 0x38, 0xCB, 0x47, 0xA6, 0x54, 0x8F, 0xAD, 0x9F, 0xFA, 0xB1, 0xDF, | |
| 822 0xB0, 0xBF, 0xE7, 0x12, 0x32, 0x76, 0xA7, 0xA5, 0xD7, 0x46, 0xF8, 0x62, | |
| 823 0x15, 0x54, 0x78, 0xBA, 0x9E, 0x4D, 0xD8, 0x99, 0x62, 0x9E, 0xE8, 0x45, | |
| 824 0x93, 0x8C, 0x14, 0x7E, 0x9C, 0xE9, 0xF7, 0x2A, 0x7E, 0x56, 0xE3, 0xBD, | |
| 825 0xF1, 0x65, 0xC8, 0x6B, 0xB9, 0xE5, 0x16, 0x1E, 0x22, 0x29, 0xEC, 0xCA, | |
| 826 0xD9, 0x02, 0x03, 0x01, 0x00, 0x01}; | |
| 827 | |
| 828 static const net::SHA256HashValue kFingerprintICA15 = {{0x09, | |
| 829 0xA7, | |
| 830 0x9F, | |
| 831 0x65, | |
| 832 0xE5, | |
| 833 0x55, | |
| 834 0x72, | |
| 835 0xAA, | |
| 836 0xFD, | |
| 837 0xDB, | |
| 838 0x74, | |
| 839 0xE9, | |
| 840 0xF8, | |
| 841 0xFA, | |
| 842 0x01, | |
| 843 0x45, | |
| 844 0x1D, | |
| 845 0x8E, | |
| 846 0xA4, | |
| 847 0x17, | |
| 848 0x48, | |
| 849 0xAB, | |
| 850 0x50, | |
| 851 0x75, | |
| 852 0xF9, | |
| 853 0xB1, | |
| 854 0x12, | |
| 855 0xB0, | |
| 856 0x6F, | |
| 857 0xC8, | |
| 858 0x08, | |
| 859 0xAE}}; | |
| 860 | |
| 861 static const unsigned char kPublicKeyICA15[] = { | |
| 862 0x30, 0x82, 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0xDD, 0xFE, 0x56, | |
| 863 0x5F, 0x53, 0x05, 0x59, 0x8F, 0x7C, 0xF4, 0x8B, 0x90, 0x38, 0xED, 0x51, | |
| 864 0xE6, 0x8A, 0xAC, 0x78, 0x1F, 0x7B, 0x33, 0x74, 0x7F, 0x33, 0xAA, 0x6A, | |
| 865 0x13, 0x6F, 0x7C, 0xDF, 0x82, 0x8F, 0x7B, 0xC4, 0x11, 0xAE, 0x5C, 0x2B, | |
| 866 0x1A, 0xDB, 0x9A, 0x95, 0x13, 0xE8, 0x64, 0x48, 0x37, 0x6C, 0x6B, 0x8C, | |
| 867 0xDD, 0x42, 0xE1, 0xCE, 0xE4, 0x0C, 0xDF, 0xA2, 0x41, 0x9E, 0x78, 0x8B, | |
| 868 0x26, 0xBF, 0xA1, 0x6E, 0x59, 0x8E, 0x10, 0xF8, 0x31, 0xAD, 0x13, 0xD2, | |
| 869 0x1F, 0x84, 0xCC, 0xE0, 0x88, 0x59, 0x5D, 0x0C, 0xD0, 0xAB, 0x24, 0xC8, | |
| 870 0x1F, 0xCB, 0xE0, 0x13, 0x72, 0xD3, 0xF3, 0x90, 0xFB, 0xB0, 0x1D, 0x36, | |
| 871 0x4E, 0xB6, 0xDC, 0x42, 0xC2, 0x87, 0xD8, 0x38, 0x6D, 0x18, 0x23, 0x3F, | |
| 872 0xDF, 0x95, 0x8B, 0xF1, 0x40, 0x89, 0xEE, 0x43, 0xD5, 0x09, 0x1F, 0xBB, | |
| 873 0xDA, 0x96, 0x4C, 0xB7, 0x23, 0x33, 0xE9, 0x48, 0xEA, 0x9E, 0x1D, 0x30, | |
| 874 0xFD, 0x72, 0x90, 0x81, 0x74, 0x1C, 0xE7, 0x8A, 0xA9, 0x8C, 0xD9, 0x4B, | |
| 875 0x30, 0x35, 0x47, 0x60, 0xDC, 0x28, 0x34, 0x92, 0x39, 0xD6, 0xEA, 0x3E, | |
| 876 0x1F, 0x70, 0x1B, 0xCA, 0x28, 0x64, 0xA5, 0x2E, 0x90, 0x3E, 0x25, 0x90, | |
| 877 0xE7, 0x70, 0x10, 0x55, 0x1E, 0xAE, 0x9B, 0x5C, 0xB3, 0x88, 0xB7, 0x00, | |
| 878 0x76, 0x7B, 0xF7, 0xB6, 0x4A, 0xD3, 0x69, 0x1E, 0x00, 0xDF, 0xB1, 0xE6, | |
| 879 0x4D, 0xD1, 0x18, 0x3A, 0xAD, 0x7E, 0xB9, 0x6C, 0x6D, 0x51, 0x81, 0x75, | |
| 880 0xFE, 0xC4, 0xAA, 0xE6, 0x17, 0x37, 0xBA, 0x2B, 0x3B, 0xD4, 0x4E, 0xFC, | |
| 881 0xEC, 0xE6, 0x60, 0x7B, 0x20, 0x7F, 0xC3, 0x74, 0xD9, 0xA3, 0x67, 0x80, | |
| 882 0x8B, 0x4A, 0x34, 0xDC, 0x25, 0x6E, 0x9B, 0xA5, 0x67, 0x97, 0x54, 0xAC, | |
| 883 0x6C, 0x8E, 0x7A, 0x64, 0x20, 0xDA, 0xD6, 0xAA, 0x59, 0x6B, 0x27, 0x28, | |
| 884 0x99, 0x02, 0x03, 0x01, 0x00, 0x01}; | |
| 885 | |
| 886 static const net::SHA256HashValue kFingerprintICA16 = {{0x49, | |
| 887 0x0D, | |
| 888 0xC9, | |
| 889 0x48, | |
| 890 0xA1, | |
| 891 0x6B, | |
| 892 0x02, | |
| 893 0xEA, | |
| 894 0xC6, | |
| 895 0xDA, | |
| 896 0x47, | |
| 897 0x99, | |
| 898 0x36, | |
| 899 0x4D, | |
| 900 0xD2, | |
| 901 0xAF, | |
| 902 0x04, | |
| 903 0xF7, | |
| 904 0xEA, | |
| 905 0x46, | |
| 906 0x30, | |
| 907 0xCF, | |
| 908 0x33, | |
| 909 0x79, | |
| 910 0x73, | |
| 911 0x10, | |
| 912 0xAC, | |
| 913 0x4C, | |
| 914 0x07, | |
| 915 0xB4, | |
| 916 0x67, | |
| 917 0xAD}}; | |
| 918 | |
| 919 static const unsigned char kPublicKeyICA16[] = { | |
| 920 0x30, 0x82, 0x01, 0x0A, 0x02, 0x82, 0x01, 0x01, 0x00, 0xD2, 0xB0, 0xC9, | |
| 921 0xB3, 0x88, 0xCD, 0x93, 0x23, 0x6A, 0x46, 0xD3, 0x69, 0x0A, 0xD7, 0xFF, | |
| 922 0xE1, 0x51, 0x7E, 0x29, 0xA9, 0x6B, 0x71, 0x68, 0xC0, 0xCF, 0x69, 0xA3, | |
| 923 0xE8, 0xAD, 0xA9, 0x58, 0x22, 0x18, 0x45, 0x9F, 0x04, 0x86, 0x7F, 0xBA, | |
| 924 0x1B, 0xC8, 0x1C, 0x3A, 0x99, 0x80, 0xFF, 0x73, 0x8C, 0x65, 0xE7, 0xDA, | |
| 925 0x76, 0x5F, 0xCE, 0xD6, 0xB8, 0x28, 0xCA, 0xC9, 0x20, 0x7A, 0x4B, 0xB9, | |
| 926 0xC2, 0xCE, 0x89, 0x46, 0x40, 0x68, 0x60, 0x7E, 0x3B, 0xE0, 0x88, 0x1C, | |
| 927 0x1B, 0xDC, 0xEE, 0xDC, 0x06, 0x42, 0x5B, 0x28, 0x1A, 0xCD, 0xCB, 0x3E, | |
| 928 0x4E, 0xF3, 0x19, 0x0D, 0x83, 0xE2, 0x2A, 0x9D, 0x8C, 0xA3, 0x78, 0xE8, | |
| 929 0x1D, 0x6B, 0x79, 0x7C, 0x48, 0xA9, 0xE1, 0x8B, 0x56, 0x8B, 0x66, 0x63, | |
| 930 0xCE, 0x54, 0xA7, 0xD2, 0x1F, 0xE6, 0x81, 0x5B, 0x0C, 0x63, 0xB9, 0xF0, | |
| 931 0x94, 0xBD, 0xC1, 0xB2, 0x5A, 0x7F, 0xEC, 0x9A, 0x09, 0x4F, 0xB8, 0x02, | |
| 932 0x6D, 0x7F, 0x59, 0x64, 0xBE, 0x01, 0xF8, 0x83, 0xD4, 0xF0, 0x0E, 0x96, | |
| 933 0x78, 0xDC, 0xF4, 0x9D, 0x4C, 0x91, 0x4C, 0x08, 0xB3, 0xFA, 0x28, 0x55, | |
| 934 0xB7, 0xF6, 0x06, 0x1E, 0x34, 0xC3, 0x79, 0x90, 0xAB, 0x2C, 0x4E, 0x2E, | |
| 935 0xD9, 0xE4, 0x78, 0x87, 0xCF, 0xF2, 0xAA, 0x83, 0x2D, 0x74, 0x8F, 0xE4, | |
| 936 0xDA, 0xEE, 0xD0, 0x24, 0x06, 0xDE, 0x40, 0xE7, 0xC9, 0xC0, 0x02, 0xF5, | |
| 937 0x8D, 0x7D, 0xDE, 0x28, 0x03, 0x8A, 0xAE, 0x21, 0xBD, 0xF1, 0x29, 0x36, | |
| 938 0xEB, 0xD7, 0xC9, 0x3B, 0x34, 0xE3, 0x08, 0x8C, 0xCA, 0x25, 0xEE, 0x3C, | |
| 939 0xE4, 0x07, 0x49, 0xB9, 0xB8, 0xDB, 0x35, 0x90, 0x99, 0x50, 0x99, 0xC2, | |
| 940 0x7D, 0x6A, 0x3A, 0x33, 0x31, 0xC7, 0x61, 0x13, 0xB7, 0x71, 0x10, 0x80, | |
| 941 0xC1, 0x8C, 0xE0, 0x69, 0xA2, 0xDD, 0xA3, 0xE5, 0x52, 0x8A, 0xF5, 0xEF, | |
| 942 0x63, 0x02, 0x03, 0x01, 0x00, 0x01}; | |
| 943 | |
| 944 } // namespace | |
| 945 | |
| 11 AuthResult::AuthResult() : error_type(ERROR_NONE), nss_error_code(0) { | 946 AuthResult::AuthResult() : error_type(ERROR_NONE), nss_error_code(0) { |
| 12 } | 947 } |
| 13 | 948 |
| 14 AuthResult::~AuthResult() { | 949 AuthResult::~AuthResult() { |
| 15 } | 950 } |
| 16 | 951 |
| 17 // static | 952 // static |
| 18 AuthResult AuthResult::Create(const std::string& error_message, | 953 AuthResult AuthResult::Create(const std::string& error_message, |
| 19 ErrorType error_type) { | 954 ErrorType error_type) { |
| 20 return AuthResult(error_message, error_type, 0); | 955 return AuthResult(error_message, error_type, 0); |
| 21 } | 956 } |
| 22 | 957 |
| 23 // static | 958 // static |
| 24 AuthResult AuthResult::CreateWithNSSError(const std::string& error_message, | 959 AuthResult AuthResult::CreateWithNSSError(const std::string& error_message, |
| 25 ErrorType error_type, | 960 ErrorType error_type, |
| 26 int nss_error_code) { | 961 int nss_error_code) { |
| 27 return AuthResult(error_message, error_type, nss_error_code); | 962 return AuthResult(error_message, error_type, nss_error_code); |
| 28 } | 963 } |
| 29 | 964 |
| 30 AuthResult::AuthResult(const std::string& error_message, | 965 AuthResult::AuthResult(const std::string& error_message, |
| 31 ErrorType error_type, | 966 ErrorType error_type, |
| 32 int nss_error_code) | 967 int nss_error_code) |
| 33 : error_message(error_message), | 968 : error_message(error_message), |
| 34 error_type(error_type), | 969 error_type(error_type), |
| 35 nss_error_code(nss_error_code) { | 970 nss_error_code(nss_error_code) { |
| 36 } | 971 } |
| 37 | 972 |
| 973 // Info for trusted ICA certs. | |
| 974 struct ICACertInfo { | |
| 975 const net::SHA256HashValue* fingerprint; | |
| 976 const unsigned char* public_key; | |
| 977 size_t public_key_size; | |
| 978 }; | |
| 979 | |
| 980 // Default list of allowed / trusted ICAs. | |
| 981 static const ICACertInfo kAllowedICAs[] = { | |
| 982 {&kFingerprintICA1, kPublicKeyICA1, sizeof(kPublicKeyICA1)}, | |
| 983 {&kFingerprintICA2, kPublicKeyICA2, sizeof(kPublicKeyICA2)}, | |
| 984 {&kFingerprintICA3, kPublicKeyICA3, sizeof(kPublicKeyICA3)}, | |
| 985 {&kFingerprintICA4, kPublicKeyICA4, sizeof(kPublicKeyICA4)}, | |
| 986 {&kFingerprintICA5, kPublicKeyICA5, sizeof(kPublicKeyICA5)}, | |
| 987 {&kFingerprintICA6, kPublicKeyICA6, sizeof(kPublicKeyICA6)}, | |
| 988 {&kFingerprintICA7, kPublicKeyICA7, sizeof(kPublicKeyICA7)}, | |
| 989 {&kFingerprintICA8, kPublicKeyICA8, sizeof(kPublicKeyICA8)}, | |
| 990 {&kFingerprintICA9, kPublicKeyICA9, sizeof(kPublicKeyICA9)}, | |
| 991 {&kFingerprintICA10, kPublicKeyICA10, sizeof(kPublicKeyICA10)}, | |
| 992 {&kFingerprintICA11, kPublicKeyICA11, sizeof(kPublicKeyICA11)}, | |
| 993 {&kFingerprintICA12, kPublicKeyICA12, sizeof(kPublicKeyICA12)}, | |
| 994 {&kFingerprintICA13, kPublicKeyICA13, sizeof(kPublicKeyICA13)}, | |
| 995 {&kFingerprintICA14, kPublicKeyICA14, sizeof(kPublicKeyICA14)}, | |
| 996 {&kFingerprintICA15, kPublicKeyICA15, sizeof(kPublicKeyICA15)}, | |
| 997 {&kFingerprintICA16, kPublicKeyICA16, sizeof(kPublicKeyICA16)}}; | |
| 998 | |
| 999 AuthorityKeysStore::AuthorityKeysStore() { | |
| 1000 for (size_t i = 0; i < arraysize(kAllowedICAs); i++) { | |
| 1001 certificate_authorities_.insert( | |
| 1002 make_pair(*(kAllowedICAs[i].fingerprint), | |
| 1003 base::StringPiece( | |
| 1004 reinterpret_cast<const char*>(kAllowedICAs[i].public_key), | |
| 1005 kAllowedICAs[i].public_key_size))); | |
| 1006 } | |
| 1007 } | |
| 1008 | |
| 1009 AuthorityKeysStore::~AuthorityKeysStore() { | |
| 1010 } | |
| 1011 | |
| 1012 const base::StringPiece* AuthorityKeysStore::GetICAPublicKeyFromFingerprint( | |
| 1013 const net::SHA256HashValue& fingerprint) { | |
| 1014 AuthorityKeysMap::const_iterator it = | |
| 1015 certificate_authorities_.find(fingerprint); | |
| 1016 return (it == certificate_authorities_.end()) ? NULL : &(*it).second; | |
| 1017 } | |
| 1018 | |
| 1019 const base::StringPiece* AuthorityKeysStore::GetDefaultICAPublicKey() { | |
| 1020 return GetICAPublicKeyFromFingerprint(kFingerprintICA1); | |
| 1021 } | |
| 1022 | |
| 1023 bool AuthorityKeysStore::Load(const std::string& keys) { | |
| 1024 certificate_authorities_.clear(); | |
| 1025 authority_keys_.reset(new proto::AuthorityKeys()); | |
| 1026 | |
| 1027 if (!authority_keys_->ParseFromString(keys)) | |
| 1028 return false; | |
|
Ryan Sleevi
2014/10/21 22:38:03
If this fails, then all cast connections will fail
vadimgo
2014/10/21 23:35:57
Our intention is to remove the hard-coded ICA data
| |
| 1029 | |
| 1030 for (int i = 0; i < authority_keys_->keys_size(); i++) { | |
| 1031 const std::string& fingerprint = authority_keys_->keys(i).fingerprint(); | |
| 1032 | |
| 1033 // Ensure it's the size of SHA-256 fingerprint. | |
| 1034 if (fingerprint.size() != sizeof(net::SHA256HashValue)) { | |
|
Ryan Sleevi
2014/10/21 22:38:03
1) Don't do sizeof the struct (padding, etc). You
vadimgo
2014/10/21 23:35:57
I changed to this:
if (fingerprint.size() != size
| |
| 1035 return false; | |
| 1036 } | |
| 1037 | |
| 1038 net::SHA256HashValue* hash = reinterpret_cast<net::SHA256HashValue*>( | |
| 1039 const_cast<char*>(fingerprint.data())); | |
| 1040 const std::string& public_key = authority_keys_->keys(i).public_key(); | |
| 1041 certificate_authorities_.insert(make_pair( | |
| 1042 *hash, base::StringPiece(public_key.data(), public_key.size()))); | |
| 1043 } | |
| 1044 | |
| 1045 return true; | |
| 1046 } | |
| 1047 | |
| 38 } // namespace cast_channel | 1048 } // namespace cast_channel |
| 39 } // namespace core_api | 1049 } // namespace core_api |
| 40 } // namespace extensions | 1050 } // namespace extensions |
| OLD | NEW |