mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1054498 - Report pinning violations by CA r=keeler
This commit is contained in:
parent
473dea1298
commit
550cc2e2c1
@ -3,23 +3,24 @@
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#include "PublicKeyPinningService.h"
|
||||
#include "pkix/nullptr.h"
|
||||
#include "StaticHPKPins.h" // autogenerated by genHPKPStaticpins.js
|
||||
|
||||
#include "cert.h"
|
||||
#include "mozilla/Base64.h"
|
||||
#include "mozilla/Telemetry.h"
|
||||
#include "nsISiteSecurityService.h"
|
||||
#include "nssb64.h"
|
||||
#include "nsServiceManagerUtils.h"
|
||||
#include "nsSiteSecurityService.h"
|
||||
#include "nsString.h"
|
||||
#include "nsTArray.h"
|
||||
#include "nssb64.h"
|
||||
#include "pkix/nullptr.h"
|
||||
#include "pkix/pkixtypes.h"
|
||||
#include "prlog.h"
|
||||
#include "RootCertificateTelemetryUtils.h"
|
||||
#include "ScopedNSSTypes.h"
|
||||
#include "seccomon.h"
|
||||
#include "sechash.h"
|
||||
#include "StaticHPKPins.h" // autogenerated by genHPKPStaticpins.js
|
||||
|
||||
using namespace mozilla;
|
||||
using namespace mozilla::pkix;
|
||||
@ -269,6 +270,16 @@ CheckPinsForHostname(const CERTCertList *certList, const char *hostname,
|
||||
} else {
|
||||
Telemetry::Accumulate(histogram, result ? 1 : 0);
|
||||
}
|
||||
|
||||
// We only collect per-CA pinning statistics upon failures.
|
||||
CERTCertListNode* rootNode = CERT_LIST_TAIL(certList);
|
||||
// Only log telemetry if the certificate list is non-empty.
|
||||
if (!CERT_LIST_END(rootNode, certList)) {
|
||||
if (!result) {
|
||||
AccumulateTelemetryForRootCA(Telemetry::CERT_PINNING_FAILURES_BY_CA, rootNode->cert);
|
||||
}
|
||||
}
|
||||
|
||||
PR_LOG(gPublicKeyPinningLog, PR_LOG_DEBUG,
|
||||
("pkpin: Pin check %s for %s host '%s' (mode=%s)\n",
|
||||
result ? "passed" : "failed",
|
||||
|
98
security/manager/boot/src/RootCertificateTelemetryUtils.cpp
Normal file
98
security/manager/boot/src/RootCertificateTelemetryUtils.cpp
Normal file
@ -0,0 +1,98 @@
|
||||
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#include "RootCertificateTelemetryUtils.h"
|
||||
|
||||
#include "prlog.h"
|
||||
#include "RootHashes.inc" // Note: Generated by genRootCAHashes.js
|
||||
#include "ScopedNSSTypes.h"
|
||||
|
||||
// Note: New CAs will show up as UNKNOWN_ROOT until
|
||||
// RootHashes.inc is updated to include them. 0 is reserved by
|
||||
// genRootCAHashes.js for the unknowns.
|
||||
#define UNKNOWN_ROOT 0
|
||||
#define HASH_FAILURE -1
|
||||
|
||||
namespace mozilla { namespace psm {
|
||||
|
||||
#if defined(PR_LOGGING)
|
||||
PRLogModuleInfo* gPublicKeyPinningTelemetryLog =
|
||||
PR_NewLogModule("PublicKeyPinningTelemetryService");
|
||||
#endif
|
||||
|
||||
// Used in the BinarySearch method, this does a memcmp between the pointer
|
||||
// provided to its construtor and whatever the binary search is looking for.
|
||||
//
|
||||
// This implementation assumes everything to be of HASH_LEN, so it should not
|
||||
// be used generically.
|
||||
class BinaryHashSearchArrayComparator
|
||||
{
|
||||
public:
|
||||
explicit BinaryHashSearchArrayComparator(const uint8_t* aTarget, size_t len)
|
||||
: mTarget(aTarget)
|
||||
{
|
||||
NS_ASSERTION(len == HASH_LEN, "Hashes should be of the same length.");
|
||||
}
|
||||
|
||||
int operator()(const CertAuthorityHash val) const {
|
||||
return memcmp(mTarget, val.hash, HASH_LEN);
|
||||
}
|
||||
|
||||
private:
|
||||
const uint8_t* mTarget;
|
||||
};
|
||||
|
||||
// Perform a hash of the provided cert, then search in the RootHashes.inc data
|
||||
// structure for a matching bin number.
|
||||
int32_t
|
||||
RootCABinNumber(const SECItem* cert)
|
||||
{
|
||||
Digest digest;
|
||||
|
||||
// Compute SHA256 hash of the certificate
|
||||
nsresult rv = digest.DigestBuf(SEC_OID_SHA256, cert->data, cert->len);
|
||||
if (NS_WARN_IF(NS_FAILED(rv))) {
|
||||
return HASH_FAILURE;
|
||||
}
|
||||
|
||||
// Compare against list of stored hashes
|
||||
size_t idx;
|
||||
|
||||
PR_LOG(gPublicKeyPinningTelemetryLog, PR_LOG_DEBUG,
|
||||
("pkpinTelem: First bytes %02hx %02hx %02hx %02hx\n",
|
||||
digest.get().data[0], digest.get().data[1], digest.get().data[2], digest.get().data[3]));
|
||||
|
||||
if (mozilla::BinarySearchIf(ROOT_TABLE, 0, ArrayLength(ROOT_TABLE),
|
||||
BinaryHashSearchArrayComparator(
|
||||
reinterpret_cast<const uint8_t*>(digest.get().data), digest.get().len),
|
||||
&idx)) {
|
||||
|
||||
PR_LOG(gPublicKeyPinningTelemetryLog, PR_LOG_DEBUG,
|
||||
("pkpinTelem: Telemetry index was %lu, bin is %d\n",
|
||||
idx, ROOT_TABLE[idx].binNumber));
|
||||
return (int32_t) ROOT_TABLE[idx].binNumber;
|
||||
}
|
||||
|
||||
// Didn't match.
|
||||
return UNKNOWN_ROOT;
|
||||
}
|
||||
|
||||
|
||||
// Attempt to increment the appropriate bin in the provided Telemetry probe ID. If
|
||||
// there was a hash failure, we do nothing.
|
||||
void
|
||||
AccumulateTelemetryForRootCA(mozilla::Telemetry::ID probe,
|
||||
const CERTCertificate* cert)
|
||||
{
|
||||
int32_t binId = RootCABinNumber(&cert->derCert);
|
||||
|
||||
if (binId != HASH_FAILURE) {
|
||||
Accumulate(probe, binId);
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace psm
|
||||
} // namespace mozilla
|
21
security/manager/boot/src/RootCertificateTelemetryUtils.h
Normal file
21
security/manager/boot/src/RootCertificateTelemetryUtils.h
Normal file
@ -0,0 +1,21 @@
|
||||
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#ifndef RootCertificateTelemetryUtils_h
|
||||
#define RootCertificateTelemetryUtils_h
|
||||
|
||||
#include "mozilla/Telemetry.h"
|
||||
#include "certt.h"
|
||||
|
||||
namespace mozilla { namespace psm {
|
||||
|
||||
void
|
||||
AccumulateTelemetryForRootCA(mozilla::Telemetry::ID probe, const CERTCertificate* cert);
|
||||
|
||||
} // namespace psm
|
||||
} // namespace mozilla
|
||||
|
||||
#endif // RootCertificateTelemetryUtils_h
|
936
security/manager/boot/src/RootHashes.inc
Normal file
936
security/manager/boot/src/RootHashes.inc
Normal file
@ -0,0 +1,936 @@
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
/*****************************************************************************/
|
||||
/* This is an automatically generated file. If you're not */
|
||||
/* RootCertificateTelemetryUtils.cpp, you shouldn't be #including it. */
|
||||
/*****************************************************************************/
|
||||
|
||||
#define HASH_LEN 32
|
||||
struct CertAuthorityHash {
|
||||
const uint8_t hash[HASH_LEN];
|
||||
const int32_t binNumber;
|
||||
};
|
||||
|
||||
static const struct CertAuthorityHash ROOT_TABLE[] = {
|
||||
{
|
||||
/* AffirmTrust_Commercial */
|
||||
{ 0x03, 0x76, 0xAB, 0x1D, 0x54, 0xC5, 0xF9, 0x80, 0x3C, 0xE4, 0xB2, 0xE2, 0x01, 0xA0, 0xEE, 0x7E,
|
||||
0xEF, 0x7B, 0x57, 0xB6, 0x36, 0xE8, 0xA9, 0x3C, 0x9B, 0x8D, 0x48, 0x60, 0xC9, 0x6F, 0x5F, 0xA7 },
|
||||
109 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* ACEDICOM_Root */
|
||||
{ 0x03, 0x95, 0x0F, 0xB4, 0x9A, 0x53, 0x1F, 0x3E, 0x19, 0x91, 0x94, 0x23, 0x98, 0xDF, 0xA9, 0xE0,
|
||||
0xEA, 0x32, 0xD7, 0xBA, 0x1C, 0xDD, 0x9B, 0xC8, 0x5D, 0xB5, 0x7E, 0xD9, 0x40, 0x0B, 0x43, 0x4A },
|
||||
98 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068 */
|
||||
{ 0x04, 0x04, 0x80, 0x28, 0xBF, 0x1F, 0x28, 0x64, 0xD4, 0x8F, 0x9A, 0xD4, 0xD8, 0x32, 0x94, 0x36,
|
||||
0x6A, 0x82, 0x88, 0x56, 0x55, 0x3F, 0x3B, 0x14, 0x30, 0x3F, 0x90, 0x14, 0x7F, 0x5D, 0x40, 0xEF },
|
||||
102 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Chambers_of_Commerce_Root___2008 */
|
||||
{ 0x06, 0x3E, 0x4A, 0xFA, 0xC4, 0x91, 0xDF, 0xD3, 0x32, 0xF3, 0x08, 0x9B, 0x85, 0x42, 0xE9, 0x46,
|
||||
0x17, 0xD8, 0x93, 0xD7, 0xFE, 0x94, 0x4E, 0x10, 0xA7, 0x93, 0x7E, 0xE2, 0x9D, 0x96, 0x93, 0xC0 },
|
||||
104 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* DST_Root_CA_X3 */
|
||||
{ 0x06, 0x87, 0x26, 0x03, 0x31, 0xA7, 0x24, 0x03, 0xD9, 0x09, 0xF1, 0x05, 0xE6, 0x9B, 0xCF, 0x0D,
|
||||
0x32, 0xE1, 0xBD, 0x24, 0x93, 0xFF, 0xC6, 0xD9, 0x20, 0x6D, 0x11, 0xBC, 0xD6, 0x77, 0x07, 0x39 },
|
||||
52 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* AddTrust_Public_CA_Root */
|
||||
{ 0x07, 0x91, 0xCA, 0x07, 0x49, 0xB2, 0x07, 0x82, 0xAA, 0xD3, 0xC7, 0xD7, 0xBD, 0x0C, 0xDF, 0xC9,
|
||||
0x48, 0x58, 0x35, 0x84, 0x3E, 0xB2, 0xD7, 0x99, 0x60, 0x09, 0xCE, 0x43, 0xAB, 0x6C, 0x69, 0x27 },
|
||||
16 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* OU_Equifax_Secure_Certificate_Authority_O_Equifax_C_US */
|
||||
{ 0x08, 0x29, 0x7A, 0x40, 0x47, 0xDB, 0xA2, 0x36, 0x80, 0xC7, 0x31, 0xDB, 0x6E, 0x31, 0x76, 0x53,
|
||||
0xCA, 0x78, 0x48, 0xE1, 0xBE, 0xBD, 0x3A, 0x0B, 0x01, 0x79, 0xA7, 0x07, 0xF9, 0x2C, 0xF1, 0x78 },
|
||||
4 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* AffirmTrust_Networking */
|
||||
{ 0x0A, 0x81, 0xEC, 0x5A, 0x92, 0x97, 0x77, 0xF1, 0x45, 0x90, 0x4A, 0xF3, 0x8D, 0x5D, 0x50, 0x9F,
|
||||
0x66, 0xB5, 0xE2, 0xC5, 0x8F, 0xCD, 0xB5, 0x31, 0x05, 0x8B, 0x0E, 0x17, 0xF3, 0xF0, 0xB4, 0x1B },
|
||||
110 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Chambers_of_Commerce_Root */
|
||||
{ 0x0C, 0x25, 0x8A, 0x12, 0xA5, 0x67, 0x4A, 0xEF, 0x25, 0xF2, 0x8B, 0xA7, 0xDC, 0xFA, 0xEC, 0xEE,
|
||||
0xA3, 0x48, 0xE5, 0x41, 0xE6, 0xF5, 0xCC, 0x4E, 0xE6, 0x3B, 0x71, 0xB3, 0x61, 0x60, 0x6A, 0xC3 },
|
||||
39 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* COMODO_Certification_Authority */
|
||||
{ 0x0C, 0x2C, 0xD6, 0x3D, 0xF7, 0x80, 0x6F, 0xA3, 0x99, 0xED, 0xE8, 0x09, 0x11, 0x6B, 0x57, 0x5B,
|
||||
0xF8, 0x79, 0x89, 0xF0, 0x65, 0x18, 0xF9, 0x80, 0x8C, 0x86, 0x05, 0x03, 0x17, 0x8B, 0xAF, 0x66 },
|
||||
63 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Buypass_Class_2_CA_1 */
|
||||
{ 0x0F, 0x4E, 0x9C, 0xDD, 0x26, 0x4B, 0x02, 0x55, 0x50, 0xD1, 0x70, 0x80, 0x63, 0x40, 0x21, 0x4F,
|
||||
0xE9, 0x44, 0x34, 0xC9, 0xB0, 0x2F, 0x69, 0x7E, 0xC7, 0x10, 0xFC, 0x5F, 0xEA, 0xFB, 0x5E, 0x38 },
|
||||
80 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Class_2_Primary_CA */
|
||||
{ 0x0F, 0x99, 0x3C, 0x8A, 0xEF, 0x97, 0xBA, 0xAF, 0x56, 0x87, 0x14, 0x0E, 0xD5, 0x9A, 0xD1, 0x82,
|
||||
0x1B, 0xB4, 0xAF, 0xAC, 0xF0, 0xAA, 0x9A, 0x58, 0xB5, 0xD5, 0x7A, 0x33, 0x8A, 0x3A, 0xFB, 0xCB },
|
||||
51 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Global_Chambersign_Root___2008 */
|
||||
{ 0x13, 0x63, 0x35, 0x43, 0x93, 0x34, 0xA7, 0x69, 0x80, 0x16, 0xA0, 0xD3, 0x24, 0xDE, 0x72, 0x28,
|
||||
0x4E, 0x07, 0x9D, 0x7B, 0x52, 0x20, 0xBB, 0x8F, 0xBD, 0x74, 0x78, 0x16, 0xEE, 0xBE, 0xBA, 0xCA },
|
||||
105 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* OU_Starfield_Class_2_Certification_Authority_O__Starfield_Technologies__Inc___C_US */
|
||||
{ 0x14, 0x65, 0xFA, 0x20, 0x53, 0x97, 0xB8, 0x76, 0xFA, 0xA6, 0xF0, 0xA9, 0x95, 0x8E, 0x55, 0x90,
|
||||
0xE4, 0x0F, 0xCC, 0x7F, 0xAA, 0x4F, 0xB7, 0xC2, 0xC8, 0x67, 0x75, 0x21, 0xFB, 0x5F, 0xB6, 0x58 },
|
||||
44 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Network_Solutions_Certificate_Authority */
|
||||
{ 0x15, 0xF0, 0xBA, 0x00, 0xA3, 0xAC, 0x7A, 0xF3, 0xAC, 0x88, 0x4C, 0x07, 0x2B, 0x10, 0x11, 0xA0,
|
||||
0x77, 0xBD, 0x77, 0xC0, 0x97, 0xF4, 0x01, 0x64, 0xB2, 0xF8, 0x59, 0x8A, 0xBD, 0x83, 0x86, 0x0C },
|
||||
64 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Baltimore_CyberTrust_Root */
|
||||
{ 0x16, 0xAF, 0x57, 0xA9, 0xF6, 0x76, 0xB0, 0xAB, 0x12, 0x60, 0x95, 0xAA, 0x5E, 0xBA, 0xDE, 0xF2,
|
||||
0x2A, 0xB3, 0x11, 0x19, 0xD6, 0x44, 0xAC, 0x95, 0xCD, 0x4B, 0x93, 0xDB, 0xF3, 0xF2, 0x6A, 0xEB },
|
||||
11 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* COMODO_ECC_Certification_Authority */
|
||||
{ 0x17, 0x93, 0x92, 0x7A, 0x06, 0x14, 0x54, 0x97, 0x89, 0xAD, 0xCE, 0x2F, 0x8F, 0x34, 0xF7, 0xF0,
|
||||
0xB6, 0x6D, 0x0F, 0x3A, 0xE3, 0xA3, 0xB8, 0x4D, 0x21, 0xEC, 0x15, 0xDB, 0xBA, 0x4F, 0xAD, 0xC7 },
|
||||
66 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* QuoVadis_Root_CA_3 */
|
||||
{ 0x18, 0xF1, 0xFC, 0x7F, 0x20, 0x5D, 0xF8, 0xAD, 0xDD, 0xEB, 0x7F, 0xE0, 0x07, 0xDD, 0x57, 0xE3,
|
||||
0xAF, 0x37, 0x5A, 0x9C, 0x4D, 0x8D, 0x73, 0x54, 0x6B, 0xF4, 0xF1, 0xFE, 0xD1, 0xE1, 0x8D, 0x35 },
|
||||
33 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* China_Internet_Network_Information_Center_EV_Certificates_Root */
|
||||
{ 0x1C, 0x01, 0xC6, 0xF4, 0xDB, 0xB2, 0xFE, 0xFC, 0x22, 0x55, 0x8B, 0x2B, 0xCA, 0x32, 0x56, 0x3F,
|
||||
0x49, 0x84, 0x4A, 0xCF, 0xC3, 0x2B, 0x7B, 0xE4, 0xB0, 0xFF, 0x59, 0x9F, 0x9E, 0x8C, 0x7A, 0xF7 },
|
||||
133 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Swisscom_Root_CA_1 */
|
||||
{ 0x21, 0xDB, 0x20, 0x12, 0x36, 0x60, 0xBB, 0x2E, 0xD4, 0x18, 0x20, 0x5D, 0xA1, 0x1E, 0xE7, 0xA8,
|
||||
0x5A, 0x65, 0xE2, 0xBC, 0x6E, 0x55, 0xB5, 0xAF, 0x7E, 0x78, 0x99, 0xC8, 0xA2, 0x66, 0xD9, 0x2E },
|
||||
47 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* VeriSign_Universal_Root_Certification_Authority */
|
||||
{ 0x23, 0x99, 0x56, 0x11, 0x27, 0xA5, 0x71, 0x25, 0xDE, 0x8C, 0xEF, 0xEA, 0x61, 0x0D, 0xDF, 0x2F,
|
||||
0xA0, 0x78, 0xB5, 0xC8, 0x06, 0x7F, 0x4E, 0x82, 0x82, 0x90, 0xBF, 0xB8, 0x60, 0xE8, 0x4B, 0x3C },
|
||||
90 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Izenpe_com */
|
||||
{ 0x25, 0x30, 0xCC, 0x8E, 0x98, 0x32, 0x15, 0x02, 0xBA, 0xD9, 0x6F, 0x9B, 0x1F, 0xBA, 0x1B, 0x09,
|
||||
0x9E, 0x2D, 0x29, 0x9E, 0x0F, 0x45, 0x48, 0xBB, 0x91, 0x4F, 0x36, 0x3B, 0xC0, 0xD4, 0x53, 0x1F },
|
||||
103 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Starfield_Root_Certificate_Authority___G2 */
|
||||
{ 0x2C, 0xE1, 0xCB, 0x0B, 0xF9, 0xD2, 0xF9, 0xE1, 0x02, 0x99, 0x3F, 0xBE, 0x21, 0x51, 0x52, 0xC3,
|
||||
0xB2, 0xDD, 0x0C, 0xAB, 0xDE, 0x1C, 0x68, 0xE5, 0x31, 0x9B, 0x83, 0x91, 0x54, 0xDB, 0xB7, 0xF5 },
|
||||
107 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* OU_ApplicationCA_O_Japanese_Government_C_JP */
|
||||
{ 0x2D, 0x47, 0x43, 0x7D, 0xE1, 0x79, 0x51, 0x21, 0x5A, 0x12, 0xF3, 0xC5, 0x8E, 0x51, 0xC7, 0x29,
|
||||
0xA5, 0x80, 0x26, 0xEF, 0x1F, 0xCC, 0x0A, 0x5F, 0xB3, 0xD9, 0xDC, 0x01, 0x2F, 0x60, 0x0D, 0x19 },
|
||||
85 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* DigiCert_Global_Root_G3 */
|
||||
{ 0x31, 0xAD, 0x66, 0x48, 0xF8, 0x10, 0x41, 0x38, 0xC7, 0x38, 0xF3, 0x9E, 0xA4, 0x32, 0x01, 0x33,
|
||||
0x39, 0x3E, 0x3A, 0x18, 0xCC, 0x02, 0x29, 0x6E, 0xF9, 0x7C, 0x2A, 0xC9, 0xEF, 0x67, 0x31, 0xD0 },
|
||||
150 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Microsec_e_Szigno_Root_CA */
|
||||
{ 0x32, 0x7A, 0x3D, 0x76, 0x1A, 0xBA, 0xDE, 0xA0, 0x34, 0xEB, 0x99, 0x84, 0x06, 0x27, 0x5C, 0xB1,
|
||||
0xA4, 0x77, 0x6E, 0xFD, 0xAE, 0x2F, 0xDF, 0x6D, 0x01, 0x68, 0xEA, 0x1C, 0x4F, 0x55, 0x67, 0xD0 },
|
||||
70 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* EBG_Elektronik_Sertifika_Hizmet_Sa_lay_c_s_ */
|
||||
{ 0x35, 0xAE, 0x5B, 0xDD, 0xD8, 0xF7, 0xAE, 0x63, 0x5C, 0xFF, 0xBA, 0x56, 0x82, 0xA8, 0xF0, 0x0B,
|
||||
0x95, 0xF4, 0x84, 0x62, 0xC7, 0x10, 0x8E, 0xE9, 0xA0, 0xE5, 0x29, 0x2B, 0x07, 0x4A, 0xAF, 0xB2 },
|
||||
82 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* GeoTrust_Primary_Certification_Authority */
|
||||
{ 0x37, 0xD5, 0x10, 0x06, 0xC5, 0x12, 0xEA, 0xAB, 0x62, 0x64, 0x21, 0xF1, 0xEC, 0x8C, 0x92, 0x01,
|
||||
0x3F, 0xC5, 0xF8, 0x2A, 0xE9, 0x8E, 0xE5, 0x33, 0xEB, 0x46, 0x19, 0xB8, 0xDE, 0xB4, 0xD0, 0x6C },
|
||||
58 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Microsec_e_Szigno_Root_CA_2009 */
|
||||
{ 0x3C, 0x5F, 0x81, 0xFE, 0xA5, 0xFA, 0xB8, 0x2C, 0x64, 0xBF, 0xA2, 0xEA, 0xEC, 0xAF, 0xCD, 0xE8,
|
||||
0xE0, 0x77, 0xFC, 0x86, 0x20, 0xA7, 0xCA, 0xE5, 0x37, 0x16, 0x3D, 0xF3, 0x6E, 0xDB, 0xF3, 0x78 },
|
||||
99 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* PSCProcert */
|
||||
{ 0x3C, 0xFC, 0x3C, 0x14, 0xD1, 0xF6, 0x84, 0xFF, 0x17, 0xE3, 0x8C, 0x43, 0xCA, 0x44, 0x0C, 0x00,
|
||||
0xB9, 0x67, 0xEC, 0x93, 0x3E, 0x8B, 0xFE, 0x06, 0x4C, 0xA1, 0xD7, 0x2C, 0x90, 0xF2, 0xAD, 0xB0 },
|
||||
132 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* EE_Certification_Centre_Root_CA */
|
||||
{ 0x3E, 0x84, 0xBA, 0x43, 0x42, 0x90, 0x85, 0x16, 0xE7, 0x75, 0x73, 0xC0, 0x99, 0x2F, 0x09, 0x79,
|
||||
0xCA, 0x08, 0x4E, 0x46, 0x85, 0x68, 0x1F, 0xF1, 0x95, 0xCC, 0xBA, 0x8A, 0x22, 0x9B, 0x8A, 0x76 },
|
||||
128 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* DigiCert_Assured_ID_Root_CA */
|
||||
{ 0x3E, 0x90, 0x99, 0xB5, 0x01, 0x5E, 0x8F, 0x48, 0x6C, 0x00, 0xBC, 0xEA, 0x9D, 0x11, 0x1E, 0xE7,
|
||||
0x21, 0xFA, 0xBA, 0x35, 0x5A, 0x89, 0xBC, 0xF1, 0xDF, 0x69, 0x56, 0x1E, 0x3D, 0xC6, 0x32, 0x5C },
|
||||
48 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Trusted_Certificate_Services */
|
||||
{ 0x3F, 0x06, 0xE5, 0x56, 0x81, 0xD4, 0x96, 0xF5, 0xBE, 0x16, 0x9E, 0xB5, 0x38, 0x9F, 0x9F, 0x2B,
|
||||
0x8F, 0xF6, 0x1E, 0x17, 0x08, 0xDF, 0x68, 0x81, 0x72, 0x48, 0x49, 0xCD, 0x5D, 0x27, 0xCB, 0x69 },
|
||||
30 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* OISTE_WISeKey_Global_Root_GA_CA */
|
||||
{ 0x41, 0xC9, 0x23, 0x86, 0x6A, 0xB4, 0xCA, 0xD6, 0xB7, 0xAD, 0x57, 0x80, 0x81, 0x58, 0x2E, 0x02,
|
||||
0x07, 0x97, 0xA6, 0xCB, 0xDF, 0x4F, 0xFF, 0x78, 0xCE, 0x83, 0x96, 0xB3, 0x89, 0x37, 0xD7, 0xF5 },
|
||||
69 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Secure_Global_CA */
|
||||
{ 0x42, 0x00, 0xF5, 0x04, 0x3A, 0xC8, 0x59, 0x0E, 0xBB, 0x52, 0x7D, 0x20, 0x9E, 0xD1, 0x50, 0x30,
|
||||
0x29, 0xFB, 0xCB, 0xD4, 0x1C, 0xA1, 0xB5, 0x06, 0xEC, 0x27, 0xF1, 0x5A, 0xDE, 0x7D, 0xAC, 0x69 },
|
||||
62 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* DigiCert_Global_Root_CA */
|
||||
{ 0x43, 0x48, 0xA0, 0xE9, 0x44, 0x4C, 0x78, 0xCB, 0x26, 0x5E, 0x05, 0x8D, 0x5E, 0x89, 0x44, 0xB4,
|
||||
0xD8, 0x4F, 0x96, 0x62, 0xBD, 0x26, 0xDB, 0x25, 0x7F, 0x89, 0x34, 0xA4, 0x43, 0xC7, 0x01, 0x61 },
|
||||
49 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* T_RKTRUST_Elektronik_Sertifika_Hizmet_Sa_lay_c_s_ */
|
||||
{ 0x44, 0x04, 0xE3, 0x3B, 0x5E, 0x14, 0x0D, 0xCF, 0x99, 0x80, 0x51, 0xFD, 0xFC, 0x80, 0x28, 0xC7,
|
||||
0xC8, 0x16, 0x15, 0xC5, 0xEE, 0x73, 0x7B, 0x11, 0x1B, 0x58, 0x82, 0x33, 0xA9, 0xB5, 0x35, 0xA0 },
|
||||
54 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Go_Daddy_Root_Certificate_Authority___G2 */
|
||||
{ 0x45, 0x14, 0x0B, 0x32, 0x47, 0xEB, 0x9C, 0xC8, 0xC5, 0xB4, 0xF0, 0xD7, 0xB5, 0x30, 0x91, 0xF7,
|
||||
0x32, 0x92, 0x08, 0x9E, 0x6E, 0x5A, 0x63, 0xE2, 0x74, 0x9D, 0xD3, 0xAC, 0xA9, 0x19, 0x8E, 0xDA },
|
||||
106 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* D_TRUST_Root_Class_3_CA_2_2009 */
|
||||
{ 0x49, 0xE7, 0xA4, 0x42, 0xAC, 0xF0, 0xEA, 0x62, 0x87, 0x05, 0x00, 0x54, 0xB5, 0x25, 0x64, 0xB6,
|
||||
0x50, 0xE4, 0xF4, 0x9E, 0x42, 0xE3, 0x48, 0xD6, 0xAA, 0x38, 0xE0, 0x39, 0xE9, 0x57, 0xB1, 0xC1 },
|
||||
130 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* thawte_Primary_Root_CA___G3 */
|
||||
{ 0x4B, 0x03, 0xF4, 0x58, 0x07, 0xAD, 0x70, 0xF2, 0x1B, 0xFC, 0x2C, 0xAE, 0x71, 0xC9, 0xFD, 0xE4,
|
||||
0x60, 0x4C, 0x06, 0x4C, 0xF5, 0xFF, 0xB6, 0x86, 0xBA, 0xE5, 0xDB, 0xAA, 0xD7, 0xFD, 0xD3, 0x4C },
|
||||
88 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Certification_Authority_of_WoSign */
|
||||
{ 0x4B, 0x22, 0xD5, 0xA6, 0xAE, 0xC9, 0x9F, 0x3C, 0xDB, 0x79, 0xAA, 0x5E, 0xC0, 0x68, 0x38, 0x47,
|
||||
0x9C, 0xD5, 0xEC, 0xBA, 0x71, 0x64, 0xF7, 0xF2, 0x2D, 0xC1, 0xD6, 0x5F, 0x63, 0xD8, 0x57, 0x08 },
|
||||
152 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* ComSign_Secured_CA */
|
||||
{ 0x50, 0x79, 0x41, 0xC7, 0x44, 0x60, 0xA0, 0xB4, 0x70, 0x86, 0x22, 0x0D, 0x4E, 0x99, 0x32, 0x57,
|
||||
0x2A, 0xB5, 0xD1, 0xB5, 0xBB, 0xCB, 0x89, 0x80, 0xAB, 0x1C, 0xB1, 0x76, 0x51, 0xA8, 0x44, 0xD2 },
|
||||
76 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* OU_Security_Communication_RootCA2_O__SECOM_Trust_Systems_CO__LTD___C_JP */
|
||||
{ 0x51, 0x3B, 0x2C, 0xEC, 0xB8, 0x10, 0xD4, 0xCD, 0xE5, 0xDD, 0x85, 0x39, 0x1A, 0xDF, 0xC6, 0xC2,
|
||||
0xDD, 0x60, 0xD8, 0x7B, 0xB7, 0x36, 0xD2, 0xB5, 0x21, 0x48, 0x4A, 0xA4, 0x7A, 0x0E, 0xBE, 0xF6 },
|
||||
118 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* DigiCert_Trusted_Root_G4 */
|
||||
{ 0x55, 0x2F, 0x7B, 0xDC, 0xF1, 0xA7, 0xAF, 0x9E, 0x6C, 0xE6, 0x72, 0x01, 0x7F, 0x4F, 0x12, 0xAB,
|
||||
0xF7, 0x72, 0x40, 0xC7, 0x8E, 0x76, 0x1A, 0xC2, 0x03, 0xD1, 0xD9, 0xD2, 0x0A, 0xC8, 0x99, 0x88 },
|
||||
151 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Actalis_Authentication_Root_CA */
|
||||
{ 0x55, 0x92, 0x60, 0x84, 0xEC, 0x96, 0x3A, 0x64, 0xB9, 0x6E, 0x2A, 0xBE, 0x01, 0xCE, 0x0B, 0xA8,
|
||||
0x6A, 0x64, 0xFB, 0xFE, 0xBC, 0xC7, 0xAA, 0xB5, 0xAF, 0xC1, 0x55, 0xB3, 0x7F, 0xD7, 0x60, 0x66 },
|
||||
121 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Starfield_Services_Root_Certificate_Authority___G2 */
|
||||
{ 0x56, 0x8D, 0x69, 0x05, 0xA2, 0xC8, 0x87, 0x08, 0xA4, 0xB3, 0x02, 0x51, 0x90, 0xED, 0xCF, 0xED,
|
||||
0xB1, 0x97, 0x4A, 0x60, 0x6A, 0x13, 0xC6, 0xE5, 0x29, 0x0F, 0xCB, 0x2A, 0xE6, 0x3E, 0xDA, 0xB5 },
|
||||
108 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* TWCA_Global_Root_CA */
|
||||
{ 0x59, 0x76, 0x90, 0x07, 0xF7, 0x68, 0x5D, 0x0F, 0xCD, 0x50, 0x87, 0x2F, 0x9F, 0x95, 0xD5, 0x75,
|
||||
0x5A, 0x5B, 0x2B, 0x45, 0x7D, 0x81, 0xF3, 0x69, 0x2B, 0x61, 0x0A, 0x98, 0x67, 0x2F, 0x0E, 0x1B },
|
||||
139 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Certum_Trusted_Network_CA */
|
||||
{ 0x5C, 0x58, 0x46, 0x8D, 0x55, 0xF5, 0x8E, 0x49, 0x7E, 0x74, 0x39, 0x82, 0xD2, 0xB5, 0x00, 0x10,
|
||||
0xB6, 0xD1, 0x65, 0x37, 0x4A, 0xCF, 0x83, 0xA7, 0xD4, 0xA3, 0x2D, 0xB7, 0x68, 0xC4, 0x40, 0x8E },
|
||||
113 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* GeoTrust_Primary_Certification_Authority___G2 */
|
||||
{ 0x5E, 0xDB, 0x7A, 0xC4, 0x3B, 0x82, 0xA0, 0x6A, 0x87, 0x61, 0xE8, 0xD7, 0xBE, 0x49, 0x79, 0xEB,
|
||||
0xF2, 0x61, 0x1F, 0x7D, 0xD7, 0x9B, 0xF9, 0x1C, 0x1C, 0x6B, 0x56, 0x6A, 0x21, 0x9E, 0xD7, 0x66 },
|
||||
89 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Equifax_Secure_Global_eBusiness_CA_1 */
|
||||
{ 0x5F, 0x0B, 0x62, 0xEA, 0xB5, 0xE3, 0x53, 0xEA, 0x65, 0x21, 0x65, 0x16, 0x58, 0xFB, 0xB6, 0x53,
|
||||
0x59, 0xF4, 0x43, 0x28, 0x0A, 0x4A, 0xFB, 0xD1, 0x04, 0xD7, 0x7D, 0x10, 0xF9, 0xF0, 0x4C, 0x07 },
|
||||
12 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* SwissSign_Gold_CA___G2 */
|
||||
{ 0x62, 0xDD, 0x0B, 0xE9, 0xB9, 0xF5, 0x0A, 0x16, 0x3E, 0xA0, 0xF8, 0xE7, 0x5C, 0x05, 0x3B, 0x1E,
|
||||
0xCA, 0x57, 0xEA, 0x55, 0xC8, 0x68, 0x8F, 0x64, 0x7C, 0x68, 0x81, 0xF2, 0xC8, 0x35, 0x7B, 0x95 },
|
||||
56 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Staat_der_Nederlanden_Root_CA___G2 */
|
||||
{ 0x66, 0x8C, 0x83, 0x94, 0x7D, 0xA6, 0x3B, 0x72, 0x4B, 0xEC, 0xE1, 0x74, 0x3C, 0x31, 0xA0, 0xE6,
|
||||
0xAE, 0xD0, 0xDB, 0x8E, 0xC5, 0xB3, 0x1B, 0xE3, 0x77, 0xBB, 0x78, 0x4F, 0x91, 0xB6, 0x71, 0x6F },
|
||||
93 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* AddTrust_External_CA_Root */
|
||||
{ 0x68, 0x7F, 0xA4, 0x51, 0x38, 0x22, 0x78, 0xFF, 0xF0, 0xC8, 0xB1, 0x1F, 0x8D, 0x43, 0xD5, 0x76,
|
||||
0x67, 0x1C, 0x6E, 0xB2, 0xBC, 0xEA, 0xB4, 0x13, 0xFB, 0x83, 0xD9, 0x65, 0xD0, 0x6D, 0x2F, 0xF2 },
|
||||
15 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* VeriSign_Class_3_Public_Primary_Certification_Authority___G4 */
|
||||
{ 0x69, 0xDD, 0xD7, 0xEA, 0x90, 0xBB, 0x57, 0xC9, 0x3E, 0x13, 0x5D, 0xC8, 0x5E, 0xA6, 0xFC, 0xD5,
|
||||
0x48, 0x0B, 0x60, 0x32, 0x39, 0xBD, 0xC4, 0x54, 0xFC, 0x75, 0x8B, 0x2A, 0x26, 0xCF, 0x7F, 0x79 },
|
||||
91 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Visa_eCommerce_Root */
|
||||
{ 0x69, 0xFA, 0xC9, 0xBD, 0x55, 0xFB, 0x0A, 0xC7, 0x8D, 0x53, 0xBB, 0xEE, 0x5C, 0xF1, 0xD5, 0x97,
|
||||
0x98, 0x9F, 0xD0, 0xAA, 0xAB, 0x20, 0xA2, 0x51, 0x51, 0xBD, 0xF1, 0x73, 0x3E, 0xE7, 0xD1, 0x22 },
|
||||
26 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* NetLock_Arany__Class_Gold__F_tan_s_tv_ny */
|
||||
{ 0x6C, 0x61, 0xDA, 0xC3, 0xA2, 0xDE, 0xF0, 0x31, 0x50, 0x6B, 0xE0, 0x36, 0xD2, 0xA6, 0xFE, 0x40,
|
||||
0x19, 0x94, 0xFB, 0xD1, 0x3D, 0xF9, 0xC8, 0xD4, 0x66, 0x59, 0x92, 0x74, 0xC4, 0x46, 0xEC, 0x98 },
|
||||
92 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Entrust_net_Certification_Authority__2048_ */
|
||||
{ 0x6D, 0xC4, 0x71, 0x72, 0xE0, 0x1C, 0xBC, 0xB0, 0xBF, 0x62, 0x58, 0x0D, 0x89, 0x5F, 0xE2, 0xB8,
|
||||
0xAC, 0x9A, 0xD4, 0xF8, 0x73, 0x80, 0x1E, 0x0C, 0x10, 0xB9, 0xC8, 0x37, 0xD2, 0x1E, 0xB1, 0x77 },
|
||||
10 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* UTN_USERFirst_Hardware */
|
||||
{ 0x6E, 0xA5, 0x47, 0x41, 0xD0, 0x04, 0x66, 0x7E, 0xED, 0x1B, 0x48, 0x16, 0x63, 0x4A, 0xA3, 0xA7,
|
||||
0x9E, 0x6E, 0x4B, 0x96, 0x95, 0x0F, 0x82, 0x79, 0xDA, 0xFC, 0x8D, 0x9B, 0xD8, 0x81, 0x21, 0x37 },
|
||||
38 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* AffirmTrust_Premium */
|
||||
{ 0x70, 0xA7, 0x3F, 0x7F, 0x37, 0x6B, 0x60, 0x07, 0x42, 0x48, 0x90, 0x45, 0x34, 0xB1, 0x14, 0x82,
|
||||
0xD5, 0xBF, 0x0E, 0x69, 0x8E, 0xCC, 0x49, 0x8D, 0xF5, 0x25, 0x77, 0xEB, 0xF2, 0xE9, 0x3B, 0x9A },
|
||||
111 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Entrust_Root_Certification_Authority */
|
||||
{ 0x73, 0xC1, 0x76, 0x43, 0x4F, 0x1B, 0xC6, 0xD5, 0xAD, 0xF4, 0x5B, 0x0E, 0x76, 0xE7, 0x27, 0x28,
|
||||
0x7C, 0x8D, 0xE5, 0x76, 0x16, 0xC1, 0xE6, 0xE6, 0x14, 0x1A, 0x2B, 0x2C, 0xBC, 0x7D, 0x8E, 0x4C },
|
||||
18 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* DigiCert_High_Assurance_EV_Root_CA */
|
||||
{ 0x74, 0x31, 0xE5, 0xF4, 0xC3, 0xC1, 0xCE, 0x46, 0x90, 0x77, 0x4F, 0x0B, 0x61, 0xE0, 0x54, 0x40,
|
||||
0x88, 0x3B, 0xA9, 0xA0, 0x1E, 0xD0, 0x0B, 0xA6, 0xAB, 0xD7, 0x80, 0x6E, 0xD3, 0xB1, 0x18, 0xCF },
|
||||
50 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* O_Government_Root_Certification_Authority_C_TW */
|
||||
{ 0x76, 0x00, 0x29, 0x5E, 0xEF, 0xE8, 0x5B, 0x9E, 0x1F, 0xD6, 0x24, 0xDB, 0x76, 0x06, 0x2A, 0xAA,
|
||||
0xAE, 0x59, 0x81, 0x8A, 0x54, 0xD2, 0x77, 0x4C, 0xD4, 0xC0, 0xB2, 0xC0, 0x11, 0x31, 0xE1, 0xB3 },
|
||||
46 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* DST_ACES_CA_X6 */
|
||||
{ 0x76, 0x7C, 0x95, 0x5A, 0x76, 0x41, 0x2C, 0x89, 0xAF, 0x68, 0x8E, 0x90, 0xA1, 0xC7, 0x0F, 0x55,
|
||||
0x6C, 0xFD, 0x6B, 0x60, 0x25, 0xDB, 0xEA, 0x10, 0x41, 0x6D, 0x7E, 0xB6, 0x83, 0x1F, 0x8C, 0x40 },
|
||||
53 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* America_Online_Root_Certification_Authority_1 */
|
||||
{ 0x77, 0x40, 0x73, 0x12, 0xC6, 0x3A, 0x15, 0x3D, 0x5B, 0xC0, 0x0B, 0x4E, 0x51, 0x75, 0x9C, 0xDF,
|
||||
0xDA, 0xC2, 0x37, 0xDC, 0x2A, 0x33, 0xB6, 0x79, 0x46, 0xE9, 0x8E, 0x9B, 0xFA, 0x68, 0x0A, 0xE3 },
|
||||
24 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Sonera_Class2_CA */
|
||||
{ 0x79, 0x08, 0xB4, 0x03, 0x14, 0xC1, 0x38, 0x10, 0x0B, 0x51, 0x8D, 0x07, 0x35, 0x80, 0x7F, 0xFB,
|
||||
0xFC, 0xF8, 0x51, 0x8A, 0x00, 0x95, 0x33, 0x71, 0x05, 0xBA, 0x38, 0x6B, 0x15, 0x3D, 0xD9, 0x27 },
|
||||
35 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* A_Trust_nQual_03 */
|
||||
{ 0x79, 0x3C, 0xBF, 0x45, 0x59, 0xB9, 0xFD, 0xE3, 0x8A, 0xB2, 0x2D, 0xF1, 0x68, 0x69, 0xF6, 0x98,
|
||||
0x81, 0xAE, 0x14, 0xC4, 0xB0, 0x13, 0x9A, 0xC7, 0x88, 0xA7, 0x8A, 0x1A, 0xFC, 0xCA, 0x02, 0xFB },
|
||||
116 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* DigiCert_Assured_ID_Root_G2 */
|
||||
{ 0x7D, 0x05, 0xEB, 0xB6, 0x82, 0x33, 0x9F, 0x8C, 0x94, 0x51, 0xEE, 0x09, 0x4E, 0xEB, 0xFE, 0xFA,
|
||||
0x79, 0x53, 0xA1, 0x14, 0xED, 0xB2, 0xF4, 0x49, 0x49, 0x45, 0x2F, 0xAB, 0x7D, 0x2F, 0xC1, 0x85 },
|
||||
147 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* America_Online_Root_Certification_Authority_2 */
|
||||
{ 0x7D, 0x3B, 0x46, 0x5A, 0x60, 0x14, 0xE5, 0x26, 0xC0, 0xAF, 0xFC, 0xEE, 0x21, 0x27, 0xD2, 0x31,
|
||||
0x17, 0x27, 0xAD, 0x81, 0x1C, 0x26, 0x84, 0x2D, 0x00, 0x6A, 0xF3, 0x73, 0x06, 0xCC, 0x80, 0xBD },
|
||||
25 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* DigiCert_Assured_ID_Root_G3 */
|
||||
{ 0x7E, 0x37, 0xCB, 0x8B, 0x4C, 0x47, 0x09, 0x0C, 0xAB, 0x36, 0x55, 0x1B, 0xA6, 0xF4, 0x5D, 0xB8,
|
||||
0x40, 0x68, 0x0F, 0xBA, 0x16, 0x6A, 0x95, 0x2D, 0xB1, 0x00, 0x71, 0x7F, 0x43, 0x05, 0x3F, 0xC2 },
|
||||
148 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* NetLock_Kozjegyzoi__Class_A__Tanusitvanykiado */
|
||||
{ 0x7F, 0x12, 0xCD, 0x5F, 0x7E, 0x5E, 0x29, 0x0E, 0xC7, 0xD8, 0x51, 0x79, 0xD5, 0xB7, 0x2C, 0x20,
|
||||
0xA5, 0xBE, 0x75, 0x08, 0xFF, 0xDB, 0x5B, 0xF8, 0x1A, 0xB9, 0x68, 0x4A, 0x7F, 0xC9, 0xF6, 0x67 },
|
||||
41 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* AddTrust_Qualified_CA_Root */
|
||||
{ 0x80, 0x95, 0x21, 0x08, 0x05, 0xDB, 0x4B, 0xBC, 0x35, 0x5E, 0x44, 0x28, 0xD8, 0xFD, 0x6E, 0xC2,
|
||||
0xCD, 0xE3, 0xAB, 0x5F, 0xB9, 0x7A, 0x99, 0x42, 0x98, 0x8E, 0xB8, 0xF4, 0xDC, 0xD0, 0x60, 0x16 },
|
||||
17 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* OU_VeriSign_Trust_Network_OU___c__1998_VeriSign__Inc____For_authorized_use_only__OU_Class_3_Public_Primary_Certification_Authority___G2_O__VeriSign__Inc___C_US */
|
||||
{ 0x83, 0xCE, 0x3C, 0x12, 0x29, 0x68, 0x8A, 0x59, 0x3D, 0x48, 0x5F, 0x81, 0x97, 0x3C, 0x0F, 0x91,
|
||||
0x95, 0x43, 0x1E, 0xDA, 0x37, 0xCC, 0x5E, 0x36, 0x43, 0x0E, 0x79, 0xC7, 0xA8, 0x88, 0x63, 0x8B },
|
||||
5 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* QuoVadis_Root_CA_2 */
|
||||
{ 0x85, 0xA0, 0xDD, 0x7D, 0xD7, 0x20, 0xAD, 0xB7, 0xFF, 0x05, 0xF8, 0x3D, 0x54, 0x2B, 0x20, 0x9D,
|
||||
0xC7, 0xFF, 0x45, 0x28, 0xF7, 0xD6, 0x77, 0xB1, 0x83, 0x89, 0xFE, 0xA5, 0xE5, 0xC4, 0x9E, 0x86 },
|
||||
32 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* UTN___DATACorp_SGC */
|
||||
{ 0x85, 0xFB, 0x2F, 0x91, 0xDD, 0x12, 0x27, 0x5A, 0x01, 0x45, 0xB6, 0x36, 0x53, 0x4F, 0x84, 0x02,
|
||||
0x4A, 0xD6, 0x8B, 0x69, 0xB8, 0xEE, 0x88, 0x68, 0x4F, 0xF7, 0x11, 0x37, 0x58, 0x05, 0xB3, 0x48 },
|
||||
37 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* EC_ACC */
|
||||
{ 0x88, 0x49, 0x7F, 0x01, 0x60, 0x2F, 0x31, 0x54, 0x24, 0x6A, 0xE2, 0x8C, 0x4D, 0x5A, 0xEF, 0x10,
|
||||
0xF1, 0xD8, 0x7E, 0xBB, 0x76, 0x62, 0x6F, 0x4A, 0xE0, 0xB7, 0xF9, 0x5B, 0xA7, 0x96, 0x87, 0x99 },
|
||||
119 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* QuoVadis_Root_CA_3_G3 */
|
||||
{ 0x88, 0xEF, 0x81, 0xDE, 0x20, 0x2E, 0xB0, 0x18, 0x45, 0x2E, 0x43, 0xF8, 0x64, 0x72, 0x5C, 0xEA,
|
||||
0x5F, 0xBD, 0x1F, 0xC2, 0xD9, 0xD2, 0x05, 0x73, 0x07, 0x09, 0xC5, 0xD8, 0xB8, 0x69, 0x0F, 0x46 },
|
||||
146 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* QuoVadis_Root_CA_1_G3 */
|
||||
{ 0x8A, 0x86, 0x6F, 0xD1, 0xB2, 0x76, 0xB5, 0x7E, 0x57, 0x8E, 0x92, 0x1C, 0x65, 0x82, 0x8A, 0x2B,
|
||||
0xED, 0x58, 0xE9, 0xF2, 0xF2, 0x88, 0x05, 0x41, 0x34, 0xB7, 0xF1, 0xF4, 0xBF, 0xC9, 0xCC, 0x74 },
|
||||
144 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Root_CA_Generalitat_Valenciana */
|
||||
{ 0x8C, 0x4E, 0xDF, 0xD0, 0x43, 0x48, 0xF3, 0x22, 0x96, 0x9E, 0x7E, 0x29, 0xA4, 0xCD, 0x4D, 0xCA,
|
||||
0x00, 0x46, 0x55, 0x06, 0x1C, 0x16, 0xE1, 0xB0, 0x76, 0x42, 0x2E, 0xF3, 0x42, 0xAD, 0x63, 0x0E },
|
||||
115 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* AddTrust_Class_1_CA_Root */
|
||||
{ 0x8C, 0x72, 0x09, 0x27, 0x9A, 0xC0, 0x4E, 0x27, 0x5E, 0x16, 0xD0, 0x7F, 0xD3, 0xB7, 0x75, 0xE8,
|
||||
0x01, 0x54, 0xB5, 0x96, 0x80, 0x46, 0xE3, 0x1F, 0x52, 0xDD, 0x25, 0x76, 0x63, 0x24, 0xE9, 0xA7 },
|
||||
14 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* thawte_Primary_Root_CA */
|
||||
{ 0x8D, 0x72, 0x2F, 0x81, 0xA9, 0xC1, 0x13, 0xC0, 0x79, 0x1D, 0xF1, 0x36, 0xA2, 0x96, 0x6D, 0xB2,
|
||||
0x6C, 0x95, 0x0A, 0x97, 0x1D, 0xB4, 0x6B, 0x41, 0x99, 0xF4, 0xEA, 0x54, 0xB7, 0x8B, 0xFB, 0x9F },
|
||||
59 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* TC_TrustCenter_Class_3_CA_II */
|
||||
{ 0x8D, 0xA0, 0x84, 0xFC, 0xF9, 0x9C, 0xE0, 0x77, 0x22, 0xF8, 0x9B, 0x32, 0x05, 0x93, 0x98, 0x06,
|
||||
0xFA, 0x5C, 0xB8, 0x11, 0xE1, 0xC8, 0x13, 0xF6, 0xA1, 0x08, 0xC7, 0xD3, 0x36, 0xB3, 0x40, 0x8E },
|
||||
73 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* QuoVadis_Root_CA_2_G3 */
|
||||
{ 0x8F, 0xE4, 0xFB, 0x0A, 0xF9, 0x3A, 0x4D, 0x0D, 0x67, 0xDB, 0x0B, 0xEB, 0xB2, 0x3E, 0x37, 0xC7,
|
||||
0x1B, 0xF3, 0x25, 0xDC, 0xBC, 0xDD, 0x24, 0x0E, 0xA0, 0x4D, 0xAF, 0x58, 0xB4, 0x7E, 0x18, 0x40 },
|
||||
145 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* T_TeleSec_GlobalRoot_Class_2 */
|
||||
{ 0x91, 0xE2, 0xF5, 0x78, 0x8D, 0x58, 0x10, 0xEB, 0xA7, 0xBA, 0x58, 0x73, 0x7D, 0xE1, 0x54, 0x8A,
|
||||
0x8E, 0xCA, 0xCD, 0x01, 0x45, 0x98, 0xBC, 0x0B, 0x14, 0x3E, 0x04, 0x1B, 0x17, 0x05, 0x25, 0x52 },
|
||||
142 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* CA_Disig */
|
||||
{ 0x92, 0xBF, 0x51, 0x19, 0xAB, 0xEC, 0xCA, 0xD0, 0xB1, 0x33, 0x2D, 0xC4, 0xE1, 0xD0, 0x5F, 0xBA,
|
||||
0x75, 0xB5, 0x67, 0x90, 0x44, 0xEE, 0x0C, 0xA2, 0x6E, 0x93, 0x1F, 0x74, 0x4F, 0x2F, 0x33, 0xCF },
|
||||
94 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Cybertrust_Global_Root */
|
||||
{ 0x96, 0x0A, 0xDF, 0x00, 0x63, 0xE9, 0x63, 0x56, 0x75, 0x0C, 0x29, 0x65, 0xDD, 0x0A, 0x08, 0x67,
|
||||
0xDA, 0x0B, 0x9C, 0xBD, 0x6E, 0x77, 0x71, 0x4A, 0xEA, 0xFB, 0x23, 0x49, 0xAB, 0x39, 0x3D, 0xA3 },
|
||||
77 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* T_RKTRUST_Elektronik_Sertifika_Hizmet_Sa_lay_c_s_ */
|
||||
{ 0x97, 0x8C, 0xD9, 0x66, 0xF2, 0xFA, 0xA0, 0x7B, 0xA7, 0xAA, 0x95, 0x00, 0xD9, 0xC0, 0x2E, 0x9D,
|
||||
0x77, 0xF2, 0xCD, 0xAD, 0xA6, 0xAD, 0x6B, 0xA7, 0x4A, 0xF4, 0xB9, 0x1C, 0x66, 0x59, 0x3C, 0x50 },
|
||||
129 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Buypass_Class_2_Root_CA */
|
||||
{ 0x9A, 0x11, 0x40, 0x25, 0x19, 0x7C, 0x5B, 0xB9, 0x5D, 0x94, 0xE6, 0x3D, 0x55, 0xCD, 0x43, 0x79,
|
||||
0x08, 0x47, 0xB6, 0x46, 0xB2, 0x3C, 0xDF, 0x11, 0xAD, 0xA4, 0xA0, 0x0E, 0xFF, 0x15, 0xFB, 0x48 },
|
||||
125 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* ACCVRAIZ1 */
|
||||
{ 0x9A, 0x6E, 0xC0, 0x12, 0xE1, 0xA7, 0xDA, 0x9D, 0xBE, 0x34, 0x19, 0x4D, 0x47, 0x8A, 0xD7, 0xC0,
|
||||
0xDB, 0x18, 0x22, 0xFB, 0x07, 0x1D, 0xF1, 0x29, 0x81, 0x49, 0x6E, 0xD1, 0x04, 0x38, 0x41, 0x13 },
|
||||
138 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* VeriSign_Class_3_Public_Primary_Certification_Authority___G5 */
|
||||
{ 0x9A, 0xCF, 0xAB, 0x7E, 0x43, 0xC8, 0xD8, 0x80, 0xD0, 0x6B, 0x26, 0x2A, 0x94, 0xDE, 0xEE, 0xE4,
|
||||
0xB4, 0x65, 0x99, 0x89, 0xC3, 0xD0, 0xCA, 0xF1, 0x9B, 0xAF, 0x64, 0x05, 0xE4, 0x1A, 0xB7, 0xDF },
|
||||
60 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* GeoTrust_Universal_CA_2 */
|
||||
{ 0xA0, 0x23, 0x4F, 0x3B, 0xC8, 0x52, 0x7C, 0xA5, 0x62, 0x8E, 0xEC, 0x81, 0xAD, 0x5D, 0x69, 0x89,
|
||||
0x5D, 0xA5, 0x68, 0x0D, 0xC9, 0x1D, 0x1C, 0xB8, 0x47, 0x7F, 0x33, 0xF8, 0x78, 0xB9, 0x5B, 0x0B },
|
||||
23 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* GeoTrust_Universal_CA */
|
||||
{ 0xA0, 0x45, 0x9B, 0x9F, 0x63, 0xB2, 0x25, 0x59, 0xF5, 0xFA, 0x5D, 0x4C, 0x6D, 0xB3, 0xF9, 0xF7,
|
||||
0x2F, 0xF1, 0x93, 0x42, 0x03, 0x35, 0x78, 0xF0, 0x73, 0xBF, 0x1D, 0x1B, 0x46, 0xCB, 0xB9, 0x12 },
|
||||
22 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* OU_Security_Communication_EV_RootCA1_O__SECOM_Trust_Systems_CO__LTD___C_JP */
|
||||
{ 0xA2, 0x2D, 0xBA, 0x68, 0x1E, 0x97, 0x37, 0x6E, 0x2D, 0x39, 0x7D, 0x72, 0x8A, 0xAE, 0x3A, 0x9B,
|
||||
0x62, 0x96, 0xB9, 0xFD, 0xBA, 0x60, 0xBC, 0x2E, 0x11, 0xF6, 0x47, 0xF2, 0xC6, 0x75, 0xFB, 0x37 },
|
||||
68 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* thawte_Primary_Root_CA___G2 */
|
||||
{ 0xA4, 0x31, 0x0D, 0x50, 0xAF, 0x18, 0xA6, 0x44, 0x71, 0x90, 0x37, 0x2A, 0x86, 0xAF, 0xAF, 0x8B,
|
||||
0x95, 0x1F, 0xFB, 0x43, 0x1D, 0x83, 0x7F, 0x1E, 0x56, 0x88, 0xB4, 0x59, 0x71, 0xED, 0x15, 0x57 },
|
||||
87 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* QuoVadis_Root_Certification_Authority */
|
||||
{ 0xA4, 0x5E, 0xDE, 0x3B, 0xBB, 0xF0, 0x9C, 0x8A, 0xE1, 0x5C, 0x72, 0xEF, 0xC0, 0x72, 0x68, 0xD6,
|
||||
0x93, 0xA2, 0x1C, 0x99, 0x6F, 0xD5, 0x1E, 0x67, 0xCA, 0x07, 0x94, 0x60, 0xFD, 0x6D, 0x88, 0x73 },
|
||||
31 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* GTE_CyberTrust_Global_Root */
|
||||
{ 0xA5, 0x31, 0x25, 0x18, 0x8D, 0x21, 0x10, 0xAA, 0x96, 0x4B, 0x02, 0xC7, 0xB7, 0xC6, 0xDA, 0x32,
|
||||
0x03, 0x17, 0x08, 0x94, 0xE5, 0xFB, 0x71, 0xFF, 0xFB, 0x66, 0x67, 0xD5, 0xE6, 0x81, 0x0A, 0x36 },
|
||||
1 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* WellsSecure_Public_Root_Certificate_Authority */
|
||||
{ 0xA7, 0x12, 0x72, 0xAE, 0xAA, 0xA3, 0xCF, 0xE8, 0x72, 0x7F, 0x7F, 0xB3, 0x9F, 0x0F, 0xB3, 0xD1,
|
||||
0xE5, 0x42, 0x6E, 0x90, 0x60, 0xB0, 0x6E, 0xE6, 0xF1, 0x3E, 0x9A, 0x3C, 0x58, 0x33, 0xCD, 0x43 },
|
||||
65 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Thawte_Premium_Server_CA */
|
||||
{ 0xAB, 0x70, 0x36, 0x36, 0x5C, 0x71, 0x54, 0xAA, 0x29, 0xC2, 0xC2, 0x9F, 0x5D, 0x41, 0x91, 0x16,
|
||||
0x3B, 0x16, 0x2A, 0x22, 0x25, 0x01, 0x13, 0x57, 0xD5, 0x6D, 0x07, 0xFF, 0xA7, 0xBC, 0x1F, 0x72 },
|
||||
3 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* OU_RSA_Security_2048_V3_O_RSA_Security_Inc */
|
||||
{ 0xAF, 0x8B, 0x67, 0x62, 0xA1, 0xE5, 0x28, 0x22, 0x81, 0x61, 0xA9, 0x5D, 0x5C, 0x55, 0x9E, 0xE2,
|
||||
0x66, 0x27, 0x8F, 0x75, 0xD7, 0x9E, 0x83, 0x01, 0x89, 0xA5, 0x03, 0x50, 0x6A, 0xBD, 0x6B, 0x4C },
|
||||
19 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* E_Tugra_Certification_Authority */
|
||||
{ 0xB0, 0xBF, 0xD5, 0x2B, 0xB0, 0xD7, 0xD9, 0xBD, 0x92, 0xBF, 0x5D, 0x4D, 0xC1, 0x3D, 0xA2, 0x55,
|
||||
0xC0, 0x2C, 0x54, 0x2F, 0x37, 0x83, 0x65, 0xEA, 0x89, 0x39, 0x11, 0xF5, 0x5E, 0x55, 0xF2, 0x3C },
|
||||
141 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Thawte_Server_CA */
|
||||
{ 0xB4, 0x41, 0x0B, 0x73, 0xE2, 0xE6, 0xEA, 0xCA, 0x47, 0xFB, 0xC4, 0x2F, 0x8F, 0xA4, 0x01, 0x8A,
|
||||
0xF4, 0x38, 0x1D, 0xC5, 0x4C, 0xFA, 0xA8, 0x44, 0x50, 0x46, 0x1E, 0xED, 0x09, 0x45, 0x4D, 0xE9 },
|
||||
2 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* GeoTrust_Primary_Certification_Authority___G3 */
|
||||
{ 0xB4, 0x78, 0xB8, 0x12, 0x25, 0x0D, 0xF8, 0x78, 0x63, 0x5C, 0x2A, 0xA7, 0xEC, 0x7D, 0x15, 0x5E,
|
||||
0xAA, 0x62, 0x5E, 0xE8, 0x29, 0x16, 0xE2, 0xCD, 0x29, 0x43, 0x61, 0x88, 0x6C, 0xD1, 0xFB, 0xD4 },
|
||||
86 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Deutsche_Telekom_Root_CA_2 */
|
||||
{ 0xB6, 0x19, 0x1A, 0x50, 0xD0, 0xC3, 0x97, 0x7F, 0x7D, 0xA9, 0x9B, 0xCD, 0xAA, 0xC8, 0x6A, 0x22,
|
||||
0x7D, 0xAE, 0xB9, 0x67, 0x9E, 0xC7, 0x0B, 0xA3, 0xB0, 0xC9, 0xD9, 0x22, 0x71, 0xC1, 0x70, 0xD3 },
|
||||
75 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Buypass_Class_3_CA_1 */
|
||||
{ 0xB7, 0xB1, 0x2B, 0x17, 0x1F, 0x82, 0x1D, 0xAA, 0x99, 0x0C, 0xD0, 0xFE, 0x50, 0x87, 0xB1, 0x28,
|
||||
0x44, 0x8B, 0xA8, 0xE5, 0x18, 0x4F, 0x84, 0xC5, 0x1E, 0x02, 0xB5, 0xC8, 0xFB, 0x96, 0x2B, 0x24 },
|
||||
81 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* IGC_A */
|
||||
{ 0xB9, 0xBE, 0xA7, 0x86, 0x0A, 0x96, 0x2E, 0xA3, 0x61, 0x1D, 0xAB, 0x97, 0xAB, 0x6D, 0xA3, 0xE2,
|
||||
0x1C, 0x10, 0x68, 0xB9, 0x7D, 0x55, 0x57, 0x5E, 0xD0, 0xE1, 0x12, 0x79, 0xC1, 0x1C, 0x89, 0x32 },
|
||||
67 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Hellenic_Academic_and_Research_Institutions_RootCA_2011 */
|
||||
{ 0xBC, 0x10, 0x4F, 0x15, 0xA4, 0x8B, 0xE7, 0x09, 0xDC, 0xA5, 0x42, 0xA7, 0xE1, 0xD4, 0xB9, 0xDF,
|
||||
0x6F, 0x05, 0x45, 0x27, 0xE8, 0x02, 0xEA, 0xA9, 0x2D, 0x59, 0x54, 0x44, 0x25, 0x8A, 0xFE, 0x71 },
|
||||
120 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* AffirmTrust_Premium_ECC */
|
||||
{ 0xBD, 0x71, 0xFD, 0xF6, 0xDA, 0x97, 0xE4, 0xCF, 0x62, 0xD1, 0x64, 0x7A, 0xDD, 0x25, 0x81, 0xB0,
|
||||
0x7D, 0x79, 0xAD, 0xF8, 0x39, 0x7E, 0xB4, 0xEC, 0xBA, 0x9C, 0x5E, 0x84, 0x88, 0x82, 0x14, 0x23 },
|
||||
112 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Secure_Certificate_Services */
|
||||
{ 0xBD, 0x81, 0xCE, 0x3B, 0x4F, 0x65, 0x91, 0xD1, 0x1A, 0x67, 0xB5, 0xFC, 0x7A, 0x47, 0xFD, 0xEF,
|
||||
0x25, 0x52, 0x1B, 0xF9, 0xAA, 0x4E, 0x18, 0xB9, 0xE3, 0xDF, 0x2E, 0x34, 0xA7, 0x80, 0x3B, 0xE8 },
|
||||
29 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* SwissSign_Silver_CA___G2 */
|
||||
{ 0xBE, 0x6C, 0x4D, 0xA2, 0xBB, 0xB9, 0xBA, 0x59, 0xB6, 0xF3, 0x93, 0x97, 0x68, 0x37, 0x42, 0x46,
|
||||
0xC3, 0xC0, 0x05, 0x99, 0x3F, 0xA9, 0x8F, 0x02, 0x0D, 0x1D, 0xED, 0xBE, 0xD4, 0x8A, 0x81, 0xD5 },
|
||||
57 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* SecureSign_RootCA11 */
|
||||
{ 0xBF, 0x0F, 0xEE, 0xFB, 0x9E, 0x3A, 0x58, 0x1A, 0xD5, 0xF9, 0xE9, 0xDB, 0x75, 0x89, 0x98, 0x57,
|
||||
0x43, 0xD2, 0x61, 0x08, 0x5C, 0x4D, 0x31, 0x4F, 0x6F, 0x5D, 0x72, 0x59, 0xAA, 0x42, 0x16, 0x12 },
|
||||
97 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* TWCA_Root_Certification_Authority */
|
||||
{ 0xBF, 0xD8, 0x8F, 0xE1, 0x10, 0x1C, 0x41, 0xAE, 0x3E, 0x80, 0x1B, 0xF8, 0xBE, 0x56, 0x35, 0x0E,
|
||||
0xE9, 0xBA, 0xD1, 0xA6, 0xB9, 0xBD, 0x51, 0x5E, 0xDC, 0x5C, 0x6D, 0x5B, 0x87, 0x11, 0xAC, 0x44 },
|
||||
117 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* OU_ePKI_Root_Certification_Authority_O__Chunghwa_Telecom_Co___Ltd___C_TW */
|
||||
{ 0xC0, 0xA6, 0xF4, 0xDC, 0x63, 0xA2, 0x4B, 0xFD, 0xCF, 0x54, 0xEF, 0x2A, 0x6A, 0x08, 0x2A, 0x0A,
|
||||
0x72, 0xDE, 0x35, 0x80, 0x3E, 0x2F, 0xF5, 0xFF, 0x52, 0x7A, 0xE5, 0xD8, 0x72, 0x06, 0xDF, 0xD5 },
|
||||
78 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* OU_Trustis_FPS_Root_CA_O_Trustis_Limited_C_GB */
|
||||
{ 0xC1, 0xB4, 0x82, 0x99, 0xAB, 0xA5, 0x20, 0x8F, 0xE9, 0x63, 0x0A, 0xCE, 0x55, 0xCA, 0x68, 0xA0,
|
||||
0x3E, 0xDA, 0x5A, 0x51, 0x9C, 0x88, 0x02, 0xA0, 0xD3, 0xA6, 0x73, 0xBE, 0x8F, 0x8E, 0x55, 0x7D },
|
||||
122 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* OU_Go_Daddy_Class_2_Certification_Authority_O__The_Go_Daddy_Group__Inc___C_US */
|
||||
{ 0xC3, 0x84, 0x6B, 0xF2, 0x4B, 0x9E, 0x93, 0xCA, 0x64, 0x27, 0x4C, 0x0E, 0xC6, 0x7C, 0x1E, 0xCC,
|
||||
0x5E, 0x02, 0x4F, 0xFC, 0xAC, 0xD2, 0xD7, 0x40, 0x19, 0x35, 0x0E, 0x81, 0xFE, 0x54, 0x6A, 0xE4 },
|
||||
43 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* T_RKTRUST_Elektronik_Sertifika_Hizmet_Sa_lay_c_s_ */
|
||||
{ 0xC4, 0x70, 0xCF, 0x54, 0x7E, 0x23, 0x02, 0xB9, 0x77, 0xFB, 0x29, 0xDD, 0x71, 0xA8, 0x9A, 0x7B,
|
||||
0x6C, 0x1F, 0x60, 0x77, 0x7B, 0x03, 0x29, 0xF5, 0x60, 0x17, 0xF3, 0x28, 0xBF, 0x4F, 0x6B, 0xE6 },
|
||||
55 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* StartCom_Certification_Authority */
|
||||
{ 0xC7, 0x66, 0xA9, 0xBE, 0xF2, 0xD4, 0x07, 0x1C, 0x86, 0x3A, 0x31, 0xAA, 0x49, 0x20, 0xE8, 0x13,
|
||||
0xB2, 0xD1, 0x98, 0x60, 0x8C, 0xB7, 0xB7, 0xCF, 0xE2, 0x11, 0x43, 0xB8, 0x36, 0xDF, 0x09, 0xEA },
|
||||
45 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* StartCom_Certification_Authority_G2 */
|
||||
{ 0xC7, 0xBA, 0x65, 0x67, 0xDE, 0x93, 0xA7, 0x98, 0xAE, 0x1F, 0xAA, 0x79, 0x1E, 0x71, 0x2D, 0x37,
|
||||
0x8F, 0xAE, 0x1F, 0x93, 0xC4, 0x39, 0x7F, 0xEA, 0x44, 0x1B, 0xB7, 0xCB, 0xE6, 0xFD, 0x59, 0x95 },
|
||||
124 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* GeoTrust_Global_CA_2 */
|
||||
{ 0xCA, 0x2D, 0x82, 0xA0, 0x86, 0x77, 0x07, 0x2F, 0x8A, 0xB6, 0x76, 0x4F, 0xF0, 0x35, 0x67, 0x6C,
|
||||
0xFE, 0x3E, 0x5E, 0x32, 0x5E, 0x01, 0x21, 0x72, 0xDF, 0x3F, 0x92, 0x09, 0x6D, 0xB7, 0x9B, 0x85 },
|
||||
21 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* GlobalSign */
|
||||
{ 0xCA, 0x42, 0xDD, 0x41, 0x74, 0x5F, 0xD0, 0xB8, 0x1E, 0xB9, 0x02, 0x36, 0x2C, 0xF9, 0xD8, 0xBF,
|
||||
0x71, 0x9D, 0xA1, 0xBD, 0x1B, 0x1E, 0xFC, 0x94, 0x6F, 0x5B, 0x4C, 0x99, 0xF4, 0x2C, 0x1B, 0x9E },
|
||||
7 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* DigiCert_Global_Root_G2 */
|
||||
{ 0xCB, 0x3C, 0xCB, 0xB7, 0x60, 0x31, 0xE5, 0xE0, 0x13, 0x8F, 0x8D, 0xD3, 0x9A, 0x23, 0xF9, 0xDE,
|
||||
0x47, 0xFF, 0xC3, 0x5E, 0x43, 0xC1, 0x14, 0x4C, 0xEA, 0x27, 0xD4, 0x6A, 0x5A, 0xB1, 0xCB, 0x5F },
|
||||
149 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* GlobalSign */
|
||||
{ 0xCB, 0xB5, 0x22, 0xD7, 0xB7, 0xF1, 0x27, 0xAD, 0x6A, 0x01, 0x13, 0x86, 0x5B, 0xDF, 0x1C, 0xD4,
|
||||
0x10, 0x2E, 0x7D, 0x07, 0x59, 0xAF, 0x63, 0x5A, 0x7C, 0xF4, 0x72, 0x0D, 0xC9, 0x63, 0xC5, 0x3B },
|
||||
101 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* XRamp_Global_Certification_Authority */
|
||||
{ 0xCE, 0xCD, 0xDC, 0x90, 0x50, 0x99, 0xD8, 0xDA, 0xDF, 0xC5, 0xB1, 0xD2, 0x09, 0xB7, 0x37, 0xCB,
|
||||
0xE2, 0xC1, 0x8C, 0xFB, 0x2C, 0x10, 0xC0, 0xFF, 0x0B, 0xCF, 0x0D, 0x32, 0x86, 0xFC, 0x1A, 0xA2 },
|
||||
42 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Equifax_Secure_eBusiness_CA_1 */
|
||||
{ 0xCF, 0x56, 0xFF, 0x46, 0xA4, 0xA1, 0x86, 0x10, 0x9D, 0xD9, 0x65, 0x84, 0xB5, 0xEE, 0xB5, 0x8A,
|
||||
0x51, 0x0C, 0x42, 0x75, 0xB0, 0xE5, 0xF9, 0x4F, 0x40, 0xBB, 0xAE, 0x86, 0x5E, 0x19, 0xF6, 0x73 },
|
||||
13 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Staat_der_Nederlanden_Root_CA */
|
||||
{ 0xD4, 0x1D, 0x82, 0x9E, 0x8C, 0x16, 0x59, 0x82, 0x2A, 0xF9, 0x3F, 0xCE, 0x62, 0xBF, 0xFC, 0xDE,
|
||||
0x26, 0x4F, 0xC8, 0x4E, 0x8B, 0x95, 0x0C, 0x5F, 0xF2, 0x75, 0xD0, 0x52, 0x35, 0x46, 0x95, 0xA3 },
|
||||
36 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* CA______ */
|
||||
{ 0xD6, 0xF0, 0x34, 0xBD, 0x94, 0xAA, 0x23, 0x3F, 0x02, 0x97, 0xEC, 0xA4, 0x24, 0x5B, 0x28, 0x39,
|
||||
0x73, 0xE4, 0x47, 0xAA, 0x59, 0x0F, 0x31, 0x0C, 0x77, 0xF4, 0x8F, 0xDF, 0x83, 0x11, 0x22, 0x54 },
|
||||
153 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* AAA_Certificate_Services */
|
||||
{ 0xD7, 0xA7, 0xA0, 0xFB, 0x5D, 0x7E, 0x27, 0x31, 0xD7, 0x71, 0xE9, 0x48, 0x4E, 0xBC, 0xDE, 0xF7,
|
||||
0x1D, 0x5F, 0x0C, 0x3E, 0x0A, 0x29, 0x48, 0x78, 0x2B, 0xC8, 0x3E, 0xE0, 0xEA, 0x69, 0x9E, 0xF4 },
|
||||
28 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Certum_CA */
|
||||
{ 0xD8, 0xE0, 0xFE, 0xBC, 0x1D, 0xB2, 0xE3, 0x8D, 0x00, 0x94, 0x0F, 0x37, 0xD2, 0x7D, 0x41, 0x34,
|
||||
0x4D, 0x99, 0x3E, 0x73, 0x4B, 0x99, 0xD5, 0x65, 0x6D, 0x97, 0x78, 0xD4, 0xD8, 0x14, 0x36, 0x24 },
|
||||
27 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Swisscom_Root_EV_CA_2 */
|
||||
{ 0xD9, 0x5F, 0xEA, 0x3C, 0xA4, 0xEE, 0xDC, 0xE7, 0x4C, 0xD7, 0x6E, 0x75, 0xFC, 0x6D, 0x1F, 0xF6,
|
||||
0x2C, 0x44, 0x1F, 0x0F, 0xA8, 0xBC, 0x77, 0xF0, 0x34, 0xB1, 0x9E, 0x5D, 0xB2, 0x58, 0x01, 0x5D },
|
||||
135 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* TeliaSonera_Root_CA_v1 */
|
||||
{ 0xDD, 0x69, 0x36, 0xFE, 0x21, 0xF8, 0xF0, 0x77, 0xC1, 0x23, 0xA1, 0xA5, 0x21, 0xC1, 0x22, 0x24,
|
||||
0xF7, 0x22, 0x55, 0xB7, 0x3E, 0x03, 0xA7, 0x26, 0x06, 0x93, 0xE8, 0xA2, 0x4B, 0x0F, 0xA3, 0x89 },
|
||||
140 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* StartCom_Certification_Authority */
|
||||
{ 0xE1, 0x78, 0x90, 0xEE, 0x09, 0xA3, 0xFB, 0xF4, 0xF4, 0x8B, 0x9C, 0x41, 0x4A, 0x17, 0xD6, 0x37,
|
||||
0xB7, 0xA5, 0x06, 0x47, 0xE9, 0xBC, 0x75, 0x23, 0x22, 0x72, 0x7F, 0xCC, 0x17, 0x42, 0xA9, 0x11 },
|
||||
123 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* CA_Disig_Root_R2 */
|
||||
{ 0xE2, 0x3D, 0x4A, 0x03, 0x6D, 0x7B, 0x70, 0xE9, 0xF5, 0x95, 0xB1, 0x42, 0x20, 0x79, 0xD2, 0xB9,
|
||||
0x1E, 0xDF, 0xBB, 0x1F, 0xB6, 0x51, 0xA0, 0x63, 0x3E, 0xAA, 0x8A, 0x9D, 0xC5, 0xF8, 0x07, 0x03 },
|
||||
137 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* CNNIC_ROOT */
|
||||
{ 0xE2, 0x83, 0x93, 0x77, 0x3D, 0xA8, 0x45, 0xA6, 0x79, 0xF2, 0x08, 0x0C, 0xC7, 0xFB, 0x44, 0xA3,
|
||||
0xB7, 0xA1, 0xC3, 0x79, 0x2C, 0xB7, 0xEB, 0x77, 0x29, 0xFD, 0xCB, 0x6A, 0x8D, 0x99, 0xAE, 0xA7 },
|
||||
84 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* VeriSign_Class_4_Public_Primary_Certification_Authority___G3 */
|
||||
{ 0xE3, 0x89, 0x36, 0x0D, 0x0F, 0xDB, 0xAE, 0xB3, 0xD2, 0x50, 0x58, 0x4B, 0x47, 0x30, 0x31, 0x4E,
|
||||
0x22, 0x2F, 0x39, 0xC1, 0x56, 0xA0, 0x20, 0x14, 0x4E, 0x8D, 0x96, 0x05, 0x61, 0x79, 0x15, 0x06 },
|
||||
9 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Certigna */
|
||||
{ 0xE3, 0xB6, 0xA2, 0xDB, 0x2E, 0xD7, 0xCE, 0x48, 0x84, 0x2F, 0x7A, 0xC5, 0x32, 0x41, 0xC7, 0xB7,
|
||||
0x1D, 0x54, 0x14, 0x4B, 0xFB, 0x40, 0xC1, 0x1F, 0x3F, 0x1D, 0x0B, 0x42, 0xF5, 0xEE, 0xA1, 0x2D },
|
||||
71 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* T_B_TAK_UEKAE_K_k_Sertifika_Hizmet_Sa_lay_c_s____S_r_m_3 */
|
||||
{ 0xE4, 0xC7, 0x34, 0x30, 0xD7, 0xA5, 0xB5, 0x09, 0x25, 0xDF, 0x43, 0x37, 0x0A, 0x0D, 0x21, 0x6E,
|
||||
0x9A, 0x79, 0xB9, 0xD6, 0xDB, 0x83, 0x73, 0xA0, 0xC6, 0x9E, 0xB1, 0xCC, 0x31, 0xC7, 0xC5, 0x2A },
|
||||
79 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* e_Guven_Kok_Elektronik_Sertifika_Hizmet_Saglayicisi */
|
||||
{ 0xE6, 0x09, 0x07, 0x84, 0x65, 0xA4, 0x19, 0x78, 0x0C, 0xB6, 0xAC, 0x4C, 0x1C, 0x0B, 0xFB, 0x46,
|
||||
0x53, 0xD9, 0xD9, 0xCC, 0x6E, 0xB3, 0x94, 0x6E, 0xB7, 0xF3, 0xD6, 0x99, 0x97, 0xBA, 0xD5, 0x98 },
|
||||
100 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* TC_TrustCenter_Class_2_CA_II */
|
||||
{ 0xE6, 0xB8, 0xF8, 0x76, 0x64, 0x85, 0xF8, 0x07, 0xAE, 0x7F, 0x8D, 0xAC, 0x16, 0x70, 0x46, 0x1F,
|
||||
0x07, 0xC0, 0xA1, 0x3E, 0xEF, 0x3A, 0x1F, 0xF7, 0x17, 0x53, 0x8D, 0x7A, 0xBA, 0xD3, 0x91, 0xB4 },
|
||||
72 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* OU_Security_Communication_RootCA1_O_SECOM_Trust_net_C_JP */
|
||||
{ 0xE7, 0x5E, 0x72, 0xED, 0x9F, 0x56, 0x0E, 0xEC, 0x6E, 0xB4, 0x80, 0x00, 0x73, 0xA4, 0x3F, 0xC3,
|
||||
0xAD, 0x19, 0x19, 0x5A, 0x39, 0x22, 0x82, 0x01, 0x78, 0x95, 0x97, 0x4A, 0x99, 0x02, 0x6B, 0x6C },
|
||||
34 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* OU_certSIGN_ROOT_CA_O_certSIGN_C_RO */
|
||||
{ 0xEA, 0xA9, 0x62, 0xC4, 0xFA, 0x4A, 0x6B, 0xAF, 0xEB, 0xE4, 0x15, 0x19, 0x6D, 0x35, 0x1C, 0xCD,
|
||||
0x88, 0x8D, 0x4F, 0x53, 0xF3, 0xFA, 0x8A, 0xE6, 0xD7, 0xC4, 0x66, 0xA9, 0x4E, 0x60, 0x42, 0xBB },
|
||||
83 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* VeriSign_Class_3_Public_Primary_Certification_Authority___G3 */
|
||||
{ 0xEB, 0x04, 0xCF, 0x5E, 0xB1, 0xF3, 0x9A, 0xFA, 0x76, 0x2F, 0x2B, 0xB1, 0x20, 0xF2, 0x96, 0xCB,
|
||||
0xA5, 0x20, 0xC1, 0xB9, 0x7D, 0xB1, 0x58, 0x95, 0x65, 0xB8, 0x1C, 0xB9, 0xA1, 0x7B, 0x72, 0x44 },
|
||||
8 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* GlobalSign_Root_CA */
|
||||
{ 0xEB, 0xD4, 0x10, 0x40, 0xE4, 0xBB, 0x3E, 0xC7, 0x42, 0xC9, 0xE3, 0x81, 0xD3, 0x1E, 0xF2, 0xA4,
|
||||
0x1A, 0x48, 0xB6, 0x68, 0x5C, 0x96, 0xE7, 0xCE, 0xF3, 0xC1, 0xDF, 0x6C, 0xD4, 0x33, 0x1C, 0x99 },
|
||||
6 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* TC_TrustCenter_Universal_CA_I */
|
||||
{ 0xEB, 0xF3, 0xC0, 0x2A, 0x87, 0x89, 0xB1, 0xFB, 0x7D, 0x51, 0x19, 0x95, 0xD6, 0x63, 0xB7, 0x29,
|
||||
0x06, 0xD9, 0x13, 0xCE, 0x0D, 0x5E, 0x10, 0x56, 0x8A, 0x8A, 0x77, 0xE2, 0x58, 0x61, 0x67, 0xE7 },
|
||||
74 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Juur_SK */
|
||||
{ 0xEC, 0xC3, 0xE9, 0xC3, 0x40, 0x75, 0x03, 0xBE, 0xE0, 0x91, 0xAA, 0x95, 0x2F, 0x41, 0x34, 0x8F,
|
||||
0xF8, 0x8B, 0xAA, 0x86, 0x3B, 0x22, 0x64, 0xBE, 0xFA, 0xC8, 0x07, 0x90, 0x15, 0x74, 0xE9, 0x39 },
|
||||
95 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Buypass_Class_3_Root_CA */
|
||||
{ 0xED, 0xF7, 0xEB, 0xBC, 0xA2, 0x7A, 0x2A, 0x38, 0x4D, 0x38, 0x7B, 0x7D, 0x40, 0x10, 0xC6, 0x66,
|
||||
0xE2, 0xED, 0xB4, 0x84, 0x3E, 0x4C, 0x29, 0xB4, 0xAE, 0x1D, 0x5B, 0x93, 0x32, 0xE6, 0xB2, 0x4D },
|
||||
126 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* D_TRUST_Root_Class_3_CA_2_EV_2009 */
|
||||
{ 0xEE, 0xC5, 0x49, 0x6B, 0x98, 0x8C, 0xE9, 0x86, 0x25, 0xB9, 0x34, 0x09, 0x2E, 0xEC, 0x29, 0x08,
|
||||
0xBE, 0xD0, 0xB0, 0xF3, 0x16, 0xC2, 0xD4, 0x73, 0x0C, 0x84, 0xEA, 0xF1, 0xF3, 0xD3, 0x48, 0x81 },
|
||||
131 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Global_Chambersign_Root */
|
||||
{ 0xEF, 0x3C, 0xB4, 0x17, 0xFC, 0x8E, 0xBF, 0x6F, 0x97, 0x87, 0x6C, 0x9E, 0x4E, 0xCE, 0x39, 0xDE,
|
||||
0x1E, 0xA5, 0xFE, 0x64, 0x91, 0x41, 0xD1, 0x02, 0x8B, 0x7D, 0x11, 0xC0, 0xB2, 0x29, 0x8C, 0xED },
|
||||
40 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Swisscom_Root_CA_2 */
|
||||
{ 0xF0, 0x9B, 0x12, 0x2C, 0x71, 0x14, 0xF4, 0xA0, 0x9B, 0xD4, 0xEA, 0x4F, 0x4A, 0x99, 0xD5, 0x58,
|
||||
0xB4, 0x6E, 0x4C, 0x25, 0xCD, 0x81, 0x14, 0x0D, 0x29, 0xC0, 0x56, 0x13, 0x91, 0x4C, 0x38, 0x41 },
|
||||
134 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* SecureTrust_CA */
|
||||
{ 0xF1, 0xC1, 0xB5, 0x0A, 0xE5, 0xA2, 0x0D, 0xD8, 0x03, 0x0E, 0xC9, 0xF6, 0xBC, 0x24, 0x82, 0x3D,
|
||||
0xD3, 0x67, 0xB5, 0x25, 0x57, 0x59, 0xB4, 0xE7, 0x1B, 0x61, 0xFC, 0xE9, 0xF7, 0x37, 0x5D, 0x73 },
|
||||
61 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Atos_TrustedRoot_2011 */
|
||||
{ 0xF3, 0x56, 0xBE, 0xA2, 0x44, 0xB7, 0xA9, 0x1E, 0xB3, 0x5D, 0x53, 0xCA, 0x9A, 0xD7, 0x86, 0x4A,
|
||||
0xCE, 0x01, 0x8E, 0x2D, 0x35, 0xD5, 0xF8, 0xF9, 0x6D, 0xDF, 0x68, 0xA6, 0xF4, 0x1A, 0xA4, 0x74 },
|
||||
143 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* CA_Disig_Root_R1 */
|
||||
{ 0xF9, 0x6F, 0x23, 0xF4, 0xC3, 0xE7, 0x9C, 0x07, 0x7A, 0x46, 0x98, 0x8D, 0x5A, 0xF5, 0x90, 0x06,
|
||||
0x76, 0xA0, 0xF0, 0x39, 0xCB, 0x64, 0x5D, 0xD1, 0x75, 0x49, 0xB2, 0x16, 0xC8, 0x24, 0x40, 0xCE },
|
||||
136 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Hongkong_Post_Root_CA_1 */
|
||||
{ 0xF9, 0xE6, 0x7D, 0x33, 0x6C, 0x51, 0x00, 0x2A, 0xC0, 0x54, 0xC6, 0x32, 0x02, 0x2D, 0x66, 0xDD,
|
||||
0xA2, 0xE7, 0xE3, 0xFF, 0xF1, 0x0A, 0xD0, 0x61, 0xED, 0x31, 0xD8, 0xBB, 0xB4, 0x10, 0xCF, 0xB2 },
|
||||
96 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* Certinomis___Autorit__Racine */
|
||||
{ 0xFC, 0xBF, 0xE2, 0x88, 0x62, 0x06, 0xF7, 0x2B, 0x27, 0x59, 0x3C, 0x8B, 0x07, 0x02, 0x97, 0xE1,
|
||||
0x2D, 0x76, 0x9E, 0xD1, 0x0E, 0xD7, 0x93, 0x07, 0x05, 0xA8, 0x09, 0x8E, 0xFF, 0xC1, 0x4D, 0x17 },
|
||||
114 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* T_TeleSec_GlobalRoot_Class_3 */
|
||||
{ 0xFD, 0x73, 0xDA, 0xD3, 0x1C, 0x64, 0x4F, 0xF1, 0xB4, 0x3B, 0xEF, 0x0C, 0xCD, 0xDA, 0x96, 0x71,
|
||||
0x0B, 0x9C, 0xD9, 0x87, 0x5E, 0xCA, 0x7E, 0x31, 0x70, 0x7A, 0xF3, 0xE9, 0x6D, 0x52, 0x2B, 0xBD },
|
||||
127 /* Bin Number */
|
||||
},
|
||||
{
|
||||
/* GeoTrust_Global_CA */
|
||||
{ 0xFF, 0x85, 0x6A, 0x2D, 0x25, 0x1D, 0xCD, 0x88, 0xD3, 0x66, 0x56, 0xF4, 0x50, 0x12, 0x67, 0x98,
|
||||
0xCF, 0xAB, 0xAA, 0xDE, 0x40, 0x79, 0x9C, 0x72, 0x2D, 0xE4, 0xD2, 0xB5, 0xDB, 0x36, 0xA7, 0x3A },
|
||||
20 /* Bin Number */
|
||||
},
|
||||
};
|
||||
|
@ -17,6 +17,7 @@ UNIFIED_SOURCES += [
|
||||
'nsSecurityWarningDialogs.cpp',
|
||||
'nsSiteSecurityService.cpp',
|
||||
'PublicKeyPinningService.cpp',
|
||||
'RootCertificateTelemetryUtils.cpp',
|
||||
]
|
||||
|
||||
LOCAL_INCLUDES += [
|
||||
|
779
security/manager/tools/KnownRootHashes.json
Normal file
779
security/manager/tools/KnownRootHashes.json
Normal file
@ -0,0 +1,779 @@
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
// file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
//
|
||||
//***************************************************************************
|
||||
// This is an automatically generated file. It's used to maintain state for
|
||||
// runs of genRootCAHashes.js; you should never need to manually edit it
|
||||
//***************************************************************************
|
||||
|
||||
{
|
||||
"roots": [
|
||||
{
|
||||
"label": "GTE_CyberTrust_Global_Root",
|
||||
"binNumber": 1,
|
||||
"sha256Fingerprint": "pTElGI0hEKqWSwLHt8baMgMXCJTl+3H/+2Zn1eaBCjY="
|
||||
},
|
||||
{
|
||||
"label": "Thawte_Server_CA",
|
||||
"binNumber": 2,
|
||||
"sha256Fingerprint": "tEELc+Lm6spH+8Qvj6QBivQ4HcVM+qhEUEYe7QlFTek="
|
||||
},
|
||||
{
|
||||
"label": "Thawte_Premium_Server_CA",
|
||||
"binNumber": 3,
|
||||
"sha256Fingerprint": "q3A2NlxxVKopwsKfXUGRFjsWKiIlARNX1W0H/6e8H3I="
|
||||
},
|
||||
{
|
||||
"label": "OU_Equifax_Secure_Certificate_Authority_O_Equifax_C_US",
|
||||
"binNumber": 4,
|
||||
"sha256Fingerprint": "CCl6QEfbojaAxzHbbjF2U8p4SOG+vToLAXmnB/ks8Xg="
|
||||
},
|
||||
{
|
||||
"label": "OU_VeriSign_Trust_Network_OU___c__1998_VeriSign__Inc____For_authorized_use_only__OU_Class_3_Public_Primary_Certification_Authority___G2_O__VeriSign__Inc___C_US",
|
||||
"binNumber": 5,
|
||||
"sha256Fingerprint": "g848Eiloilk9SF+BlzwPkZVDHto3zF42Qw55x6iIY4s="
|
||||
},
|
||||
{
|
||||
"label": "GlobalSign_Root_CA",
|
||||
"binNumber": 6,
|
||||
"sha256Fingerprint": "69QQQOS7PsdCyeOB0x7ypBpItmhclufO88HfbNQzHJk="
|
||||
},
|
||||
{
|
||||
"label": "GlobalSign",
|
||||
"binNumber": 7,
|
||||
"sha256Fingerprint": "ykLdQXRf0LgeuQI2LPnYv3Gdob0bHvyUb1tMmfQsG54="
|
||||
},
|
||||
{
|
||||
"label": "VeriSign_Class_3_Public_Primary_Certification_Authority___G3",
|
||||
"binNumber": 8,
|
||||
"sha256Fingerprint": "6wTPXrHzmvp2LyuxIPKWy6Ugwbl9sViVZbgcuaF7ckQ="
|
||||
},
|
||||
{
|
||||
"label": "VeriSign_Class_4_Public_Primary_Certification_Authority___G3",
|
||||
"binNumber": 9,
|
||||
"sha256Fingerprint": "44k2DQ/brrPSUFhLRzAxTiIvOcFWoCAUTo2WBWF5FQY="
|
||||
},
|
||||
{
|
||||
"label": "Entrust_net_Certification_Authority__2048_",
|
||||
"binNumber": 10,
|
||||
"sha256Fingerprint": "bcRxcuAcvLC/YlgNiV/iuKya1PhzgB4MELnIN9IesXc="
|
||||
},
|
||||
{
|
||||
"label": "Baltimore_CyberTrust_Root",
|
||||
"binNumber": 11,
|
||||
"sha256Fingerprint": "Fq9XqfZ2sKsSYJWqXrre8iqzERnWRKyVzUuT2/Pyaus="
|
||||
},
|
||||
{
|
||||
"label": "Equifax_Secure_Global_eBusiness_CA_1",
|
||||
"binNumber": 12,
|
||||
"sha256Fingerprint": "Xwti6rXjU+plIWUWWPu2U1n0QygKSvvRBNd9EPnwTAc="
|
||||
},
|
||||
{
|
||||
"label": "Equifax_Secure_eBusiness_CA_1",
|
||||
"binNumber": 13,
|
||||
"sha256Fingerprint": "z1b/RqShhhCd2WWEte61ilEMQnWw5flPQLuuhl4Z9nM="
|
||||
},
|
||||
{
|
||||
"label": "AddTrust_Class_1_CA_Root",
|
||||
"binNumber": 14,
|
||||
"sha256Fingerprint": "jHIJJ5rATideFtB/07d16AFUtZaARuMfUt0ldmMk6ac="
|
||||
},
|
||||
{
|
||||
"label": "AddTrust_External_CA_Root",
|
||||
"binNumber": 15,
|
||||
"sha256Fingerprint": "aH+kUTgieP/wyLEfjUPVdmccbrK86rQT+4PZZdBtL/I="
|
||||
},
|
||||
{
|
||||
"label": "AddTrust_Public_CA_Root",
|
||||
"binNumber": 16,
|
||||
"sha256Fingerprint": "B5HKB0myB4Kq08fXvQzfyUhYNYQ+steZYAnOQ6tsaSc="
|
||||
},
|
||||
{
|
||||
"label": "AddTrust_Qualified_CA_Root",
|
||||
"binNumber": 17,
|
||||
"sha256Fingerprint": "gJUhCAXbS7w1XkQo2P1uws3jq1+5eplCmI649NzQYBY="
|
||||
},
|
||||
{
|
||||
"label": "Entrust_Root_Certification_Authority",
|
||||
"binNumber": 18,
|
||||
"sha256Fingerprint": "c8F2Q08bxtWt9FsOducnKHyN5XYWwebmFBorLLx9jkw="
|
||||
},
|
||||
{
|
||||
"label": "OU_RSA_Security_2048_V3_O_RSA_Security_Inc",
|
||||
"binNumber": 19,
|
||||
"sha256Fingerprint": "r4tnYqHlKCKBYaldXFWe4mYnj3XXnoMBiaUDUGq9a0w="
|
||||
},
|
||||
{
|
||||
"label": "GeoTrust_Global_CA",
|
||||
"binNumber": 20,
|
||||
"sha256Fingerprint": "/4VqLSUdzYjTZlb0UBJnmM+rqt5AeZxyLeTStds2pzo="
|
||||
},
|
||||
{
|
||||
"label": "GeoTrust_Global_CA_2",
|
||||
"binNumber": 21,
|
||||
"sha256Fingerprint": "yi2CoIZ3By+KtnZP8DVnbP4+XjJeASFy3z+SCW23m4U="
|
||||
},
|
||||
{
|
||||
"label": "GeoTrust_Universal_CA",
|
||||
"binNumber": 22,
|
||||
"sha256Fingerprint": "oEWbn2OyJVn1+l1MbbP59y/xk0IDNXjwc78dG0bLuRI="
|
||||
},
|
||||
{
|
||||
"label": "GeoTrust_Universal_CA_2",
|
||||
"binNumber": 23,
|
||||
"sha256Fingerprint": "oCNPO8hSfKVijuyBrV1piV2laA3JHRy4R38z+Hi5Wws="
|
||||
},
|
||||
{
|
||||
"label": "America_Online_Root_Certification_Authority_1",
|
||||
"binNumber": 24,
|
||||
"sha256Fingerprint": "d0BzEsY6FT1bwAtOUXWc39rCN9wqM7Z5RumOm/poCuM="
|
||||
},
|
||||
{
|
||||
"label": "America_Online_Root_Certification_Authority_2",
|
||||
"binNumber": 25,
|
||||
"sha256Fingerprint": "fTtGWmAU5SbAr/zuISfSMRcnrYEcJoQtAGrzcwbMgL0="
|
||||
},
|
||||
{
|
||||
"label": "Visa_eCommerce_Root",
|
||||
"binNumber": 26,
|
||||
"sha256Fingerprint": "afrJvVX7CseNU7vuXPHVl5if0KqrIKJRUb3xcz7n0SI="
|
||||
},
|
||||
{
|
||||
"label": "Certum_CA",
|
||||
"binNumber": 27,
|
||||
"sha256Fingerprint": "2OD+vB2y440AlA830n1BNE2ZPnNLmdVlbZd41NgUNiQ="
|
||||
},
|
||||
{
|
||||
"label": "AAA_Certificate_Services",
|
||||
"binNumber": 28,
|
||||
"sha256Fingerprint": "16eg+11+JzHXcelITrze9x1fDD4KKUh4K8g+4OppnvQ="
|
||||
},
|
||||
{
|
||||
"label": "Secure_Certificate_Services",
|
||||
"binNumber": 29,
|
||||
"sha256Fingerprint": "vYHOO09lkdEaZ7X8ekf97yVSG/mqThi5498uNKeAO+g="
|
||||
},
|
||||
{
|
||||
"label": "Trusted_Certificate_Services",
|
||||
"binNumber": 30,
|
||||
"sha256Fingerprint": "PwblVoHUlvW+Fp61OJ+fK4/2HhcI32iBckhJzV0ny2k="
|
||||
},
|
||||
{
|
||||
"label": "QuoVadis_Root_Certification_Authority",
|
||||
"binNumber": 31,
|
||||
"sha256Fingerprint": "pF7eO7vwnIrhXHLvwHJo1pOiHJlv1R5nygeUYP1tiHM="
|
||||
},
|
||||
{
|
||||
"label": "QuoVadis_Root_CA_2",
|
||||
"binNumber": 32,
|
||||
"sha256Fingerprint": "haDdfdcgrbf/Bfg9VCsgncf/RSj31nexg4n+peXEnoY="
|
||||
},
|
||||
{
|
||||
"label": "QuoVadis_Root_CA_3",
|
||||
"binNumber": 33,
|
||||
"sha256Fingerprint": "GPH8fyBd+K3d63/gB91X4683WpxNjXNUa/Tx/tHhjTU="
|
||||
},
|
||||
{
|
||||
"label": "OU_Security_Communication_RootCA1_O_SECOM_Trust_net_C_JP",
|
||||
"binNumber": 34,
|
||||
"sha256Fingerprint": "515y7Z9WDuxutIAAc6Q/w60ZGVo5IoIBeJWXSpkCa2w="
|
||||
},
|
||||
{
|
||||
"label": "Sonera_Class2_CA",
|
||||
"binNumber": 35,
|
||||
"sha256Fingerprint": "eQi0AxTBOBALUY0HNYB/+/z4UYoAlTNxBbo4axU92Sc="
|
||||
},
|
||||
{
|
||||
"label": "Staat_der_Nederlanden_Root_CA",
|
||||
"binNumber": 36,
|
||||
"sha256Fingerprint": "1B2CnowWWYIq+T/OYr/83iZPyE6LlQxf8nXQUjVGlaM="
|
||||
},
|
||||
{
|
||||
"label": "UTN___DATACorp_SGC",
|
||||
"binNumber": 37,
|
||||
"sha256Fingerprint": "hfsvkd0SJ1oBRbY2U0+EAkrWi2m47ohoT/cRN1gFs0g="
|
||||
},
|
||||
{
|
||||
"label": "UTN_USERFirst_Hardware",
|
||||
"binNumber": 38,
|
||||
"sha256Fingerprint": "bqVHQdAEZn7tG0gWY0qjp55uS5aVD4J52vyNm9iBITc="
|
||||
},
|
||||
{
|
||||
"label": "Chambers_of_Commerce_Root",
|
||||
"binNumber": 39,
|
||||
"sha256Fingerprint": "DCWKEqVnSu8l8oun3Prs7qNI5UHm9cxO5jtxs2FgasM="
|
||||
},
|
||||
{
|
||||
"label": "Global_Chambersign_Root",
|
||||
"binNumber": 40,
|
||||
"sha256Fingerprint": "7zy0F/yOv2+Xh2yeTs453h6l/mSRQdECi30RwLIpjO0="
|
||||
},
|
||||
{
|
||||
"label": "NetLock_Kozjegyzoi__Class_A__Tanusitvanykiado",
|
||||
"binNumber": 41,
|
||||
"sha256Fingerprint": "fxLNX35eKQ7H2FF51bcsIKW+dQj/21v4GrloSn/J9mc="
|
||||
},
|
||||
{
|
||||
"label": "XRamp_Global_Certification_Authority",
|
||||
"binNumber": 42,
|
||||
"sha256Fingerprint": "zs3ckFCZ2NrfxbHSCbc3y+LBjPssEMD/C88NMob8GqI="
|
||||
},
|
||||
{
|
||||
"label": "OU_Go_Daddy_Class_2_Certification_Authority_O__The_Go_Daddy_Group__Inc___C_US",
|
||||
"binNumber": 43,
|
||||
"sha256Fingerprint": "w4Rr8kuek8pkJ0wOxnwezF4CT/ys0tdAGTUOgf5UauQ="
|
||||
},
|
||||
{
|
||||
"label": "OU_Starfield_Class_2_Certification_Authority_O__Starfield_Technologies__Inc___C_US",
|
||||
"binNumber": 44,
|
||||
"sha256Fingerprint": "FGX6IFOXuHb6pvCplY5VkOQPzH+qT7fCyGd1Iftftlg="
|
||||
},
|
||||
{
|
||||
"label": "StartCom_Certification_Authority",
|
||||
"binNumber": 45,
|
||||
"sha256Fingerprint": "x2apvvLUBxyGOjGqSSDoE7LRmGCMt7fP4hFDuDbfCeo="
|
||||
},
|
||||
{
|
||||
"label": "O_Government_Root_Certification_Authority_C_TW",
|
||||
"binNumber": 46,
|
||||
"sha256Fingerprint": "dgApXu/oW54f1iTbdgYqqq5ZgYpU0ndM1MCywBEx4bM="
|
||||
},
|
||||
{
|
||||
"label": "Swisscom_Root_CA_1",
|
||||
"binNumber": 47,
|
||||
"sha256Fingerprint": "IdsgEjZguy7UGCBdoR7nqFpl4rxuVbWvfniZyKJm2S4="
|
||||
},
|
||||
{
|
||||
"label": "DigiCert_Assured_ID_Root_CA",
|
||||
"binNumber": 48,
|
||||
"sha256Fingerprint": "PpCZtQFej0hsALzqnREe5yH6ujVaibzx32lWHj3GMlw="
|
||||
},
|
||||
{
|
||||
"label": "DigiCert_Global_Root_CA",
|
||||
"binNumber": 49,
|
||||
"sha256Fingerprint": "Q0ig6URMeMsmXgWNXolEtNhPlmK9Jtslf4k0pEPHAWE="
|
||||
},
|
||||
{
|
||||
"label": "DigiCert_High_Assurance_EV_Root_CA",
|
||||
"binNumber": 50,
|
||||
"sha256Fingerprint": "dDHl9MPBzkaQd08LYeBUQIg7qaAe0Aumq9eAbtOxGM8="
|
||||
},
|
||||
{
|
||||
"label": "Class_2_Primary_CA",
|
||||
"binNumber": 51,
|
||||
"sha256Fingerprint": "D5k8iu+Xuq9WhxQO1ZrRghu0r6zwqppYtdV6M4o6+8s="
|
||||
},
|
||||
{
|
||||
"label": "DST_Root_CA_X3",
|
||||
"binNumber": 52,
|
||||
"sha256Fingerprint": "BocmAzGnJAPZCfEF5pvPDTLhvSST/8bZIG0RvNZ3Bzk="
|
||||
},
|
||||
{
|
||||
"label": "DST_ACES_CA_X6",
|
||||
"binNumber": 53,
|
||||
"sha256Fingerprint": "dnyVWnZBLImvaI6QoccPVWz9a2Al2+oQQW1+toMfjEA="
|
||||
},
|
||||
{
|
||||
"label": "T_RKTRUST_Elektronik_Sertifika_Hizmet_Sa_lay_c_s_",
|
||||
"binNumber": 54,
|
||||
"sha256Fingerprint": "RATjO14UDc+ZgFH9/IAox8gWFcXuc3sRG1iCM6m1NaA="
|
||||
},
|
||||
{
|
||||
"label": "T_RKTRUST_Elektronik_Sertifika_Hizmet_Sa_lay_c_s_",
|
||||
"binNumber": 55,
|
||||
"sha256Fingerprint": "xHDPVH4jArl3+yndcaiae2wfYHd7Ayn1YBfzKL9Pa+Y="
|
||||
},
|
||||
{
|
||||
"label": "SwissSign_Gold_CA___G2",
|
||||
"binNumber": 56,
|
||||
"sha256Fingerprint": "Yt0L6bn1ChY+oPjnXAU7HspX6lXIaI9kfGiB8sg1e5U="
|
||||
},
|
||||
{
|
||||
"label": "SwissSign_Silver_CA___G2",
|
||||
"binNumber": 57,
|
||||
"sha256Fingerprint": "vmxNoru5ulm285OXaDdCRsPABZk/qY8CDR3tvtSKgdU="
|
||||
},
|
||||
{
|
||||
"label": "GeoTrust_Primary_Certification_Authority",
|
||||
"binNumber": 58,
|
||||
"sha256Fingerprint": "N9UQBsUS6qtiZCHx7IySAT/F+CrpjuUz60YZuN600Gw="
|
||||
},
|
||||
{
|
||||
"label": "thawte_Primary_Root_CA",
|
||||
"binNumber": 59,
|
||||
"sha256Fingerprint": "jXIvganBE8B5HfE2opZtsmyVCpcdtGtBmfTqVLeL+58="
|
||||
},
|
||||
{
|
||||
"label": "VeriSign_Class_3_Public_Primary_Certification_Authority___G5",
|
||||
"binNumber": 60,
|
||||
"sha256Fingerprint": "ms+rfkPI2IDQayYqlN7u5LRlmYnD0Mrxm69kBeQat98="
|
||||
},
|
||||
{
|
||||
"label": "SecureTrust_CA",
|
||||
"binNumber": 61,
|
||||
"sha256Fingerprint": "8cG1CuWiDdgDDsn2vCSCPdNntSVXWbTnG2H86fc3XXM="
|
||||
},
|
||||
{
|
||||
"label": "Secure_Global_CA",
|
||||
"binNumber": 62,
|
||||
"sha256Fingerprint": "QgD1BDrIWQ67Un0gntFQMCn7y9QcobUG7CfxWt59rGk="
|
||||
},
|
||||
{
|
||||
"label": "COMODO_Certification_Authority",
|
||||
"binNumber": 63,
|
||||
"sha256Fingerprint": "DCzWPfeAb6OZ7egJEWtXW/h5ifBlGPmAjIYFAxeLr2Y="
|
||||
},
|
||||
{
|
||||
"label": "Network_Solutions_Certificate_Authority",
|
||||
"binNumber": 64,
|
||||
"sha256Fingerprint": "FfC6AKOsevOsiEwHKxARoHe9d8CX9AFksvhZir2Dhgw="
|
||||
},
|
||||
{
|
||||
"label": "WellsSecure_Public_Root_Certificate_Authority",
|
||||
"binNumber": 65,
|
||||
"sha256Fingerprint": "pxJyrqqjz+hyf3+znw+z0eVCbpBgsG7m8T6aPFgzzUM="
|
||||
},
|
||||
{
|
||||
"label": "COMODO_ECC_Certification_Authority",
|
||||
"binNumber": 66,
|
||||
"sha256Fingerprint": "F5OSegYUVJeJrc4vjzT38LZtDzrjo7hNIewV27pPrcc="
|
||||
},
|
||||
{
|
||||
"label": "IGC_A",
|
||||
"binNumber": 67,
|
||||
"sha256Fingerprint": "ub6nhgqWLqNhHauXq22j4hwQaLl9VVde0OESecEciTI="
|
||||
},
|
||||
{
|
||||
"label": "OU_Security_Communication_EV_RootCA1_O__SECOM_Trust_Systems_CO__LTD___C_JP",
|
||||
"binNumber": 68,
|
||||
"sha256Fingerprint": "oi26aB6XN24tOX1yiq46m2KWuf26YLwuEfZH8sZ1+zc="
|
||||
},
|
||||
{
|
||||
"label": "OISTE_WISeKey_Global_Root_GA_CA",
|
||||
"binNumber": 69,
|
||||
"sha256Fingerprint": "Qckjhmq0yta3rVeAgVguAgeXpsvfT/94zoOWs4k31/U="
|
||||
},
|
||||
{
|
||||
"label": "Microsec_e_Szigno_Root_CA",
|
||||
"binNumber": 70,
|
||||
"sha256Fingerprint": "Mno9dhq63qA065mEBidcsaR3bv2uL99tAWjqHE9VZ9A="
|
||||
},
|
||||
{
|
||||
"label": "Certigna",
|
||||
"binNumber": 71,
|
||||
"sha256Fingerprint": "47ai2y7XzkiEL3rFMkHHtx1UFEv7QMEfPx0LQvXuoS0="
|
||||
},
|
||||
{
|
||||
"label": "TC_TrustCenter_Class_2_CA_II",
|
||||
"binNumber": 72,
|
||||
"sha256Fingerprint": "5rj4dmSF+Aeuf42sFnBGHwfAoT7vOh/3F1ONerrTkbQ="
|
||||
},
|
||||
{
|
||||
"label": "TC_TrustCenter_Class_3_CA_II",
|
||||
"binNumber": 73,
|
||||
"sha256Fingerprint": "jaCE/Pmc4Hci+JsyBZOYBvpcuBHhyBP2oQjH0zazQI4="
|
||||
},
|
||||
{
|
||||
"label": "TC_TrustCenter_Universal_CA_I",
|
||||
"binNumber": 74,
|
||||
"sha256Fingerprint": "6/PAKoeJsft9URmV1mO3KQbZE84NXhBWiop34lhhZ+c="
|
||||
},
|
||||
{
|
||||
"label": "Deutsche_Telekom_Root_CA_2",
|
||||
"binNumber": 75,
|
||||
"sha256Fingerprint": "thkaUNDDl399qZvNqshqIn2uuWeexwujsMnZInHBcNM="
|
||||
},
|
||||
{
|
||||
"label": "ComSign_Secured_CA",
|
||||
"binNumber": 76,
|
||||
"sha256Fingerprint": "UHlBx0RgoLRwhiINTpkyVyq10bW7y4mAqxyxdlGoRNI="
|
||||
},
|
||||
{
|
||||
"label": "Cybertrust_Global_Root",
|
||||
"binNumber": 77,
|
||||
"sha256Fingerprint": "lgrfAGPpY1Z1DCll3QoIZ9oLnL1ud3FK6vsjSas5PaM="
|
||||
},
|
||||
{
|
||||
"label": "OU_ePKI_Root_Certification_Authority_O__Chunghwa_Telecom_Co___Ltd___C_TW",
|
||||
"binNumber": 78,
|
||||
"sha256Fingerprint": "wKb03GOiS/3PVO8qaggqCnLeNYA+L/X/Unrl2HIG39U="
|
||||
},
|
||||
{
|
||||
"label": "T_B_TAK_UEKAE_K_k_Sertifika_Hizmet_Sa_lay_c_s____S_r_m_3",
|
||||
"binNumber": 79,
|
||||
"sha256Fingerprint": "5Mc0MNeltQkl30M3Cg0hbpp5udbbg3Ogxp6xzDHHxSo="
|
||||
},
|
||||
{
|
||||
"label": "Buypass_Class_2_CA_1",
|
||||
"binNumber": 80,
|
||||
"sha256Fingerprint": "D06c3SZLAlVQ0XCAY0AhT+lENMmwL2l+xxD8X+r7Xjg="
|
||||
},
|
||||
{
|
||||
"label": "Buypass_Class_3_CA_1",
|
||||
"binNumber": 81,
|
||||
"sha256Fingerprint": "t7ErFx+CHaqZDND+UIexKESLqOUYT4TFHgK1yPuWKyQ="
|
||||
},
|
||||
{
|
||||
"label": "EBG_Elektronik_Sertifika_Hizmet_Sa_lay_c_s_",
|
||||
"binNumber": 82,
|
||||
"sha256Fingerprint": "Na5b3dj3rmNc/7pWgqjwC5X0hGLHEI7poOUpKwdKr7I="
|
||||
},
|
||||
{
|
||||
"label": "OU_certSIGN_ROOT_CA_O_certSIGN_C_RO",
|
||||
"binNumber": 83,
|
||||
"sha256Fingerprint": "6qlixPpKa6/r5BUZbTUczYiNT1Pz+orm18RmqU5gQrs="
|
||||
},
|
||||
{
|
||||
"label": "CNNIC_ROOT",
|
||||
"binNumber": 84,
|
||||
"sha256Fingerprint": "4oOTdz2oRaZ58ggMx/tEo7ehw3kst+t3Kf3Lao2Zrqc="
|
||||
},
|
||||
{
|
||||
"label": "OU_ApplicationCA_O_Japanese_Government_C_JP",
|
||||
"binNumber": 85,
|
||||
"sha256Fingerprint": "LUdDfeF5USFaEvPFjlHHKaWAJu8fzApfs9ncAS9gDRk="
|
||||
},
|
||||
{
|
||||
"label": "GeoTrust_Primary_Certification_Authority___G3",
|
||||
"binNumber": 86,
|
||||
"sha256Fingerprint": "tHi4EiUN+HhjXCqn7H0VXqpiXugpFuLNKUNhiGzR+9Q="
|
||||
},
|
||||
{
|
||||
"label": "thawte_Primary_Root_CA___G2",
|
||||
"binNumber": 87,
|
||||
"sha256Fingerprint": "pDENUK8YpkRxkDcqhq+vi5Uf+0Mdg38eVoi0WXHtFVc="
|
||||
},
|
||||
{
|
||||
"label": "thawte_Primary_Root_CA___G3",
|
||||
"binNumber": 88,
|
||||
"sha256Fingerprint": "SwP0WAetcPIb/Cyuccn95GBMBkz1/7aGuuXbqtf900w="
|
||||
},
|
||||
{
|
||||
"label": "GeoTrust_Primary_Certification_Authority___G2",
|
||||
"binNumber": 89,
|
||||
"sha256Fingerprint": "Xtt6xDuCoGqHYejXvkl56/JhH33Xm/kcHGtWaiGe12Y="
|
||||
},
|
||||
{
|
||||
"label": "VeriSign_Universal_Root_Certification_Authority",
|
||||
"binNumber": 90,
|
||||
"sha256Fingerprint": "I5lWESelcSXejO/qYQ3fL6B4tcgGf06CgpC/uGDoSzw="
|
||||
},
|
||||
{
|
||||
"label": "VeriSign_Class_3_Public_Primary_Certification_Authority___G4",
|
||||
"binNumber": 91,
|
||||
"sha256Fingerprint": "ad3X6pC7V8k+E13IXqb81UgLYDI5vcRU/HWLKibPf3k="
|
||||
},
|
||||
{
|
||||
"label": "NetLock_Arany__Class_Gold__F_tan_s_tv_ny",
|
||||
"binNumber": 92,
|
||||
"sha256Fingerprint": "bGHaw6Le8DFQa+A20qb+QBmU+9E9+cjUZlmSdMRG7Jg="
|
||||
},
|
||||
{
|
||||
"label": "Staat_der_Nederlanden_Root_CA___G2",
|
||||
"binNumber": 93,
|
||||
"sha256Fingerprint": "ZoyDlH2mO3JL7OF0PDGg5q7Q247Fsxvjd7t4T5G2cW8="
|
||||
},
|
||||
{
|
||||
"label": "CA_Disig",
|
||||
"binNumber": 94,
|
||||
"sha256Fingerprint": "kr9RGavsytCxMy3E4dBfunW1Z5BE7gyibpMfdE8vM88="
|
||||
},
|
||||
{
|
||||
"label": "Juur_SK",
|
||||
"binNumber": 95,
|
||||
"sha256Fingerprint": "7MPpw0B1A77gkaqVL0E0j/iLqoY7ImS++sgHkBV06Tk="
|
||||
},
|
||||
{
|
||||
"label": "Hongkong_Post_Root_CA_1",
|
||||
"binNumber": 96,
|
||||
"sha256Fingerprint": "+eZ9M2xRACrAVMYyAi1m3aLn4//xCtBh7THYu7QQz7I="
|
||||
},
|
||||
{
|
||||
"label": "SecureSign_RootCA11",
|
||||
"binNumber": 97,
|
||||
"sha256Fingerprint": "vw/u+546WBrV+enbdYmYV0PSYQhcTTFPb11yWapCFhI="
|
||||
},
|
||||
{
|
||||
"label": "ACEDICOM_Root",
|
||||
"binNumber": 98,
|
||||
"sha256Fingerprint": "A5UPtJpTHz4ZkZQjmN+p4Ooy17oc3ZvIXbV+2UALQ0o="
|
||||
},
|
||||
{
|
||||
"label": "Microsec_e_Szigno_Root_CA_2009",
|
||||
"binNumber": 99,
|
||||
"sha256Fingerprint": "PF+B/qX6uCxkv6Lq7K/N6OB3/IYgp8rlNxY9827b83g="
|
||||
},
|
||||
{
|
||||
"label": "e_Guven_Kok_Elektronik_Sertifika_Hizmet_Saglayicisi",
|
||||
"binNumber": 100,
|
||||
"sha256Fingerprint": "5gkHhGWkGXgMtqxMHAv7RlPZ2cxus5Rut/PWmZe61Zg="
|
||||
},
|
||||
{
|
||||
"label": "GlobalSign",
|
||||
"binNumber": 101,
|
||||
"sha256Fingerprint": "y7Ui17fxJ61qAROGW98c1BAufQdZr2NafPRyDcljxTs="
|
||||
},
|
||||
{
|
||||
"label": "Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068",
|
||||
"binNumber": 102,
|
||||
"sha256Fingerprint": "BASAKL8fKGTUj5rU2DKUNmqCiFZVPzsUMD+QFH9dQO8="
|
||||
},
|
||||
{
|
||||
"label": "Izenpe_com",
|
||||
"binNumber": 103,
|
||||
"sha256Fingerprint": "JTDMjpgyFQK62W+bH7obCZ4tKZ4PRUi7kU82O8DUUx8="
|
||||
},
|
||||
{
|
||||
"label": "Chambers_of_Commerce_Root___2008",
|
||||
"binNumber": 104,
|
||||
"sha256Fingerprint": "Bj5K+sSR39My8wibhULpRhfYk9f+lE4Qp5N+4p2Wk8A="
|
||||
},
|
||||
{
|
||||
"label": "Global_Chambersign_Root___2008",
|
||||
"binNumber": 105,
|
||||
"sha256Fingerprint": "E2M1Q5M0p2mAFqDTJN5yKE4HnXtSILuPvXR4Fu6+uso="
|
||||
},
|
||||
{
|
||||
"label": "Go_Daddy_Root_Certificate_Authority___G2",
|
||||
"binNumber": 106,
|
||||
"sha256Fingerprint": "RRQLMkfrnMjFtPDXtTCR9zKSCJ5uWmPidJ3TrKkZjto="
|
||||
},
|
||||
{
|
||||
"label": "Starfield_Root_Certificate_Authority___G2",
|
||||
"binNumber": 107,
|
||||
"sha256Fingerprint": "LOHLC/nS+eECmT++IVFSw7LdDKveHGjlMZuDkVTbt/U="
|
||||
},
|
||||
{
|
||||
"label": "Starfield_Services_Root_Certificate_Authority___G2",
|
||||
"binNumber": 108,
|
||||
"sha256Fingerprint": "Vo1pBaLIhwikswJRkO3P7bGXSmBqE8blKQ/LKuY+2rU="
|
||||
},
|
||||
{
|
||||
"label": "AffirmTrust_Commercial",
|
||||
"binNumber": 109,
|
||||
"sha256Fingerprint": "A3arHVTF+YA85LLiAaDufu97V7Y26Kk8m41IYMlvX6c="
|
||||
},
|
||||
{
|
||||
"label": "AffirmTrust_Networking",
|
||||
"binNumber": 110,
|
||||
"sha256Fingerprint": "CoHsWpKXd/FFkErzjV1Qn2a14sWPzbUxBYsOF/PwtBs="
|
||||
},
|
||||
{
|
||||
"label": "AffirmTrust_Premium",
|
||||
"binNumber": 111,
|
||||
"sha256Fingerprint": "cKc/fzdrYAdCSJBFNLEUgtW/DmmOzEmN9SV36/LpO5o="
|
||||
},
|
||||
{
|
||||
"label": "AffirmTrust_Premium_ECC",
|
||||
"binNumber": 112,
|
||||
"sha256Fingerprint": "vXH99tqX5M9i0WR63SWBsH15rfg5frTsupxehIiCFCM="
|
||||
},
|
||||
{
|
||||
"label": "Certum_Trusted_Network_CA",
|
||||
"binNumber": 113,
|
||||
"sha256Fingerprint": "XFhGjVX1jkl+dDmC0rUAELbRZTdKz4On1KMtt2jEQI4="
|
||||
},
|
||||
{
|
||||
"label": "Certinomis___Autorit__Racine",
|
||||
"binNumber": 114,
|
||||
"sha256Fingerprint": "/L/iiGIG9ysnWTyLBwKX4S12ntEO15MHBagJjv/BTRc="
|
||||
},
|
||||
{
|
||||
"label": "Root_CA_Generalitat_Valenciana",
|
||||
"binNumber": 115,
|
||||
"sha256Fingerprint": "jE7f0ENI8yKWnn4ppM1NygBGVQYcFuGwdkIu80KtYw4="
|
||||
},
|
||||
{
|
||||
"label": "A_Trust_nQual_03",
|
||||
"binNumber": 116,
|
||||
"sha256Fingerprint": "eTy/RVm5/eOKsi3xaGn2mIGuFMSwE5rHiKeKGvzKAvs="
|
||||
},
|
||||
{
|
||||
"label": "TWCA_Root_Certification_Authority",
|
||||
"binNumber": 117,
|
||||
"sha256Fingerprint": "v9iP4RAcQa4+gBv4vlY1Dum60aa5vVFe3FxtW4cRrEQ="
|
||||
},
|
||||
{
|
||||
"label": "OU_Security_Communication_RootCA2_O__SECOM_Trust_Systems_CO__LTD___C_JP",
|
||||
"binNumber": 118,
|
||||
"sha256Fingerprint": "UTss7LgQ1M3l3YU5Gt/Gwt1g2Hu3NtK1IUhKpHoOvvY="
|
||||
},
|
||||
{
|
||||
"label": "EC_ACC",
|
||||
"binNumber": 119,
|
||||
"sha256Fingerprint": "iEl/AWAvMVQkauKMTVrvEPHYfrt2Ym9K4Lf5W6eWh5k="
|
||||
},
|
||||
{
|
||||
"label": "Hellenic_Academic_and_Research_Institutions_RootCA_2011",
|
||||
"binNumber": 120,
|
||||
"sha256Fingerprint": "vBBPFaSL5wncpUKn4dS5328FRSfoAuqpLVlURCWK/nE="
|
||||
},
|
||||
{
|
||||
"label": "Actalis_Authentication_Root_CA",
|
||||
"binNumber": 121,
|
||||
"sha256Fingerprint": "VZJghOyWOmS5biq+Ac4LqGpk+/68x6q1r8FVs3/XYGY="
|
||||
},
|
||||
{
|
||||
"label": "OU_Trustis_FPS_Root_CA_O_Trustis_Limited_C_GB",
|
||||
"binNumber": 122,
|
||||
"sha256Fingerprint": "wbSCmaulII/pYwrOVcpooD7aWlGciAKg06Zzvo+OVX0="
|
||||
},
|
||||
{
|
||||
"label": "StartCom_Certification_Authority",
|
||||
"binNumber": 123,
|
||||
"sha256Fingerprint": "4XiQ7gmj+/T0i5xBShfWN7elBkfpvHUjInJ/zBdCqRE="
|
||||
},
|
||||
{
|
||||
"label": "StartCom_Certification_Authority_G2",
|
||||
"binNumber": 124,
|
||||
"sha256Fingerprint": "x7plZ96Tp5iuH6p5HnEtN4+uH5PEOX/qRBu3y+b9WZU="
|
||||
},
|
||||
{
|
||||
"label": "Buypass_Class_2_Root_CA",
|
||||
"binNumber": 125,
|
||||
"sha256Fingerprint": "mhFAJRl8W7ldlOY9Vc1DeQhHtkayPN8RraSgDv8V+0g="
|
||||
},
|
||||
{
|
||||
"label": "Buypass_Class_3_Root_CA",
|
||||
"binNumber": 126,
|
||||
"sha256Fingerprint": "7ffrvKJ6KjhNOHt9QBDGZuLttIQ+TCm0rh1bkzLmsk0="
|
||||
},
|
||||
{
|
||||
"label": "T_TeleSec_GlobalRoot_Class_3",
|
||||
"binNumber": 127,
|
||||
"sha256Fingerprint": "/XPa0xxkT/G0O+8MzdqWcQuc2Ydeyn4xcHrz6W1SK70="
|
||||
},
|
||||
{
|
||||
"label": "EE_Certification_Centre_Root_CA",
|
||||
"binNumber": 128,
|
||||
"sha256Fingerprint": "PoS6Q0KQhRbndXPAmS8JecoITkaFaB/xlcy6iiKbinY="
|
||||
},
|
||||
{
|
||||
"label": "T_RKTRUST_Elektronik_Sertifika_Hizmet_Sa_lay_c_s_",
|
||||
"binNumber": 129,
|
||||
"sha256Fingerprint": "l4zZZvL6oHunqpUA2cAunXfyza2mrWunSvS5HGZZPFA="
|
||||
},
|
||||
{
|
||||
"label": "D_TRUST_Root_Class_3_CA_2_2009",
|
||||
"binNumber": 130,
|
||||
"sha256Fingerprint": "SeekQqzw6mKHBQBUtSVktlDk9J5C40jWqjjgOelXscE="
|
||||
},
|
||||
{
|
||||
"label": "D_TRUST_Root_Class_3_CA_2_EV_2009",
|
||||
"binNumber": 131,
|
||||
"sha256Fingerprint": "7sVJa5iM6YYluTQJLuwpCL7QsPMWwtRzDITq8fPTSIE="
|
||||
},
|
||||
{
|
||||
"label": "PSCProcert",
|
||||
"binNumber": 132,
|
||||
"sha256Fingerprint": "PPw8FNH2hP8X44xDykQMALln7JM+i/4GTKHXLJDyrbA="
|
||||
},
|
||||
{
|
||||
"label": "China_Internet_Network_Information_Center_EV_Certificates_Root",
|
||||
"binNumber": 133,
|
||||
"sha256Fingerprint": "HAHG9Nuy/vwiVYsryjJWP0mESs/DK3vksP9Zn56Mevc="
|
||||
},
|
||||
{
|
||||
"label": "Swisscom_Root_CA_2",
|
||||
"binNumber": 134,
|
||||
"sha256Fingerprint": "8JsSLHEU9KCb1OpPSpnVWLRuTCXNgRQNKcBWE5FMOEE="
|
||||
},
|
||||
{
|
||||
"label": "Swisscom_Root_EV_CA_2",
|
||||
"binNumber": 135,
|
||||
"sha256Fingerprint": "2V/qPKTu3OdM1251/G0f9ixEHw+ovHfwNLGeXbJYAV0="
|
||||
},
|
||||
{
|
||||
"label": "CA_Disig_Root_R1",
|
||||
"binNumber": 136,
|
||||
"sha256Fingerprint": "+W8j9MPnnAd6RpiNWvWQBnag8DnLZF3RdUmyFsgkQM4="
|
||||
},
|
||||
{
|
||||
"label": "CA_Disig_Root_R2",
|
||||
"binNumber": 137,
|
||||
"sha256Fingerprint": "4j1KA217cOn1lbFCIHnSuR7fux+2UaBjPqqKncX4BwM="
|
||||
},
|
||||
{
|
||||
"label": "ACCVRAIZ1",
|
||||
"binNumber": 138,
|
||||
"sha256Fingerprint": "mm7AEuGn2p2+NBlNR4rXwNsYIvsHHfEpgUlu0QQ4QRM="
|
||||
},
|
||||
{
|
||||
"label": "TWCA_Global_Root_CA",
|
||||
"binNumber": 139,
|
||||
"sha256Fingerprint": "WXaQB/doXQ/NUIcvn5XVdVpbK0V9gfNpK2EKmGcvDhs="
|
||||
},
|
||||
{
|
||||
"label": "TeliaSonera_Root_CA_v1",
|
||||
"binNumber": 140,
|
||||
"sha256Fingerprint": "3Wk2/iH48HfBI6GlIcEiJPciVbc+A6cmBpPooksPo4k="
|
||||
},
|
||||
{
|
||||
"label": "E_Tugra_Certification_Authority",
|
||||
"binNumber": 141,
|
||||
"sha256Fingerprint": "sL/VK7DX2b2Sv11NwT2iVcAsVC83g2XqiTkR9V5V8jw="
|
||||
},
|
||||
{
|
||||
"label": "T_TeleSec_GlobalRoot_Class_2",
|
||||
"binNumber": 142,
|
||||
"sha256Fingerprint": "keL1eI1YEOunulhzfeFUio7KzQFFmLwLFD4EGxcFJVI="
|
||||
},
|
||||
{
|
||||
"label": "Atos_TrustedRoot_2011",
|
||||
"binNumber": 143,
|
||||
"sha256Fingerprint": "81a+okS3qR6zXVPKmteGSs4Bji011fj5bd9opvQapHQ="
|
||||
},
|
||||
{
|
||||
"label": "QuoVadis_Root_CA_1_G3",
|
||||
"binNumber": 144,
|
||||
"sha256Fingerprint": "ioZv0bJ2tX5XjpIcZYKKK+1Y6fLyiAVBNLfx9L/JzHQ="
|
||||
},
|
||||
{
|
||||
"label": "QuoVadis_Root_CA_2_G3",
|
||||
"binNumber": 145,
|
||||
"sha256Fingerprint": "j+T7Cvk6TQ1n2wvrsj43xxvzJdy83SQOoE2vWLR+GEA="
|
||||
},
|
||||
{
|
||||
"label": "QuoVadis_Root_CA_3_G3",
|
||||
"binNumber": 146,
|
||||
"sha256Fingerprint": "iO+B3iAusBhFLkP4ZHJc6l+9H8LZ0gVzBwnF2LhpD0Y="
|
||||
},
|
||||
{
|
||||
"label": "DigiCert_Assured_ID_Root_G2",
|
||||
"binNumber": 147,
|
||||
"sha256Fingerprint": "fQXrtoIzn4yUUe4JTuv++nlToRTtsvRJSUUvq30vwYU="
|
||||
},
|
||||
{
|
||||
"label": "DigiCert_Assured_ID_Root_G3",
|
||||
"binNumber": 148,
|
||||
"sha256Fingerprint": "fjfLi0xHCQyrNlUbpvRduEBoD7oWapUtsQBxf0MFP8I="
|
||||
},
|
||||
{
|
||||
"label": "DigiCert_Global_Root_G2",
|
||||
"binNumber": 149,
|
||||
"sha256Fingerprint": "yzzLt2Ax5eATj43TmiP53kf/w15DwRRM6ifUalqxy18="
|
||||
},
|
||||
{
|
||||
"label": "DigiCert_Global_Root_G3",
|
||||
"binNumber": 150,
|
||||
"sha256Fingerprint": "Ma1mSPgQQTjHOPOepDIBMzk+OhjMAilu+Xwqye9nMdA="
|
||||
},
|
||||
{
|
||||
"label": "DigiCert_Trusted_Root_G4",
|
||||
"binNumber": 151,
|
||||
"sha256Fingerprint": "VS973PGnr55s5nIBf08Sq/dyQMeOdhrCA9HZ0grImYg="
|
||||
},
|
||||
{
|
||||
"label": "Certification_Authority_of_WoSign",
|
||||
"binNumber": 152,
|
||||
"sha256Fingerprint": "SyLVpq7JnzzbeapewGg4R5zV7LpxZPfyLcHWX2PYVwg="
|
||||
},
|
||||
{
|
||||
"label": "CA______",
|
||||
"binNumber": 153,
|
||||
"sha256Fingerprint": "1vA0vZSqIz8Cl+ykJFsoOXPkR6pZDzEMd/SP34MRIlQ="
|
||||
}
|
||||
],
|
||||
"maxBin": 153
|
||||
}
|
254
security/manager/tools/genRootCAHashes.js
Normal file
254
security/manager/tools/genRootCAHashes.js
Normal file
@ -0,0 +1,254 @@
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
// How to run this file:
|
||||
// 1. [obtain firefox source code]
|
||||
// 2. [build/obtain firefox binaries]
|
||||
// 3. run `[path to]/run-mozilla.sh [path to]/xpcshell genRootCAHashes.js \
|
||||
// [absolute path to]/RootHashes.inc'
|
||||
|
||||
// <https://developer.mozilla.org/en/XPConnect/xpcshell/HOWTO>
|
||||
// <https://bugzilla.mozilla.org/show_bug.cgi?id=546628>
|
||||
const Cc = Components.classes;
|
||||
const Ci = Components.interfaces;
|
||||
const Cu = Components.utils;
|
||||
const Cr = Components.results;
|
||||
|
||||
const nsX509CertDB = "@mozilla.org/security/x509certdb;1";
|
||||
const CertDb = Components.classes[nsX509CertDB].getService(Ci.nsIX509CertDB);
|
||||
|
||||
Cu.import("resource://gre/modules/Services.jsm");
|
||||
Cu.import("resource://gre/modules/FileUtils.jsm");
|
||||
Cu.import("resource://gre/modules/NetUtil.jsm");
|
||||
Cu.import("resource://services-common/utils.js");
|
||||
|
||||
const FILENAME_OUTPUT = "RootHashes.inc";
|
||||
const FILENAME_TRUST_ANCHORS = "KnownRootHashes.json";
|
||||
const ROOT_NOT_ASSIGNED = -1;
|
||||
|
||||
const JSON_HEADER = "// This Source Code Form is subject to the terms of the Mozilla Public\n" +
|
||||
"// License, v. 2.0. If a copy of the MPL was not distributed with this\n" +
|
||||
"// file, You can obtain one at http://mozilla.org/MPL/2.0/. */\n" +
|
||||
"//\n" +
|
||||
"//***************************************************************************\n" +
|
||||
"// This is an automatically generated file. It's used to maintain state for\n" +
|
||||
"// runs of genRootCAHashes.js; you should never need to manually edit it\n" +
|
||||
"//***************************************************************************\n" +
|
||||
"\n";
|
||||
|
||||
const FILE_HEADER = "/* This Source Code Form is subject to the terms of the Mozilla Public\n" +
|
||||
" * License, v. 2.0. If a copy of the MPL was not distributed with this\n" +
|
||||
" * file, You can obtain one at http://mozilla.org/MPL/2.0/. */\n" +
|
||||
"\n" +
|
||||
"/*****************************************************************************/\n" +
|
||||
"/* This is an automatically generated file. If you're not */\n" +
|
||||
"/* RootCertificateTelemetryUtils.cpp, you shouldn't be #including it. */\n" +
|
||||
"/*****************************************************************************/\n" +
|
||||
"\n" +
|
||||
"#define HASH_LEN 32\n";
|
||||
|
||||
const FP_PREAMBLE = "struct CertAuthorityHash {\n" +
|
||||
" const uint8_t hash[HASH_LEN];\n" +
|
||||
" const int32_t binNumber;\n" +
|
||||
"};\n\n" +
|
||||
"static const struct CertAuthorityHash ROOT_TABLE[] = {\n";
|
||||
|
||||
const FP_POSTAMBLE = "};\n";
|
||||
|
||||
// Helper
|
||||
function writeString(fos, string) {
|
||||
fos.write(string, string.length);
|
||||
}
|
||||
|
||||
// Remove all colons from a string
|
||||
function stripColons(hexString) {
|
||||
return hexString.replace(/:/g, '');
|
||||
}
|
||||
|
||||
// Expect an array of bytes and make it C-formatted
|
||||
function hexSlice(bytes, start, end) {
|
||||
let ret = "";
|
||||
for (let i = start; i < end; i++) {
|
||||
let hex = (0 + bytes.charCodeAt(i).toString(16)).slice(-2).toUpperCase();
|
||||
ret += "0x" + hex;
|
||||
if (i < end - 1) {
|
||||
ret += ", ";
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
function stripComments(buf) {
|
||||
let lines = buf.split("\n");
|
||||
let entryRegex = /^\s*\/\//;
|
||||
let data = "";
|
||||
for (let i = 0; i < lines.length; i++) {
|
||||
let match = entryRegex.exec(lines[i]);
|
||||
if (!match) {
|
||||
data = data + lines[i];
|
||||
}
|
||||
}
|
||||
return data;
|
||||
}
|
||||
|
||||
|
||||
// Load the trust anchors JSON object from disk
|
||||
function loadTrustAnchors(file) {
|
||||
if (file.exists()) {
|
||||
let stream = Cc["@mozilla.org/network/file-input-stream;1"]
|
||||
.createInstance(Ci.nsIFileInputStream);
|
||||
stream.init(file, -1, 0, 0);
|
||||
let buf = NetUtil.readInputStreamToString(stream, stream.available());
|
||||
return JSON.parse(stripComments(buf));
|
||||
}
|
||||
// If there's no input file, bootstrap.
|
||||
return { roots: [], maxBin: 0 };
|
||||
}
|
||||
|
||||
// Saves our persistence file so that we don't lose track of the mapping
|
||||
// between bin numbers and the CA-hashes, even as CAs come and go.
|
||||
function writeTrustAnchors(file) {
|
||||
let fos = FileUtils.openSafeFileOutputStream(file);
|
||||
|
||||
let serializedData = JSON.stringify(gTrustAnchors, null, ' ');
|
||||
fos.write(JSON_HEADER, JSON_HEADER.length);
|
||||
fos.write(serializedData, serializedData.length);
|
||||
|
||||
FileUtils.closeSafeFileOutputStream(fos);
|
||||
}
|
||||
|
||||
|
||||
// Write the C++ header file
|
||||
function writeRootHashes(fos) {
|
||||
try {
|
||||
writeString(fos, FILE_HEADER);
|
||||
|
||||
// Output the sorted gTrustAnchors
|
||||
writeString(fos, FP_PREAMBLE);
|
||||
gTrustAnchors.roots.forEach(function(fp) {
|
||||
let fpBytes = atob(fp.sha256Fingerprint);
|
||||
|
||||
writeString(fos, " {\n");
|
||||
writeString(fos, " /* "+fp.label+" */\n");
|
||||
writeString(fos, " { " + hexSlice(fpBytes, 0, 16) + ",\n");
|
||||
writeString(fos, " " + hexSlice(fpBytes, 16, 32) + " },\n");
|
||||
writeString(fos, " " + fp.binNumber + " /* Bin Number */\n");
|
||||
|
||||
writeString(fos, " },\n");
|
||||
});
|
||||
writeString(fos, FP_POSTAMBLE);
|
||||
|
||||
writeString(fos, "\n");
|
||||
|
||||
}
|
||||
catch (e) {
|
||||
dump("ERROR: problem writing output: " + e + "\n");
|
||||
}
|
||||
}
|
||||
|
||||
// Scan our list (linearly) for the given fingerprint string
|
||||
function findTrustAnchorByFingerprint(sha256Fingerprint) {
|
||||
for (let i = 0; i < gTrustAnchors.roots.length; i++) {
|
||||
if (sha256Fingerprint == gTrustAnchors.roots[i].sha256Fingerprint) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return ROOT_NOT_ASSIGNED;
|
||||
}
|
||||
|
||||
// Get a clean label for a given certificate; usually the common name.
|
||||
function getLabelForCert(cert) {
|
||||
let label = cert.commonName;
|
||||
|
||||
if (label.length < 5) {
|
||||
label = cert.subjectName;
|
||||
}
|
||||
|
||||
// replace non-ascii characters
|
||||
label = label.replace( /[^[:ascii:]]/g, "_");
|
||||
// replace non-word characters
|
||||
label = label.replace(/[^A-Za-z0-9]/g ,"_");
|
||||
return label;
|
||||
}
|
||||
|
||||
// Fill in the gTrustAnchors list with trust anchors from the database.
|
||||
function insertTrustAnchorsFromDatabase(){
|
||||
// We only want CA certs for SSL
|
||||
const CERT_TYPE = Ci.nsIX509Cert.CA_CERT;
|
||||
const TRUST_TYPE = Ci.nsIX509CertDB.TRUSTED_SSL;
|
||||
|
||||
// Iterate through the whole Cert DB
|
||||
let enumerator = CertDb.getCerts().getEnumerator();
|
||||
while (enumerator.hasMoreElements()) {
|
||||
let cert = enumerator.getNext().QueryInterface(Ci.nsIX509Cert);
|
||||
|
||||
// Find the certificate in our existing list. Do it here because we need to check if
|
||||
// it's untrusted too.
|
||||
|
||||
// If this is a trusted cert
|
||||
if (CertDb.isCertTrusted(cert, CERT_TYPE, TRUST_TYPE)) {
|
||||
// Base64 encode the hex string
|
||||
let binaryFingerprint = CommonUtils.hexToBytes(stripColons(cert.sha256Fingerprint));
|
||||
let encodedFingerprint = btoa(binaryFingerprint);
|
||||
|
||||
// Scan to see if this is already in the database.
|
||||
if (findTrustAnchorByFingerprint(encodedFingerprint) == ROOT_NOT_ASSIGNED) {
|
||||
|
||||
// Let's get a usable name; some old certs do not have CN= filled out
|
||||
let label = getLabelForCert(cert);
|
||||
|
||||
// Add to list
|
||||
gTrustAnchors.maxBin += 1;
|
||||
gTrustAnchors.roots.push(
|
||||
{
|
||||
"label": label,
|
||||
"binNumber": gTrustAnchors.maxBin,
|
||||
"sha256Fingerprint": encodedFingerprint
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// PRIMARY LOGIC
|
||||
//
|
||||
|
||||
if (arguments.length < 1) {
|
||||
throw "Usage: genRootCAHashes.js <absolute path to current RootHashes.inc>";
|
||||
}
|
||||
|
||||
let trustAnchorsFile = FileUtils.getFile("CurWorkD", [FILENAME_TRUST_ANCHORS]);
|
||||
// let rootHashesFile = FileUtils.getFile("CurWorkD", arguments[0]);
|
||||
let rootHashesFile = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
|
||||
rootHashesFile.initWithPath(arguments[0]);
|
||||
|
||||
// Open the known hashes file; this is to ensure stable bin numbers.
|
||||
let gTrustAnchors = loadTrustAnchors(trustAnchorsFile);
|
||||
|
||||
// Collect all certificate entries
|
||||
insertTrustAnchorsFromDatabase();
|
||||
|
||||
// Update known hashes before we sort
|
||||
writeTrustAnchors(trustAnchorsFile);
|
||||
|
||||
// Sort all trust anchors before writing, as AccumulateRootCA.cpp
|
||||
// will perform binary searches
|
||||
gTrustAnchors.roots.sort(function(a, b) {
|
||||
// We need to work from the binary values, not the base64 values.
|
||||
let aBin = atob(a.sha256Fingerprint);
|
||||
let bBin = atob(b.sha256Fingerprint)
|
||||
|
||||
if (aBin < bBin)
|
||||
return -1;
|
||||
else if (aBin > bBin)
|
||||
return 1;
|
||||
else
|
||||
return 0;
|
||||
});
|
||||
|
||||
// Write the output file.
|
||||
let rootHashesFileOutputStream = FileUtils.openSafeFileOutputStream(rootHashesFile);
|
||||
writeRootHashes(rootHashesFileOutputStream);
|
||||
FileUtils.closeSafeFileOutputStream(rootHashesFileOutputStream);
|
@ -6631,6 +6631,13 @@
|
||||
"n_buckets": 10,
|
||||
"extended_statistics_ok": true
|
||||
},
|
||||
"CERT_PINNING_FAILURES_BY_CA": {
|
||||
"alert_emails": ["pinning@mozilla.org"],
|
||||
"expires_in_version": "never",
|
||||
"kind": "enumerated",
|
||||
"n_values": 256,
|
||||
"description": "Pinning failures by CA (see RootHashes.inc for names of CAs)"
|
||||
},
|
||||
"CERT_PINNING_RESULTS": {
|
||||
"alert_emails": ["pinning@mozilla.org"],
|
||||
"expires_in_version": "never",
|
||||
|
Loading…
Reference in New Issue
Block a user