/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* 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 "ExtendedValidation.h"
#include "cert.h"
#include "hasht.h"
#include "mozilla/ArrayUtils.h"
#include "mozilla/Assertions.h"
#include "mozilla/Base64.h"
#include "mozilla/Casting.h"
#include "mozilla/PodOperations.h"
#include "mozpkix/pkixder.h"
#include "mozpkix/pkixtypes.h"
#include "mozpkix/pkixutil.h"
#include "nsDependentString.h"
#include "nsString.h"
#include "pk11pub.h"
namespace mozilla {
namespace psm {
struct EVInfo {
// See bug 1338873 about making these fields const.
const char * dottedOid;
const char *
oidName;
// Set this to null to signal an invalid structure,
// (We can't have an empty list, so we'll use a dummy entry)
unsigned char sha256Fingerprint[SHA256_LENGTH];
const char * issuerBase64;
const char * serialBase64;
};
// HOWTO enable additional CA root certificates for EV:
//
// For each combination of "root certificate" and "policy OID",
// one entry must be added to the array named kEVInfos.
//
// We use the combination of "issuer name" and "serial number" to
// uniquely identify the certificate. In order to avoid problems
// because of encodings when comparing certificates, we don't
// use plain text representation, we rather use the original encoding
// as it can be found in the root certificate (in base64 format).
//
// We can use the NSS utility named "pp" to extract the encoding.
//
// Build standalone NSS including the NSS tools, then run
// pp -t certificate-identity -i the-cert-filename
//
// You will need the output from sections "Issuer", "Fingerprint (SHA-256)",
// "Issuer DER Base64" and "Serial DER Base64".
//
// The new section consists of the following components:
//
// - a comment that should contain the human readable issuer name
// of the certificate, as printed by the pp tool
// - the EV policy OID that is associated to the EV grant
// - a text description of the EV policy OID. The array can contain
// multiple entries with the same OID.
// Please make sure to use the identical OID text description for
// all entries with the same policy OID (use the text search
// feature of your text editor to find duplicates).
// When adding a new policy OID that is not yet contained in the array,
// please make sure that your new description is different from
// all the other descriptions (again use the text search feature
// to be sure).
// - the SHA-256 fingerprint
// - the "Issuer DER Base64" as printed by the pp tool.
// Remove all whitespaces. If you use multiple lines, make sure that
// only the final line will be followed by a comma.
// - the "Serial DER Base64" (as printed by pp)
//
// After adding an entry, test it locally against the test site that
// has been provided by the CA. Note that you must use a version of NSS
// where the root certificate has already been added and marked as trusted
// for issuing SSL server certificates (at least).
//
// If you are able to connect to the site without certificate errors,
// but you don't see the EV status indicator, then most likely the CA
// has a problem in their infrastructure. The most common problems are
// related to the CA's OCSP infrastructure, either they use an incorrect
// OCSP signing certificate, or OCSP for the intermediate certificates
// isn't working, or OCSP isn't working at all.
#ifdef DEBUG
static const size_t NUM_TEST_EV_ROOTS =
2 ;
#endif
static const struct EVInfo kEVInfos[] = {
// clang-format off
// IMPORTANT! When extending this list, if you add another entry that uses
// the same dottedOid as an existing entry, use the same oidName.
#ifdef DEBUG
// Debug EV certificates should all use the following OID:
// 1.3.6.1.4.1.13769.666.666.666.1.500.9.1.
// (multiple entries with the same OID is ok)
// If you add or remove debug EV certs you must also modify NUM_TEST_EV_ROOTS
// so that the correct number of certs are skipped as these debug EV certs
// are NOT part of the default trust store.
{
// This is the PSM xpcshell testing EV certificate. It can be generated
// using pycert.py and the following specification:
//
// issuer:evroot
// subject:evroot
// subjectKey:ev
// issuerKey:ev
// validity:20150101-20350101
// extension:basicConstraints:cA,
// extension:keyUsage:keyCertSign,cRLSign
//
// If this ever needs to change, re-generate the certificate and update the
// following entry with the new fingerprint, issuer, and serial number.
"1.3.6.1.4.1.13769.666.666.666.1.500.9.1" ,
"DEBUGtesting EV OID" ,
{
0 x70,
0 xED,
0 xCB,
0 x5A,
0 xCE,
0 x02,
0 xC7,
0 xC5,
0 x0B,
0 xA3,
0 xD2,
0 xD7,
0 xC6,
0 xF5,
0 x0E,
0 x18,
0 x02,
0 x19,
0 x17,
0 xF5,
0 x48,
0 x08,
0 x9C,
0 xB3,
0 x8E,
0 xEF,
0 x9A,
0 x1A,
0 x4D,
0 x7F,
0 x82,
0 x94 },
"MBExDzANBgNVBAMMBmV2cm9vdA==" ,
"IZSHsVgzcvhPgdfrgdMGlpSfMeg=" ,
},
{
// This is an RSA root with an inadequate key size. It is used to test that
// minimum key sizes are enforced when verifying for EV. It can be
// generated using pycert.py and the following specification:
//
// issuer:ev_root_rsa_2040
// subject:ev_root_rsa_2040
// issuerKey:evRSA2040
// subjectKey:evRSA2040
// validity:20150101-20350101
// extension:basicConstraints:cA,
// extension:keyUsage:cRLSign,keyCertSign
//
// If this ever needs to change, re-generate the certificate and update the
// following entry with the new fingerprint, issuer, and serial number.
"1.3.6.1.4.1.13769.666.666.666.1.500.9.1" ,
"DEBUGtesting EV OID" ,
{
0 x40,
0 xAB,
0 x5D,
0 xA5,
0 x89,
0 x15,
0 xA9,
0 x4B,
0 x82,
0 x87,
0 xB8,
0 xA6,
0 x9A,
0 x84,
0 xB1,
0 xDB,
0 x7A,
0 x9D,
0 xDB,
0 xB8,
0 x4E,
0 xE1,
0 x23,
0 xE3,
0 xC6,
0 x64,
0 xE7,
0 x50,
0 xDC,
0 x35,
0 x8C,
0 x68 },
"MBsxGTAXBgNVBAMMEGV2X3Jvb3RfcnNhXzIwNDA=" ,
"J7nCMgtzNcSPG7jAh3CWzlTGHQg=" ,
},
#endif
{
// CN=SwissSign Gold CA - G2,O=SwissSign AG,C=CH
"2.16.756.1.89.1.2.1.1" ,
"SwissSign EV OID" ,
{
0 x62,
0 xDD,
0 x0B,
0 xE9,
0 xB9,
0 xF5,
0 x0A,
0 x16,
0 x3E,
0 xA0,
0 xF8,
0 xE7,
0 x5C,
0 x05,
0 x3B,
0 x1E,
0 xCA,
0 x57,
0 xEA,
0 x55,
0 xC8,
0 x68,
0 x8F,
0 x64,
0 x7C,
0 x68,
0 x81,
0 xF2,
0 xC8,
0 x35,
0 x7B,
0 x95 },
"MEUxCzAJBgNVBAYTAkNIMRUwEwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMT"
"FlN3aXNzU2lnbiBHb2xkIENBIC0gRzI=" ,
"ALtAHEP1Xk+w" ,
},
{
// CN=XRamp Global Certification Authority,O=XRamp Security Services Inc,OU=www.xrampsecurity.com,C=US
"2.16.840.1.114404.1.1.2.4.1" ,
"Trustwave EV OID" ,
{
0 xCE,
0 xCD,
0 xDC,
0 x90,
0 x50,
0 x99,
0 xD8,
0 xDA,
0 xDF,
0 xC5,
0 xB1,
0 xD2,
0 x09,
0 xB7,
0 x37,
0 xCB,
0 xE2,
0 xC1,
0 x8C,
0 xFB,
0 x2C,
0 x10,
0 xC0,
0 xFF,
0 x0B,
0 xCF,
0 x0D,
0 x32,
0 x86,
0 xFC,
0 x1A,
0 xA2 },
"MIGCMQswCQYDVQQGEwJVUzEeMBwGA1UECxMVd3d3LnhyYW1wc2VjdXJpdHkuY29t"
"MSQwIgYDVQQKExtYUmFtcCBTZWN1cml0eSBTZXJ2aWNlcyBJbmMxLTArBgNVBAMT"
"JFhSYW1wIEdsb2JhbCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eQ==" ,
"UJRs7Bjq1ZxN1ZfvdY+grQ==" ,
},
{
// CN=SecureTrust CA,O=SecureTrust Corporation,C=US
"2.16.840.1.114404.1.1.2.4.1" ,
"Trustwave EV OID" ,
{
0 xF1,
0 xC1,
0 xB5,
0 x0A,
0 xE5,
0 xA2,
0 x0D,
0 xD8,
0 x03,
0 x0E,
0 xC9,
0 xF6,
0 xBC,
0 x24,
0 x82,
0 x3D,
0 xD3,
0 x67,
0 xB5,
0 x25,
0 x57,
0 x59,
0 xB4,
0 xE7,
0 x1B,
0 x61,
0 xFC,
0 xE9,
0 xF7,
0 x37,
0 x5D,
0 x73 },
"MEgxCzAJBgNVBAYTAlVTMSAwHgYDVQQKExdTZWN1cmVUcnVzdCBDb3Jwb3JhdGlv"
"bjEXMBUGA1UEAxMOU2VjdXJlVHJ1c3QgQ0E=" ,
"DPCOXAgWpa1Cf/DrJxhZ0A==" ,
},
{
// CN=Secure Global CA,O=SecureTrust Corporation,C=US
"2.16.840.1.114404.1.1.2.4.1" ,
"Trustwave EV OID" ,
{
0 x42,
0 x00,
0 xF5,
0 x04,
0 x3A,
0 xC8,
0 x59,
0 x0E,
0 xBB,
0 x52,
0 x7D,
0 x20,
0 x9E,
0 xD1,
0 x50,
0 x30,
0 x29,
0 xFB,
0 xCB,
0 xD4,
0 x1C,
0 xA1,
0 xB5,
0 x06,
0 xEC,
0 x27,
0 xF1,
0 x5A,
0 xDE,
0 x7D,
0 xAC,
0 x69 },
"MEoxCzAJBgNVBAYTAlVTMSAwHgYDVQQKExdTZWN1cmVUcnVzdCBDb3Jwb3JhdGlv"
"bjEZMBcGA1UEAxMQU2VjdXJlIEdsb2JhbCBDQQ==" ,
"B1YipOjUiolN9BPI8PjqpQ==" ,
},
{
// CN=COMODO ECC Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB
"1.3.6.1.4.1.6449.1.2.1.5.1" ,
"Comodo EV OID" ,
{
0 x17,
0 x93,
0 x92,
0 x7A,
0 x06,
0 x14,
0 x54,
0 x97,
0 x89,
0 xAD,
0 xCE,
0 x2F,
0 x8F,
0 x34,
0 xF7,
0 xF0,
0 xB6,
0 x6D,
0 x0F,
0 x3A,
0 xE3,
0 xA3,
0 xB8,
0 x4D,
0 x21,
0 xEC,
0 x15,
0 xDB,
0 xBA,
0 x4F,
0 xAD,
0 xC7 },
"MIGFMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAw"
"DgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01PRE8gQ0EgTGltaXRlZDErMCkG"
"A1UEAxMiQ09NT0RPIEVDQyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eQ==" ,
"H0evqmIAcFBUTAGem2OZKg==" ,
},
{
// CN=COMODO Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB
"1.3.6.1.4.1.6449.1.2.1.5.1" ,
"Comodo EV OID" ,
{
0 x0C,
0 x2C,
0 xD6,
0 x3D,
0 xF7,
0 x80,
0 x6F,
0 xA3,
0 x99,
0 xED,
0 xE8,
0 x09,
0 x11,
0 x6B,
0 x57,
0 x5B,
0 xF8,
0 x79,
0 x89,
0 xF0,
0 x65,
0 x18,
0 xF9,
0 x80,
0 x8C,
0 x86,
0 x05,
0 x03,
0 x17,
0 x8B,
0 xAF,
0 x66 },
"MIGBMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAw"
"DgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01PRE8gQ0EgTGltaXRlZDEnMCUG"
"A1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0aG9yaXR5" ,
"ToEtioJl4AsC7j41AkblPQ==" ,
},
{
// OU=Go Daddy Class 2 Certification Authority,O=\"The Go Daddy Group, Inc.\",C=US
"2.16.840.1.114413.1.7.23.3" ,
"Go Daddy EV OID a" ,
{
0 xC3,
0 x84,
0 x6B,
0 xF2,
0 x4B,
0 x9E,
0 x93,
0 xCA,
0 x64,
0 x27,
0 x4C,
0 x0E,
0 xC6,
0 x7C,
0 x1E,
0 xCC,
0 x5E,
0 x02,
0 x4F,
0 xFC,
0 xAC,
0 xD2,
0 xD7,
0 x40,
0 x19,
0 x35,
0 x0E,
0 x81,
0 xFE,
0 x54,
0 x6A,
0 xE4 },
"MGMxCzAJBgNVBAYTAlVTMSEwHwYDVQQKExhUaGUgR28gRGFkZHkgR3JvdXAsIElu"
"Yy4xMTAvBgNVBAsTKEdvIERhZGR5IENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRo"
"b3JpdHk=" ,
"AA==" ,
},
{
// CN=Go Daddy Root Certificate Authority - G2,O="GoDaddy.com, Inc.",L=Scottsdale,ST=Arizona,C=US
"2.16.840.1.114413.1.7.23.3" ,
"Go Daddy EV OID a" ,
{
0 x45,
0 x14,
0 x0B,
0 x32,
0 x47,
0 xEB,
0 x9C,
0 xC8,
0 xC5,
0 xB4,
0 xF0,
0 xD7,
0 xB5,
0 x30,
0 x91,
0 xF7,
0 x32,
0 x92,
0 x08,
0 x9E,
0 x6E,
0 x5A,
0 x63,
0 xE2,
0 x74,
0 x9D,
0 xD3,
0 xAC,
0 xA9,
0 x19,
0 x8E,
0 xDA },
"MIGDMQswCQYDVQQGEwJVUzEQMA4GA1UECBMHQXJpem9uYTETMBEGA1UEBxMKU2Nv"
"dHRzZGFsZTEaMBgGA1UEChMRR29EYWRkeS5jb20sIEluYy4xMTAvBgNVBAMTKEdv"
"IERhZGR5IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IC0gRzI=" ,
"AA==" ,
},
{
// OU=Starfield Class 2 Certification Authority,O=\"Starfield Technologies, Inc.\",C=US
"2.16.840.1.114414.1.7.23.3" ,
"Go Daddy EV OID b" ,
{
0 x14,
0 x65,
0 xFA,
0 x20,
0 x53,
0 x97,
0 xB8,
0 x76,
0 xFA,
0 xA6,
0 xF0,
0 xA9,
0 x95,
0 x8E,
0 x55,
0 x90,
0 xE4,
0 x0F,
0 xCC,
0 x7F,
0 xAA,
0 x4F,
0 xB7,
0 xC2,
0 xC8,
0 x67,
0 x75,
0 x21,
0 xFB,
0 x5F,
0 xB6,
0 x58 },
"MGgxCzAJBgNVBAYTAlVTMSUwIwYDVQQKExxTdGFyZmllbGQgVGVjaG5vbG9naWVz"
"LCBJbmMuMTIwMAYDVQQLEylTdGFyZmllbGQgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9u"
"IEF1dGhvcml0eQ==" ,
"AA==" ,
},
{
// CN=Starfield Root Certificate Authority - G2,O="Starfield Technologies, Inc.",L=Scottsdale,ST=Arizona,C=US
"2.16.840.1.114414.1.7.23.3" ,
"Go Daddy EV OID b" ,
{
0 x2C,
0 xE1,
0 xCB,
0 x0B,
0 xF9,
0 xD2,
0 xF9,
0 xE1,
0 x02,
0 x99,
0 x3F,
0 xBE,
0 x21,
0 x51,
0 x52,
0 xC3,
0 xB2,
0 xDD,
0 x0C,
0 xAB,
0 xDE,
0 x1C,
0 x68,
0 xE5,
0 x31,
0 x9B,
0 x83,
0 x91,
0 x54,
0 xDB,
0 xB7,
0 xF5 },
"MIGPMQswCQYDVQQGEwJVUzEQMA4GA1UECBMHQXJpem9uYTETMBEGA1UEBxMKU2Nv"
"dHRzZGFsZTElMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEy"
"MDAGA1UEAxMpU3RhcmZpZWxkIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IC0g"
"RzI=" ,
"AA==" ,
},
{
// CN=DigiCert High Assurance EV Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US
"2.16.840.1.114412.2.1" ,
"DigiCert EV OID" ,
{
0 x74,
0 x31,
0 xE5,
0 xF4,
0 xC3,
0 xC1,
0 xCE,
0 x46,
0 x90,
0 x77,
0 x4F,
0 x0B,
0 x61,
0 xE0,
0 x54,
0 x40,
0 x88,
0 x3B,
0 xA9,
0 xA0,
0 x1E,
0 xD0,
0 x0B,
0 xA6,
0 xAB,
0 xD7,
0 x80,
0 x6E,
0 xD3,
0 xB1,
0 x18,
0 xCF },
"MGwxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsT"
"EHd3dy5kaWdpY2VydC5jb20xKzApBgNVBAMTIkRpZ2lDZXJ0IEhpZ2ggQXNzdXJh"
"bmNlIEVWIFJvb3QgQ0E=" ,
"AqxcJmoLQJuPC3nyrkYldw==" ,
},
{
// CN=QuoVadis Root CA 2,O=QuoVadis Limited,C=BM
"1.3.6.1.4.1.8024.0.2.100.1.2" ,
"Quo Vadis EV OID" ,
{
0 x85,
0 xA0,
0 xDD,
0 x7D,
0 xD7,
0 x20,
0 xAD,
0 xB7,
0 xFF,
0 x05,
0 xF8,
0 x3D,
0 x54,
0 x2B,
0 x20,
0 x9D,
0 xC7,
0 xFF,
0 x45,
0 x28,
0 xF7,
0 xD6,
0 x77,
0 xB1,
0 x83,
0 x89,
0 xFE,
0 xA5,
0 xE5,
0 xC4,
0 x9E,
0 x86 },
"MEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYD"
"VQQDExJRdW9WYWRpcyBSb290IENBIDI=" ,
"BQk=" ,
},
{
// CN=Entrust Root Certification Authority,OU="(c) 2006 Entrust, Inc.",OU=www.entrust.net/CPS is incorporated by reference,O="Entrust, Inc.",C=US
"2.16.840.1.114028.10.1.2" ,
"Entrust EV OID" ,
{
0 x73,
0 xC1,
0 x76,
0 x43,
0 x4F,
0 x1B,
0 xC6,
0 xD5,
0 xAD,
0 xF4,
0 x5B,
0 x0E,
0 x76,
0 xE7,
0 x27,
0 x28,
0 x7C,
0 x8D,
0 xE5,
0 x76,
0 x16,
0 xC1,
0 xE6,
0 xE6,
0 x14,
0 x1A,
0 x2B,
0 x2C,
0 xBC,
0 x7D,
0 x8E,
0 x4C },
"MIGwMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNRW50cnVzdCwgSW5jLjE5MDcGA1UE"
"CxMwd3d3LmVudHJ1c3QubmV0L0NQUyBpcyBpbmNvcnBvcmF0ZWQgYnkgcmVmZXJl"
"bmNlMR8wHQYDVQQLExYoYykgMjAwNiBFbnRydXN0LCBJbmMuMS0wKwYDVQQDEyRF"
"bnRydXN0IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHk=" ,
"RWtQVA==" ,
},
{
// CN=Entrust Root Certification Authority - G4,OU="(c) 2015 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US
"2.16.840.1.114028.10.1.2" ,
"Entrust EV OID" ,
{
0 xDB,
0 x35,
0 x17,
0 xD1,
0 xF6,
0 x73,
0 x2A,
0 x2D,
0 x5A,
0 xB9,
0 x7C,
0 x53,
0 x3E,
0 xC7,
0 x07,
0 x79,
0 xEE,
0 x32,
0 x70,
0 xA6,
0 x2F,
0 xB4,
0 xAC,
0 x42,
0 x38,
0 x37,
0 x24,
0 x60,
0 xE6,
0 xF0,
0 x1E,
0 x88 },
"MIG+MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNRW50cnVzdCwgSW5jLjEoMCYGA1UE"
"CxMfU2VlIHd3dy5lbnRydXN0Lm5ldC9sZWdhbC10ZXJtczE5MDcGA1UECxMwKGMp"
"IDIwMTUgRW50cnVzdCwgSW5jLiAtIGZvciBhdXRob3JpemVkIHVzZSBvbmx5MTIw"
"MAYDVQQDEylFbnRydXN0IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBH"
"NA==" ,
"ANm1Q3+vqTkPAAAAAFVlrVg=" ,
},
{
// CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{
0 xEB,
0 xD4,
0 x10,
0 x40,
0 xE4,
0 xBB,
0 x3E,
0 xC7,
0 x42,
0 xC9,
0 xE3,
0 x81,
0 xD3,
0 x1E,
0 xF2,
0 xA4,
0 x1A,
0 x48,
0 xB6,
0 x68,
0 x5C,
0 x96,
0 xE7,
0 xCE,
0 xF3,
0 xC1,
0 xDF,
0 x6C,
0 xD4,
0 x33,
0 x1C,
0 x99 },
"MFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYD"
"VQQLEwdSb290IENBMRswGQYDVQQDExJHbG9iYWxTaWduIFJvb3QgQ0E=" ,
"BAAAAAABFUtaw5Q=" ,
},
{
// CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R3
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{
0 xCB,
0 xB5,
0 x22,
0 xD7,
0 xB7,
0 xF1,
0 x27,
0 xAD,
0 x6A,
0 x01,
0 x13,
0 x86,
0 x5B,
0 xDF,
0 x1C,
0 xD4,
0 x10,
0 x2E,
0 x7D,
0 x07,
0 x59,
0 xAF,
0 x63,
0 x5A,
0 x7C,
0 xF4,
0 x72,
0 x0D,
0 xC9,
0 x63,
0 xC5,
0 x3B },
"MEwxIDAeBgNVBAsTF0dsb2JhbFNpZ24gUm9vdCBDQSAtIFIzMRMwEQYDVQQKEwpH"
"bG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu" ,
"BAAAAAABIVhTCKI=" ,
},
{
// CN=Buypass Class 3 Root CA,O=Buypass AS-983163327,C=NO
"2.16.578.1.26.1.3.3" ,
"Buypass EV OID" ,
{
0 xED,
0 xF7,
0 xEB,
0 xBC,
0 xA2,
0 x7A,
0 x2A,
0 x38,
0 x4D,
0 x38,
0 x7B,
0 x7D,
0 x40,
0 x10,
0 xC6,
0 x66,
0 xE2,
0 xED,
0 xB4,
0 x84,
0 x3E,
0 x4C,
0 x29,
0 xB4,
0 xAE,
0 x1D,
0 x5B,
0 x93,
0 x32,
0 xE6,
0 xB2,
0 x4D },
"ME4xCzAJBgNVBAYTAk5PMR0wGwYDVQQKDBRCdXlwYXNzIEFTLTk4MzE2MzMyNzEg"
"MB4GA1UEAwwXQnV5cGFzcyBDbGFzcyAzIFJvb3QgQ0E=" ,
"Ag==" ,
},
{
// CN=AffirmTrust Commercial,O=AffirmTrust,C=US
"1.3.6.1.4.1.34697.2.1" ,
"AffirmTrust EV OID a" ,
{
0 x03,
0 x76,
0 xAB,
0 x1D,
0 x54,
0 xC5,
0 xF9,
0 x80,
0 x3C,
0 xE4,
0 xB2,
0 xE2,
0 x01,
0 xA0,
0 xEE,
0 x7E,
0 xEF,
0 x7B,
0 x57,
0 xB6,
0 x36,
0 xE8,
0 xA9,
0 x3C,
0 x9B,
0 x8D,
0 x48,
0 x60,
0 xC9,
0 x6F,
0 x5F,
0 xA7 },
"MEQxCzAJBgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1UcnVzdDEfMB0GA1UEAwwW"
"QWZmaXJtVHJ1c3QgQ29tbWVyY2lhbA==" ,
"d3cGJyapsXw=" ,
},
{
// CN=AffirmTrust Networking,O=AffirmTrust,C=US
"1.3.6.1.4.1.34697.2.2" ,
"AffirmTrust EV OID b" ,
{
0 x0A,
0 x81,
0 xEC,
0 x5A,
0 x92,
0 x97,
0 x77,
0 xF1,
0 x45,
0 x90,
0 x4A,
0 xF3,
0 x8D,
0 x5D,
0 x50,
0 x9F,
0 x66,
0 xB5,
0 xE2,
0 xC5,
0 x8F,
0 xCD,
0 xB5,
0 x31,
0 x05,
0 x8B,
0 x0E,
0 x17,
0 xF3,
0 xF0,
0 xB4,
0 x1B },
"MEQxCzAJBgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1UcnVzdDEfMB0GA1UEAwwW"
"QWZmaXJtVHJ1c3QgTmV0d29ya2luZw==" ,
"fE8EORzUmS0=" ,
},
{
// CN=AffirmTrust Premium,O=AffirmTrust,C=US
"1.3.6.1.4.1.34697.2.3" ,
"AffirmTrust EV OID c" ,
{
0 x70,
0 xA7,
0 x3F,
0 x7F,
0 x37,
0 x6B,
0 x60,
0 x07,
0 x42,
0 x48,
0 x90,
0 x45,
0 x34,
0 xB1,
0 x14,
0 x82,
0 xD5,
0 xBF,
0 x0E,
0 x69,
0 x8E,
0 xCC,
0 x49,
0 x8D,
0 xF5,
0 x25,
0 x77,
0 xEB,
0 xF2,
0 xE9,
0 x3B,
0 x9A },
"MEExCzAJBgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1UcnVzdDEcMBoGA1UEAwwT"
"QWZmaXJtVHJ1c3QgUHJlbWl1bQ==" ,
"bYwURrGmCu4=" ,
},
{
// CN=AffirmTrust Premium ECC,O=AffirmTrust,C=US
"1.3.6.1.4.1.34697.2.4" ,
"AffirmTrust EV OID d" ,
{
0 xBD,
0 x71,
0 xFD,
0 xF6,
0 xDA,
0 x97,
0 xE4,
0 xCF,
0 x62,
0 xD1,
0 x64,
0 x7A,
0 xDD,
0 x25,
0 x81,
0 xB0,
0 x7D,
0 x79,
0 xAD,
0 xF8,
0 x39,
0 x7E,
0 xB4,
0 xEC,
0 xBA,
0 x9C,
0 x5E,
0 x84,
0 x88,
0 x82,
0 x14,
0 x23 },
"MEUxCzAJBgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1UcnVzdDEgMB4GA1UEAwwX"
"QWZmaXJtVHJ1c3QgUHJlbWl1bSBFQ0M=" ,
"dJclisc/elQ=" ,
},
{
// CN=Certum Trusted Network CA,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL
"1.2.616.1.113527.2.5.1.1" ,
"Certum EV OID" ,
{
0 x5C,
0 x58,
0 x46,
0 x8D,
0 x55,
0 xF5,
0 x8E,
0 x49,
0 x7E,
0 x74,
0 x39,
0 x82,
0 xD2,
0 xB5,
0 x00,
0 x10,
0 xB6,
0 xD1,
0 x65,
0 x37,
0 x4A,
0 xCF,
0 x83,
0 xA7,
0 xD4,
0 xA3,
0 x2D,
0 xB7,
0 x68,
0 xC4,
0 x40,
0 x8E },
"MH4xCzAJBgNVBAYTAlBMMSIwIAYDVQQKExlVbml6ZXRvIFRlY2hub2xvZ2llcyBT"
"LkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxIjAg"
"BgNVBAMTGUNlcnR1bSBUcnVzdGVkIE5ldHdvcmsgQ0E=" ,
"BETA" ,
},
{
// CN=Certum Trusted Network CA 2,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL
"1.2.616.1.113527.2.5.1.1" ,
"Certum EV OID" ,
{
0 xB6,
0 x76,
0 xF2,
0 xED,
0 xDA,
0 xE8,
0 x77,
0 x5C,
0 xD3,
0 x6C,
0 xB0,
0 xF6,
0 x3C,
0 xD1,
0 xD4,
0 x60,
0 x39,
0 x61,
0 xF4,
0 x9E,
0 x62,
0 x65,
0 xBA,
0 x01,
0 x3A,
0 x2F,
0 x03,
0 x07,
0 xB6,
0 xD0,
0 xB8,
0 x04 },
"MIGAMQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBUZWNobm9sb2dpZXMg"
"Uy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MSQw"
"IgYDVQQDExtDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBIDI=" ,
"IdbQSk8lD8kyN/yqXhKN6Q==" ,
},
{
// CN=Izenpe.com,O=IZENPE S.A.,C=ES
"1.3.6.1.4.1.14777.6.1.1" ,
"Izenpe EV OID 1" ,
{
0 x25,
0 x30,
0 xCC,
0 x8E,
0 x98,
0 x32,
0 x15,
0 x02,
0 xBA,
0 xD9,
0 x6F,
0 x9B,
0 x1F,
0 xBA,
0 x1B,
0 x09,
0 x9E,
0 x2D,
0 x29,
0 x9E,
0 x0F,
0 x45,
0 x48,
0 xBB,
0 x91,
0 x4F,
0 x36,
0 x3B,
0 xC0,
0 xD4,
0 x53,
0 x1F },
"MDgxCzAJBgNVBAYTAkVTMRQwEgYDVQQKDAtJWkVOUEUgUy5BLjETMBEGA1UEAwwK"
"SXplbnBlLmNvbQ==" ,
"ALC3WhZIX7/hy/WL1xnmfQ==" ,
},
{
// CN=Izenpe.com,O=IZENPE S.A.,C=ES
"1.3.6.1.4.1.14777.6.1.2" ,
"Izenpe EV OID 2" ,
{
0 x25,
0 x30,
0 xCC,
0 x8E,
0 x98,
0 x32,
0 x15,
0 x02,
0 xBA,
0 xD9,
0 x6F,
0 x9B,
0 x1F,
0 xBA,
0 x1B,
0 x09,
0 x9E,
0 x2D,
0 x29,
0 x9E,
0 x0F,
0 x45,
0 x48,
0 xBB,
0 x91,
0 x4F,
0 x36,
0 x3B,
0 xC0,
0 xD4,
0 x53,
0 x1F },
"MDgxCzAJBgNVBAYTAkVTMRQwEgYDVQQKDAtJWkVOUEUgUy5BLjETMBEGA1UEAwwK"
"SXplbnBlLmNvbQ==" ,
"ALC3WhZIX7/hy/WL1xnmfQ==" ,
},
{
// CN=T-TeleSec GlobalRoot Class 3,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE
"1.3.6.1.4.1.7879.13.24.1" ,
"T-Systems EV OID" ,
{
0 xFD,
0 x73,
0 xDA,
0 xD3,
0 x1C,
0 x64,
0 x4F,
0 xF1,
0 xB4,
0 x3B,
0 xEF,
0 x0C,
0 xCD,
0 xDA,
0 x96,
0 x71,
0 x0B,
0 x9C,
0 xD9,
0 x87,
0 x5E,
0 xCA,
0 x7E,
0 x31,
0 x70,
0 x7A,
0 xF3,
0 xE9,
0 x6D,
0 x52,
0 x2B,
0 xBD },
"MIGCMQswCQYDVQQGEwJERTErMCkGA1UECgwiVC1TeXN0ZW1zIEVudGVycHJpc2Ug"
"U2VydmljZXMgR21iSDEfMB0GA1UECwwWVC1TeXN0ZW1zIFRydXN0IENlbnRlcjEl"
"MCMGA1UEAwwcVC1UZWxlU2VjIEdsb2JhbFJvb3QgQ2xhc3MgMw==" ,
"AQ==" ,
},
{
// CN=TWCA Root Certification Authority,OU=Root CA,O=TAIWAN-CA,C=TW
"1.3.6.1.4.1.40869.1.1.22.3" ,
"TWCA EV OID" ,
{
0 xBF,
0 xD8,
0 x8F,
0 xE1,
0 x10,
0 x1C,
0 x41,
0 xAE,
0 x3E,
0 x80,
0 x1B,
0 xF8,
0 xBE,
0 x56,
0 x35,
0 x0E,
0 xE9,
0 xBA,
0 xD1,
0 xA6,
0 xB9,
0 xBD,
0 x51,
0 x5E,
0 xDC,
0 x5C,
0 x6D,
0 x5B,
0 x87,
0 x11,
0 xAC,
0 x44 },
"MF8xCzAJBgNVBAYTAlRXMRIwEAYDVQQKDAlUQUlXQU4tQ0ExEDAOBgNVBAsMB1Jv"
"b3QgQ0ExKjAoBgNVBAMMIVRXQ0EgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0"
"eQ==" ,
"AQ==" ,
},
{
// CN=D-TRUST Root Class 3 CA 2 EV 2009,O=D-Trust GmbH,C=DE
"1.3.6.1.4.1.4788.2.202.1" ,
"D-TRUST EV OID" ,
{
0 xEE,
0 xC5,
0 x49,
0 x6B,
0 x98,
0 x8C,
0 xE9,
0 x86,
0 x25,
0 xB9,
0 x34,
0 x09,
0 x2E,
0 xEC,
0 x29,
0 x08,
0 xBE,
0 xD0,
0 xB0,
0 xF3,
0 x16,
0 xC2,
0 xD4,
0 x73,
0 x0C,
0 x84,
0 xEA,
0 xF1,
0 xF3,
0 xD3,
0 x48,
0 x81 },
"MFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNVBAMM"
"IUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAwOQ==" ,
"CYP0" ,
},
{
// CN = TWCA Global Root CA, OU = Root CA, O = TAIWAN-CA, C = TW
"1.3.6.1.4.1.40869.1.1.22.3" ,
"TWCA EV OID" ,
{
0 x59,
0 x76,
0 x90,
0 x07,
0 xF7,
0 x68,
0 x5D,
0 x0F,
0 xCD,
0 x50,
0 x87,
0 x2F,
0 x9F,
0 x95,
0 xD5,
0 x75,
0 x5A,
0 x5B,
0 x2B,
0 x45,
0 x7D,
0 x81,
0 xF3,
0 x69,
0 x2B,
0 x61,
0 x0A,
0 x98,
0 x67,
0 x2F,
0 x0E,
0 x1B },
"MFExCzAJBgNVBAYTAlRXMRIwEAYDVQQKEwlUQUlXQU4tQ0ExEDAOBgNVBAsTB1Jv"
"b3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3QgQ0E=" ,
"DL4=" ,
},
{
// CN=Actalis Authentication Root CA,O=Actalis S.p.A./03358520967,L=Milan,C=IT
"1.3.159.1.17.1" ,
"Actalis EV OID" ,
{
0 x55,
0 x92,
0 x60,
0 x84,
0 xEC,
0 x96,
0 x3A,
0 x64,
0 xB9,
0 x6E,
0 x2A,
0 xBE,
0 x01,
0 xCE,
0 x0B,
0 xA8,
0 x6A,
0 x64,
0 xFB,
0 xFE,
0 xBC,
0 xC7,
0 xAA,
0 xB5,
0 xAF,
0 xC1,
0 x55,
0 xB3,
0 x7F,
0 xD7,
0 x60,
0 x66 },
"MGsxCzAJBgNVBAYTAklUMQ4wDAYDVQQHDAVNaWxhbjEjMCEGA1UECgwaQWN0YWxp"
"cyBTLnAuQS4vMDMzNTg1MjA5NjcxJzAlBgNVBAMMHkFjdGFsaXMgQXV0aGVudGlj"
"YXRpb24gUm9vdCBDQQ==" ,
"VwoRl0LE48w=" ,
},
{
// CN=DigiCert Assured ID Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US
"2.16.840.1.114412.2.1" ,
"DigiCert EV OID" ,
{
0 x7D,
0 x05,
0 xEB,
0 xB6,
0 x82,
0 x33,
0 x9F,
0 x8C,
0 x94,
0 x51,
0 xEE,
0 x09,
0 x4E,
0 xEB,
0 xFE,
0 xFA,
0 x79,
0 x53,
0 xA1,
0 x14,
0 xED,
0 xB2,
0 xF4,
0 x49,
0 x49,
0 x45,
0 x2F,
0 xAB,
0 x7D,
0 x2F,
0 xC1,
0 x85 },
"MGUxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsT"
"EHd3dy5kaWdpY2VydC5jb20xJDAiBgNVBAMTG0RpZ2lDZXJ0IEFzc3VyZWQgSUQg"
"Um9vdCBHMg==" ,
"C5McOtY5Z+pnI7/Dr5r0Sw==" ,
},
{
// CN=DigiCert Assured ID Root G3,OU=www.digicert.com,O=DigiCert Inc,C=US
"2.16.840.1.114412.2.1" ,
"DigiCert EV OID" ,
{
0 x7E,
0 x37,
0 xCB,
0 x8B,
0 x4C,
0 x47,
0 x09,
0 x0C,
0 xAB,
0 x36,
0 x55,
0 x1B,
0 xA6,
0 xF4,
0 x5D,
0 xB8,
0 x40,
0 x68,
0 x0F,
0 xBA,
0 x16,
0 x6A,
0 x95,
0 x2D,
0 xB1,
0 x00,
0 x71,
0 x7F,
0 x43,
0 x05,
0 x3F,
0 xC2 },
"MGUxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsT"
"EHd3dy5kaWdpY2VydC5jb20xJDAiBgNVBAMTG0RpZ2lDZXJ0IEFzc3VyZWQgSUQg"
"Um9vdCBHMw==" ,
"C6Fa+h3foLVJRK/NJKBs7A==" ,
},
{
// CN=DigiCert Global Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US
"2.16.840.1.114412.2.1" ,
"DigiCert EV OID" ,
{
0 xCB,
0 x3C,
0 xCB,
0 xB7,
0 x60,
0 x31,
0 xE5,
0 xE0,
0 x13,
0 x8F,
0 x8D,
0 xD3,
0 x9A,
0 x23,
0 xF9,
0 xDE,
0 x47,
0 xFF,
0 xC3,
0 x5E,
0 x43,
0 xC1,
0 x14,
0 x4C,
0 xEA,
0 x27,
0 xD4,
0 x6A,
0 x5A,
0 xB1,
0 xCB,
0 x5F },
"MGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsT"
"EHd3dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290"
"IEcy" ,
"Azrx5qcRqaC7KGSxHQn65Q==" ,
},
{
// CN=DigiCert Global Root G3,OU=www.digicert.com,O=DigiCert Inc,C=US
"2.16.840.1.114412.2.1" ,
"DigiCert EV OID" ,
{
0 x31,
0 xAD,
0 x66,
0 x48,
0 xF8,
0 x10,
0 x41,
0 x38,
0 xC7,
0 x38,
0 xF3,
0 x9E,
0 xA4,
0 x32,
0 x01,
0 x33,
0 x39,
0 x3E,
0 x3A,
0 x18,
0 xCC,
0 x02,
0 x29,
0 x6E,
0 xF9,
0 x7C,
0 x2A,
0 xC9,
0 xEF,
0 x67,
0 x31,
0 xD0 },
"MGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsT"
"EHd3dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290"
"IEcz" ,
"BVVWvPJepDU1w6QP1atFcg==" ,
},
{
// CN=DigiCert Trusted Root G4,OU=www.digicert.com,O=DigiCert Inc,C=US
"2.16.840.1.114412.2.1" ,
"DigiCert EV OID" ,
{
0 x55,
0 x2F,
0 x7B,
0 xDC,
0 xF1,
0 xA7,
0 xAF,
0 x9E,
0 x6C,
0 xE6,
0 x72,
0 x01,
0 x7F,
0 x4F,
0 x12,
0 xAB,
0 xF7,
0 x72,
0 x40,
0 xC7,
0 x8E,
0 x76,
0 x1A,
0 xC2,
0 x03,
0 xD1,
0 xD9,
0 xD2,
0 x0A,
0 xC8,
0 x99,
0 x88 },
"MGIxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsT"
"EHd3dy5kaWdpY2VydC5jb20xITAfBgNVBAMTGERpZ2lDZXJ0IFRydXN0ZWQgUm9v"
"dCBHNA==" ,
"BZsbV56OITLiOQe9p3d1XA==" ,
},
{
// CN=DigiCert TLS RSA4096 Root G5,O="DigiCert, Inc.",C=US
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{
0 x37,
0 x1A,
0 x00,
0 xDC,
0 x05,
0 x33,
0 xB3,
0 x72,
0 x1A,
0 x7E,
0 xEB,
0 x40,
0 xE8,
0 x41,
0 x9E,
0 x70,
0 x79,
0 x9D,
0 x2B,
0 x0A,
0 x0F,
0 x2C,
0 x1D,
0 x80,
0 x69,
0 x31,
0 x65,
0 xF7,
0 xCE,
0 xC4,
0 xAD,
0 x75 },
"ME0xCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjElMCMGA1UE"
"AxMcRGlnaUNlcnQgVExTIFJTQTQwOTYgUm9vdCBHNQ==" ,
"CPm0eKj6ftpqMzeJ3nzPig==" ,
},
{
// CN=DigiCert TLS ECC P384 Root G5,O="DigiCert, Inc.",C=US
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{
0 x01,
0 x8E,
0 x13,
0 xF0,
0 x77,
0 x25,
0 x32,
0 xCF,
0 x80,
0 x9B,
0 xD1,
0 xB1,
0 x72,
0 x81,
0 x86,
0 x72,
0 x83,
0 xFC,
0 x48,
0 xC6,
0 xE1,
0 x3B,
0 xE9,
0 xC6,
0 x98,
0 x12,
0 x85,
0 x4A,
0 x49,
0 x0C,
0 x1B,
0 x05 },
"ME4xCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjEmMCQGA1UE"
"AxMdRGlnaUNlcnQgVExTIEVDQyBQMzg0IFJvb3QgRzU=" ,
"CeCTZaz32ci5PhwLBCou8w==" ,
},
{
// CN=QuoVadis Root CA 2 G3,O=QuoVadis Limited,C=BM
"1.3.6.1.4.1.8024.0.2.100.1.2" ,
"QuoVadis EV OID" ,
{
0 x8F,
0 xE4,
0 xFB,
0 x0A,
0 xF9,
0 x3A,
0 x4D,
0 x0D,
0 x67,
0 xDB,
0 x0B,
0 xEB,
0 xB2,
0 x3E,
0 x37,
0 xC7,
0 x1B,
0 xF3,
0 x25,
0 xDC,
0 xBC,
0 xDD,
0 x24,
0 x0E,
0 xA0,
0 x4D,
0 xAF,
0 x58,
0 xB4,
0 x7E,
0 x18,
0 x40 },
"MEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYD"
"VQQDExVRdW9WYWRpcyBSb290IENBIDIgRzM=" ,
"RFc0JFuBiZs18s64KztbpybwdSg=" ,
},
{
// CN=COMODO RSA Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB
"1.3.6.1.4.1.6449.1.2.1.5.1" ,
"Comodo EV OID" ,
{
0 x52,
0 xF0,
0 xE1,
0 xC4,
0 xE5,
0 x8E,
0 xC6,
0 x29,
0 x29,
0 x1B,
0 x60,
0 x31,
0 x7F,
0 x07,
0 x46,
0 x71,
0 xB8,
0 x5D,
0 x7E,
0 xA8,
0 x0D,
0 x5B,
0 x07,
0 x27,
0 x34,
0 x63,
0 x53,
0 x4B,
0 x32,
0 xB4,
0 x02,
0 x34 },
"MIGFMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAw"
"DgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01PRE8gQ0EgTGltaXRlZDErMCkG"
"A1UEAxMiQ09NT0RPIFJTQSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eQ==" ,
"TKr5yttjb+Af907YWwOGnQ==" ,
},
{
// CN=USERTrust RSA Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US
"1.3.6.1.4.1.6449.1.2.1.5.1" ,
"Comodo EV OID" ,
{
0 xE7,
0 x93,
0 xC9,
0 xB0,
0 x2F,
0 xD8,
0 xAA,
0 x13,
0 xE2,
0 x1C,
0 x31,
0 x22,
0 x8A,
0 xCC,
0 xB0,
0 x81,
0 x19,
0 x64,
0 x3B,
0 x74,
0 x9C,
0 x89,
0 x89,
0 x64,
0 xB1,
0 x74,
0 x6D,
0 x46,
0 xC3,
0 xD4,
0 xCB,
0 xD2 },
"MIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxML"
"SmVyc2V5IENpdHkxHjAcBgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwG"
"A1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eQ==" ,
"Af1tMPyjylGoG7xkDjUDLQ==" ,
},
{
// CN=USERTrust ECC Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US
"1.3.6.1.4.1.6449.1.2.1.5.1" ,
"Comodo EV OID" ,
{
0 x4F,
0 xF4,
0 x60,
0 xD5,
0 x4B,
0 x9C,
0 x86,
0 xDA,
0 xBF,
0 xBC,
0 xFC,
0 x57,
0 x12,
0 xE0,
0 x40,
0 x0D,
0 x2B,
0 xED,
0 x3F,
0 xBC,
0 x4D,
0 x4F,
0 xBD,
0 xAA,
0 x86,
0 xE0,
0 x6A,
0 xDC,
0 xD2,
0 xA9,
0 xAD,
0 x7A },
"MIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxML"
"SmVyc2V5IENpdHkxHjAcBgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwG"
"A1UEAxMlVVNFUlRydXN0IEVDQyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eQ==" ,
"XIuZxVqUxdJxVt7NiYDMJg==" ,
},
{
// CN=GlobalSign,O=GlobalSign,OU=GlobalSign ECC Root CA - R5
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{
0 x17,
0 x9F,
0 xBC,
0 x14,
0 x8A,
0 x3D,
0 xD0,
0 x0F,
0 xD2,
0 x4E,
0 xA1,
0 x34,
0 x58,
0 xCC,
0 x43,
0 xBF,
0 xA7,
0 xF5,
0 x9C,
0 x81,
0 x82,
0 xD7,
0 x83,
0 xA5,
0 x13,
0 xF6,
0 xEB,
0 xEC,
0 x10,
0 x0C,
0 x89,
0 x24 },
"MFAxJDAiBgNVBAsTG0dsb2JhbFNpZ24gRUNDIFJvb3QgQ0EgLSBSNTETMBEGA1UE"
"ChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbg==" ,
"YFlJ4CYuu1X5CneKcflK2Gw=" ,
},
{
// CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R6
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{
0 x2C,
0 xAB,
0 xEA,
0 xFE,
0 x37,
0 xD0,
0 x6C,
0 xA2,
0 x2A,
0 xBA,
0 x73,
0 x91,
0 xC0,
0 x03,
0 x3D,
0 x25,
0 x98,
0 x29,
0 x52,
0 xC4,
0 x53,
0 x64,
0 x73,
0 x49,
0 x76,
0 x3A,
0 x3A,
0 xB5,
0 xAD,
0 x6C,
0 xCF,
0 x69 },
"MEwxIDAeBgNVBAsTF0dsb2JhbFNpZ24gUm9vdCBDQSAtIFI2MRMwEQYDVQQKEwpH"
"bG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu" ,
"Rea7A4Mzw4VlSOb/RVE=" ,
},
{
// CN=Entrust.net Certification Authority (2048),OU=(c) 1999 Entrust.net Limited,OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.),O=Entrust.net
"2.16.840.1.114028.10.1.2" ,
"Entrust EV OID" ,
{
0 x6D,
0 xC4,
0 x71,
0 x72,
0 xE0,
0 x1C,
0 xBC,
0 xB0,
0 xBF,
0 x62,
0 x58,
0 x0D,
0 x89,
0 x5F,
0 xE2,
0 xB8,
0 xAC,
0 x9A,
0 xD4,
0 xF8,
0 x73,
0 x80,
0 x1E,
0 x0C,
0 x10,
0 xB9,
0 xC8,
0 x37,
0 xD2,
0 x1E,
0 xB1,
0 x77 },
"MIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3LmVudHJ1c3Qu"
"bmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMG"
"A1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50"
"cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgp" ,
"OGPe+A==" ,
},
{
// CN=Entrust Root Certification Authority - G2,OU="(c) 2009 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US
"2.16.840.1.114028.10.1.2" ,
"Entrust EV OID" ,
{
0 x43,
0 xDF,
0 x57,
0 x74,
0 xB0,
0 x3E,
0 x7F,
0 xEF,
0 x5F,
0 xE4,
0 x0D,
0 x93,
0 x1A,
0 x7B,
0 xED,
0 xF1,
0 xBB,
0 x2E,
0 x6B,
0 x42,
0 x73,
0 x8C,
0 x4E,
0 x6D,
0 x38,
0 x41,
0 x10,
0 x3D,
0 x3A,
0 xA7,
0 xF3,
0 x39 },
"MIG+MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNRW50cnVzdCwgSW5jLjEoMCYGA1UE"
"CxMfU2VlIHd3dy5lbnRydXN0Lm5ldC9sZWdhbC10ZXJtczE5MDcGA1UECxMwKGMp"
"IDIwMDkgRW50cnVzdCwgSW5jLiAtIGZvciBhdXRob3JpemVkIHVzZSBvbmx5MTIw"
"MAYDVQQDEylFbnRydXN0IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBH"
"Mg==" ,
"SlOMKA==" ,
},
{
// CN=Entrust Root Certification Authority - EC1,OU="(c) 2012 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US
"2.16.840.1.114028.10.1.2" ,
"Entrust EV OID" ,
{
0 x02,
0 xED,
0 x0E,
0 xB2,
0 x8C,
0 x14,
0 xDA,
0 x45,
0 x16,
0 x5C,
0 x56,
0 x67,
0 x91,
0 x70,
0 x0D,
0 x64,
0 x51,
0 xD7,
0 xFB,
0 x56,
0 xF0,
0 xB2,
0 xAB,
0 x1D,
0 x3B,
0 x8E,
0 xB0,
0 x70,
0 xE5,
0 x6E,
0 xDF,
0 xF5 },
"MIG/MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNRW50cnVzdCwgSW5jLjEoMCYGA1UE"
"CxMfU2VlIHd3dy5lbnRydXN0Lm5ldC9sZWdhbC10ZXJtczE5MDcGA1UECxMwKGMp"
"IDIwMTIgRW50cnVzdCwgSW5jLiAtIGZvciBhdXRob3JpemVkIHVzZSBvbmx5MTMw"
"MQYDVQQDEypFbnRydXN0IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBF"
"QzE=" ,
"AKaLeSkAAAAAUNCR+Q==" ,
},
{
// CN=CFCA EV ROOT,O=China Financial Certification Authority,C=CN
"2.16.156.112554.3" ,
"CFCA EV OID" ,
{
0 x5C,
0 xC3,
0 xD7,
0 x8E,
0 x4E,
0 x1D,
0 x5E,
0 x45,
0 x54,
0 x7A,
0 x04,
0 xE6,
0 x87,
0 x3E,
0 x64,
0 xF9,
0 x0C,
0 xF9,
0 x53,
0 x6D,
0 x1C,
0 xCC,
0 x2E,
0 xF8,
0 x00,
0 xF3,
0 x55,
0 xC4,
0 xC5,
0 xFD,
0 x70,
0 xFD },
"MFYxCzAJBgNVBAYTAkNOMTAwLgYDVQQKDCdDaGluYSBGaW5hbmNpYWwgQ2VydGlm"
"aWNhdGlvbiBBdXRob3JpdHkxFTATBgNVBAMMDENGQ0EgRVYgUk9PVA==" ,
"GErM1g==" ,
},
{
// OU=Security Communication RootCA2,O="SECOM Trust Systems CO.,LTD.",C=JP
"1.2.392.200091.100.721.1" ,
"SECOM EV OID" ,
{
0 x51,
0 x3B,
0 x2C,
0 xEC,
0 xB8,
0 x10,
0 xD4,
0 xCD,
0 xE5,
0 xDD,
0 x85,
0 x39,
0 x1A,
0 xDF,
0 xC6,
0 xC2,
0 xDD,
0 x60,
0 xD8,
0 x7B,
0 xB7,
0 x36,
0 xD2,
0 xB5,
0 x21,
0 x48,
0 x4A,
0 xA4,
0 x7A,
0 x0E,
0 xBE,
0 xF6 },
"MF0xCzAJBgNVBAYTAkpQMSUwIwYDVQQKExxTRUNPTSBUcnVzdCBTeXN0ZW1zIENP"
"LixMVEQuMScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTI=" ,
"AA==" ,
},
{
// CN=OISTE WISeKey Global Root GB CA,OU=OISTE Foundation Endorsed,O=WISeKey,C=CH
"2.16.756.5.14.7.4.8" ,
"WISeKey EV OID" ,
{
0 x6B,
0 x9C,
0 x08,
0 xE8,
0 x6E,
0 xB0,
0 xF7,
0 x67,
0 xCF,
0 xAD,
0 x65,
0 xCD,
0 x98,
0 xB6,
0 x21,
0 x49,
0 xE5,
0 x49,
0 x4A,
0 x67,
0 xF5,
0 x84,
0 x5E,
0 x7B,
0 xD1,
0 xED,
0 x01,
0 x9F,
0 x27,
0 xB8,
0 x6B,
0 xD6 },
"MG0xCzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQLExlPSVNU"
"RSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEds"
"b2JhbCBSb290IEdCIENB" ,
"drEgUnTwhYdGs/gjGvbCwA==" ,
},
{
// CN=Amazon Root CA 1,O=Amazon,C=US
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{
0 x8E,
0 xCD,
0 xE6,
0 x88,
0 x4F,
0 x3D,
0 x87,
0 xB1,
0 x12,
0 x5B,
0 xA3,
0 x1A,
0 xC3,
0 xFC,
0 xB1,
0 x3D,
0 x70,
0 x16,
0 xDE,
0 x7F,
0 x57,
0 xCC,
0 x90,
0 x4F,
0 xE1,
0 xCB,
0 x97,
0 xC6,
0 xAE,
0 x98,
0 x19,
0 x6E },
"MDkxCzAJBgNVBAYTAlVTMQ8wDQYDVQQKEwZBbWF6b24xGTAXBgNVBAMTEEFtYXpv"
"biBSb290IENBIDE=" ,
"Bmyfz5m/jAo54vB4ikPmljZbyg==" ,
},
{
// CN=Amazon Root CA 2,O=Amazon,C=US
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{
0 x1B,
0 xA5,
0 xB2,
0 xAA,
0 x8C,
0 x65,
0 x40,
0 x1A,
0 x82,
0 x96,
0 x01,
0 x18,
0 xF8,
0 x0B,
0 xEC,
0 x4F,
0 x62,
0 x30,
0 x4D,
0 x83,
0 xCE,
0 xC4,
0 x71,
0 x3A,
0 x19,
0 xC3,
0 x9C,
0 x01,
0 x1E,
0 xA4,
0 x6D,
0 xB4 },
"MDkxCzAJBgNVBAYTAlVTMQ8wDQYDVQQKEwZBbWF6b24xGTAXBgNVBAMTEEFtYXpv"
"biBSb290IENBIDI=" ,
"Bmyf0pY1hp8KD+WGePhbJruKNw==" ,
},
{
// CN=Amazon Root CA 3,O=Amazon,C=US
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{
0 x18,
0 xCE,
0 x6C,
0 xFE,
0 x7B,
0 xF1,
0 x4E,
0 x60,
0 xB2,
0 xE3,
0 x47,
0 xB8,
0 xDF,
0 xE8,
0 x68,
0 xCB,
0 x31,
0 xD0,
0 x2E,
0 xBB,
0 x3A,
0 xDA,
0 x27,
0 x15,
0 x69,
0 xF5,
0 x03,
0 x43,
0 xB4,
0 x6D,
0 xB3,
0 xA4 },
"MDkxCzAJBgNVBAYTAlVTMQ8wDQYDVQQKEwZBbWF6b24xGTAXBgNVBAMTEEFtYXpv"
"biBSb290IENBIDM=" ,
"Bmyf1XSXNmY/Owua2eiedgPySg==" ,
},
{
// CN=Amazon Root CA 4,O=Amazon,C=US
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{
0 xE3,
0 x5D,
0 x28,
0 x41,
0 x9E,
0 xD0,
0 x20,
0 x25,
0 xCF,
0 xA6,
0 x90,
0 x38,
0 xCD,
0 x62,
0 x39,
0 x62,
0 x45,
0 x8D,
0 xA5,
0 xC6,
0 x95,
0 xFB,
0 xDE,
0 xA3,
0 xC2,
0 x2B,
0 x0B,
0 xFB,
0 x25,
0 x89,
0 x70,
0 x92 },
"MDkxCzAJBgNVBAYTAlVTMQ8wDQYDVQQKEwZBbWF6b24xGTAXBgNVBAMTEEFtYXpv"
"biBSb290IENBIDQ=" ,
"Bmyf18G7EEwpQ+Vxe3ssyBrBDg==" ,
},
{
// CN=Starfield Services Root Certificate Authority - G2,O="Starfield Technologies, Inc.",L=Scottsdale,ST=Arizona,C=US
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{
0 x56,
0 x8D,
0 x69,
0 x05,
0 xA2,
0 xC8,
0 x87,
0 x08,
0 xA4,
0 xB3,
0 x02,
0 x51,
0 x90,
0 xED,
0 xCF,
0 xED,
0 xB1,
0 x97,
0 x4A,
0 x60,
0 x6A,
0 x13,
0 xC6,
0 xE5,
0 x29,
0 x0F,
0 xCB,
0 x2A,
0 xE6,
0 x3E,
0 xDA,
0 xB5 },
"MIGYMQswCQYDVQQGEwJVUzEQMA4GA1UECBMHQXJpem9uYTETMBEGA1UEBxMKU2Nv"
"dHRzZGFsZTElMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjE7"
"MDkGA1UEAxMyU3RhcmZpZWxkIFNlcnZpY2VzIFJvb3QgQ2VydGlmaWNhdGUgQXV0"
"aG9yaXR5IC0gRzI=" ,
"AA==" ,
},
{
// CN=GDCA TrustAUTH R5 ROOT,O="GUANG DONG CERTIFICATE AUTHORITY CO.,LTD.",C=CN
"1.2.156.112559.1.1.6.1" ,
"GDCA EV OID" ,
{
0 xBF,
0 xFF,
0 x8F,
0 xD0,
0 x44,
0 x33,
0 x48,
0 x7D,
0 x6A,
0 x8A,
0 xA6,
0 x0C,
0 x1A,
0 x29,
0 x76,
0 x7A,
0 x9F,
0 xC2,
0 xBB,
0 xB0,
0 x5E,
0 x42,
0 x0F,
0 x71,
0 x3A,
0 x13,
0 xB9,
0 x92,
0 x89,
0 x1D,
0 x38,
0 x93 },
"MGIxCzAJBgNVBAYTAkNOMTIwMAYDVQQKDClHVUFORyBET05HIENFUlRJRklDQVRF"
"IEFVVEhPUklUWSBDTy4sTFRELjEfMB0GA1UEAwwWR0RDQSBUcnVzdEFVVEggUjUg"
"Uk9PVA==" ,
"fQmX/vBH6no=" ,
},
{
// CN=SSL.com EV Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{
0 x22,
0 xA2,
0 xC1,
0 xF7,
0 xBD,
0 xED,
0 x70,
0 x4C,
0 xC1,
0 xE7,
0 x01,
0 xB5,
0 xF4,
0 x08,
0 xC3,
0 x10,
0 x88,
0 x0F,
0 xE9,
0 x56,
0 xB5,
0 xDE,
0 x2A,
0 x4A,
0 x44,
0 xF9,
0 x9C,
0 x87,
0 x3A,
0 x25,
0 xA7,
0 xC8 },
"MH8xCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3Rv"
"bjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTQwMgYDVQQDDCtTU0wuY29tIEVW"
"IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgRUND" ,
"LCmcWxbtBZU=" ,
},
{
// CN=SSL.com EV Root Certification Authority RSA R2,O=SSL Corporation,L=Houston,ST=Texas,C=US
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{
0 x2E,
0 x7B,
0 xF1,
0 x6C,
0 xC2,
0 x24,
0 x85,
0 xA7,
0 xBB,
0 xE2,
0 xAA,
0 x86,
0 x96,
0 x75,
0 x07,
0 x61,
0 xB0,
0 xAE,
0 x39,
0 xBE,
0 x3B,
0 x2F,
0 xE9,
0 xD0,
0 xCC,
0 x6D,
0 x4E,
0 xF7,
0 x34,
0 x91,
0 x42,
0 x5C },
"MIGCMQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0"
"b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjE3MDUGA1UEAwwuU1NMLmNvbSBF"
"ViBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFJTQSBSMg==" ,
"VrYpzTS8ePY=" ,
},
{
// CN=SSL.com TLS ECC Root CA 2022,O=SSL Corporation,C=US
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{
0 xC3,
0 x2F,
0 xFD,
0 x9F,
0 x46,
0 xF9,
0 x36,
0 xD1,
0 x6C,
0 x36,
0 x73,
0 x99,
0 x09,
0 x59,
0 x43,
0 x4B,
0 x9A,
0 xD6,
0 x0A,
0 xAF,
0 xBB,
0 x9E,
0 x7C,
0 xF3,
0 x36,
0 x54,
0 xF1,
0 x44,
0 xCC,
0 x1B,
0 xA1,
0 x43 },
"ME4xCzAJBgNVBAYTAlVTMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24xJTAjBgNV"
"BAMMHFNTTC5jb20gVExTIEVDQyBSb290IENBIDIwMjI=" ,
"FAP1q/s3ixdAW+JDsqXRxA==" ,
},
{
// CN=SSL.com TLS RSA Root CA 2022,O=SSL Corporation,C=US
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{
0 x8F,
0 xAF,
0 x7D,
0 x2E,
0 x2C,
0 xB4,
0 x70,
0 x9B,
0 xB8,
0 xE0,
0 xB3,
0 x36,
0 x66,
0 xBF,
0 x75,
0 xA5,
0 xDD,
0 x45,
0 xB5,
0 xDE,
0 x48,
0 x0F,
0 x8E,
0 xA8,
0 xD4,
0 xBF,
0 xE6,
0 xBE,
0 xBC,
0 x17,
0 xF2,
0 xED },
"ME4xCzAJBgNVBAYTAlVTMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24xJTAjBgNV"
"BAMMHFNTTC5jb20gVExTIFJTQSBSb290IENBIDIwMjI=" ,
"b77arXO9CEDii02+1PdbkQ==" ,
},
{
// CN=UCA Extended Validation Root,O=UniTrust,C=CN
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{
0 xD4,
0 x3A,
0 xF9,
0 xB3,
0 x54,
0 x73,
0 x75,
0 x5C,
0 x96,
0 x84,
0 xFC,
0 x06,
0 xD7,
0 xD8,
0 xCB,
0 x70,
0 xEE,
0 x5C,
0 x28,
0 xE7,
0 x73,
0 xFB,
0 x29,
0 x4E,
0 xB4,
0 x1E,
0 xE7,
0 x17,
0 x22,
0 x92,
0 x4D,
0 x24 },
"MEcxCzAJBgNVBAYTAkNOMREwDwYDVQQKDAhVbmlUcnVzdDElMCMGA1UEAwwcVUNB"
"IEV4dGVuZGVkIFZhbGlkYXRpb24gUm9vdA==" ,
"T9Irj/VkyDOeTzRYZiNwYA==" ,
},
{
// CN=Hongkong Post Root CA 3,O=Hongkong Post,L=Hong Kong,ST=Hong Kong,C=HK
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{
0 x5A,
0 x2F,
0 xC0,
0 x3F,
0 x0C,
0 x83,
0 xB0,
0 x90,
0 xBB,
0 xFA,
0 x40,
0 x60,
0 x4B,
0 x09,
0 x88,
0 x44,
0 x6C,
0 x76,
0 x36,
0 x18,
0 x3D,
0 xF9,
0 x84,
0 x6E,
0 x17,
0 x10,
0 x1A,
0 x44,
0 x7F,
0 xB8,
0 xEF,
0 xD6 },
"MG8xCzAJBgNVBAYTAkhLMRIwEAYDVQQIEwlIb25nIEtvbmcxEjAQBgNVBAcTCUhv"
"bmcgS29uZzEWMBQGA1UEChMNSG9uZ2tvbmcgUG9zdDEgMB4GA1UEAxMXSG9uZ2tv"
"bmcgUG9zdCBSb290IENBIDM=" ,
"CBZfikyl7ADJk0DfxMauI7gcWqQ=" ,
},
{
// CN=emSign Root CA - G1,O=eMudhra Technologies Limited,OU=emSign PKI,C=IN
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{
0 x40,
0 xF6,
0 xAF,
0 x03,
0 x46,
0 xA9,
0 x9A,
0 xA1,
0 xCD,
0 x1D,
0 x55,
0 x5A,
0 x4E,
0 x9C,
0 xCE,
0 x62,
0 xC7,
0 xF9,
0 x63,
0 x46,
0 x03,
0 xEE,
0 x40,
0 x66,
0 x15,
0 x83,
0 x3D,
0 xC8,
0 xC8,
0 xD0,
0 x03,
0 x67 },
"MGcxCzAJBgNVBAYTAklOMRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxl"
"TXVkaHJhIFRlY2hub2xvZ2llcyBMaW1pdGVkMRwwGgYDVQQDExNlbVNpZ24gUm9v"
"dCBDQSAtIEcx" ,
"MfXkYgxsWO3W2A==" ,
},
{
// CN=emSign ECC Root CA - G3,O=eMudhra Technologies Limited,OU=emSign PKI,C=IN
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{
0 x86,
0 xA1,
0 xEC,
0 xBA,
0 x08,
0 x9C,
0 x4A,
0 x8D,
0 x3B,
0 xBE,
0 x27,
0 x34,
0 xC6,
0 x12,
0 xBA,
0 x34,
0 x1D,
0 x81,
0 x3E,
0 x04,
0 x3C,
0 xF9,
0 xE8,
0 xA8,
0 x62,
0 xCD,
0 x5C,
0 x57,
0 xA3,
0 x6B,
0 xBE,
0 x6B },
"MGsxCzAJBgNVBAYTAklOMRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxl"
"TXVkaHJhIFRlY2hub2xvZ2llcyBMaW1pdGVkMSAwHgYDVQQDExdlbVNpZ24gRUND"
"IFJvb3QgQ0EgLSBHMw==" ,
"PPYHqWhwDtqLhA==" ,
},
{
// CN=emSign Root CA - C1,O=eMudhra Inc,OU=emSign PKI,C=US
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{
0 x12,
0 x56,
0 x09,
0 xAA,
0 x30,
0 x1D,
0 xA0,
0 xA2,
0 x49,
0 xB9,
0 x7A,
0 x82,
0 x39,
0 xCB,
0 x6A,
0 x34,
0 x21,
0 x6F,
0 x44,
0 xDC,
0 xAC,
0 x9F,
0 x39,
0 x54,
0 xB1,
0 x42,
0 x92,
0 xF2,
0 xE8,
0 xC8,
0 x60,
0 x8F },
"MFYxCzAJBgNVBAYTAlVTMRMwEQYDVQQLEwplbVNpZ24gUEtJMRQwEgYDVQQKEwtl"
"TXVkaHJhIEluYzEcMBoGA1UEAxMTZW1TaWduIFJvb3QgQ0EgLSBDMQ==" ,
"AK7PALrEzzL4Q7I=" ,
},
{
// CN=emSign ECC Root CA - C3,O=eMudhra Inc,OU=emSign PKI,C=US
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{
0 xBC,
0 x4D,
0 x80,
0 x9B,
0 x15,
0 x18,
0 x9D,
0 x78,
0 xDB,
0 x3E,
0 x1D,
0 x8C,
0 xF4,
0 xF9,
0 x72,
0 x6A,
0 x79,
0 x5D,
0 xA1,
0 x64,
0 x3C,
0 xA5,
0 xF1,
0 x35,
0 x8E,
0 x1D,
0 xDB,
0 x0E,
0 xDC,
0 x0D,
0 x7E,
0 xB3 },
"MFoxCzAJBgNVBAYTAlVTMRMwEQYDVQQLEwplbVNpZ24gUEtJMRQwEgYDVQQKEwtl"
"TXVkaHJhIEluYzEgMB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0gQzM=" ,
"e3G2gla4EnycqA==" ,
},
{
// OU=certSIGN ROOT CA G2,O=CERTSIGN SA,C=RO
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{
0 x65,
0 x7C,
0 xFE,
0 x2F,
0 xA7,
0 x3F,
0 xAA,
0 x38,
0 x46,
0 x25,
0 x71,
0 xF3,
0 x32,
0 xA2,
0 x36,
0 x3A,
0 x46,
0 xFC,
0 xE7,
0 x02,
0 x09,
0 x51,
0 x71,
0 x07,
0 x02,
0 xCD,
0 xFB,
0 xB6,
0 xEE,
0 xDA,
0 x33,
0 x05 },
"MEExCzAJBgNVBAYTAlJPMRQwEgYDVQQKEwtDRVJUU0lHTiBTQTEcMBoGA1UECxMT"
"Y2VydFNJR04gUk9PVCBDQSBHMg==" ,
"EQA0tk7GNi02" ,
},
{
// CN=IdenTrust Commercial Root CA 1,O=IdenTrust,C=US
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{
0 x5D,
0 x56,
0 x49,
0 x9B,
0 xE4,
0 xD2,
0 xE0,
0 x8B,
0 xCF,
0 xCA,
0 xD0,
0 x8A,
0 x3E,
0 x38,
0 x72,
0 x3D,
0 x50,
0 x50,
0 x3B,
0 xDE,
0 x70,
0 x69,
0 x48,
0 xE4,
0 x2F,
0 x55,
0 x60,
0 x30,
0 x19,
0 xE5,
0 x28,
0 xAE },
"MEoxCzAJBgNVBAYTAlVTMRIwEAYDVQQKEwlJZGVuVHJ1c3QxJzAlBgNVBAMTHklk"
"ZW5UcnVzdCBDb21tZXJjaWFsIFJvb3QgQ0EgMQ==" ,
"CgFCgAAAAUUjyES1AAAAAg==" ,
},
{
// CN=Trustwave Global Certification Authority,O="Trustwave Holdings, Inc.",L=Chicago,ST=Illinois,C=US
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{
0 x97,
0 x55,
0 x20,
0 x15,
0 xF5,
0 xDD,
0 xFC,
0 x3C,
0 x87,
0 x88,
0 xC0,
0 x06,
0 x94,
0 x45,
0 x55,
0 x40
, 0 x88, 0 x94, 0 x45, 0 x00, 0 x84, 0 xF1, 0 x00, 0 x86, 0 x70, 0 x86, 0 xBC, 0 x1A, 0 x2B, 0 xB5, 0 x8D, 0 xC8 },
"MIGIMQswCQYDVQQGEwJVUzERMA8GA1UECAwISWxsaW5vaXMxEDAOBgNVBAcMB0No"
"aWNhZ28xITAfBgNVBAoMGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5jLjExMC8GA1UE"
"AwwoVHJ1c3R3YXZlIEdsb2JhbCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eQ==" ,
"BfcOhtpJ80Y1Lrqy" ,
},
{
// CN=Trustwave Global ECC P256 Certification Authority,O="Trustwave Holdings, Inc.",L=Chicago,ST=Illinois,C=US
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{ 0 x94, 0 x5B, 0 xBC, 0 x82, 0 x5E, 0 xA5, 0 x54, 0 xF4, 0 x89, 0 xD1, 0 xFD, 0 x51, 0 xA7, 0 x3D, 0 xDF, 0 x2E, 0 xA6, 0 x24, 0 xAC, 0 x70, 0 x19, 0 xA0, 0 x52, 0 x05, 0 x22, 0 x5C, 0 x22, 0 xA7, 0 x8C, 0 xCF, 0 xA8, 0 xB4 },
"MIGRMQswCQYDVQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0No"
"aWNhZ28xITAfBgNVBAoTGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UE"
"AxMxVHJ1c3R3YXZlIEdsb2JhbCBFQ0MgUDI1NiBDZXJ0aWZpY2F0aW9uIEF1dGhv"
"cml0eQ==" ,
"DWpfCD8oXD5Rld9d" ,
},
{
// CN=Trustwave Global ECC P384 Certification Authority,O="Trustwave Holdings, Inc.",L=Chicago,ST=Illinois,C=US
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{ 0 x55, 0 x90, 0 x38, 0 x59, 0 xC8, 0 xC0, 0 xC3, 0 xEB, 0 xB8, 0 x75, 0 x9E, 0 xCE, 0 x4E, 0 x25, 0 x57, 0 x22, 0 x5F, 0 xF5, 0 x75, 0 x8B, 0 xBD, 0 x38, 0 xEB, 0 xD4, 0 x82, 0 x76, 0 x60, 0 x1E, 0 x1B, 0 xD5, 0 x80, 0 x97 },
"MIGRMQswCQYDVQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0No"
"aWNhZ28xITAfBgNVBAoTGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UE"
"AxMxVHJ1c3R3YXZlIEdsb2JhbCBFQ0MgUDM4NCBDZXJ0aWZpY2F0aW9uIEF1dGhv"
"cml0eQ==" ,
"CL2Fl2yZJ6SAaEc7" ,
},
{
// CN=GlobalSign Root R46,O=GlobalSign nv-sa,C=BE
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{ 0 x4F, 0 xA3, 0 x12, 0 x6D, 0 x8D, 0 x3A, 0 x11, 0 xD1, 0 xC4, 0 x85, 0 x5A, 0 x4F, 0 x80, 0 x7C, 0 xBA, 0 xD6, 0 xCF, 0 x91, 0 x9D, 0 x3A, 0 x5A, 0 x88, 0 xB0, 0 x3B, 0 xEA, 0 x2C, 0 x63, 0 x72, 0 xD9, 0 x3C, 0 x40, 0 xC9 },
"MEYxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYD"
"VQQDExNHbG9iYWxTaWduIFJvb3QgUjQ2" ,
"EdK7udcjGJ5AXwqdLdDfJWfR" ,
},
{
// CN=GlobalSign Root E46,O=GlobalSign nv-sa,C=BE
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{ 0 xCB, 0 xB9, 0 xC4, 0 x4D, 0 x84, 0 xB8, 0 x04, 0 x3E, 0 x10, 0 x50, 0 xEA, 0 x31, 0 xA6, 0 x9F, 0 x51, 0 x49, 0 x55, 0 xD7, 0 xBF, 0 xD2, 0 xE2, 0 xC6, 0 xB4, 0 x93, 0 x01, 0 x01, 0 x9A, 0 xD6, 0 x1D, 0 x9F, 0 x50, 0 x58 },
"MEYxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYD"
"VQQDExNHbG9iYWxTaWduIFJvb3QgRTQ2" ,
"EdK7ujNu1LzmJGjFDYQdmOhD" ,
},
{
// "CN=AC RAIZ FNMT-RCM SERVIDORES SEGUROS,OID.2.5.4.97=VATES-Q2826004J,OU=Ceres,O=FNMT-RCM,C=E
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{ 0 x55, 0 x41, 0 x53, 0 xB1, 0 x3D, 0 x2C, 0 xF9, 0 xDD, 0 xB7, 0 x53, 0 xBF, 0 xBE, 0 x1A, 0 x4E, 0 x0A, 0 xE0, 0 x8D, 0 x0A, 0 xA4, 0 x18, 0 x70, 0 x58, 0 xFE, 0 x60, 0 xA2, 0 xB8, 0 x62, 0 xB2, 0 xE4, 0 xB8, 0 x7B, 0 xCB },
"MHgxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEOMAwGA1UECwwFQ2Vy"
"ZXMxGDAWBgNVBGEMD1ZBVEVTLVEyODI2MDA0SjEsMCoGA1UEAwwjQUMgUkFJWiBG"
"Tk1ULVJDTSBTRVJWSURPUkVTIFNFR1VST1M=" ,
"YvYybOXE42hcG2LdnC6dlQ==" ,
},
{
// CN=GLOBALTRUST 2020,O=e-commerce monitoring GmbH,C=AT
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{ 0 x9A, 0 x29, 0 x6A, 0 x51, 0 x82, 0 xD1, 0 xD4, 0 x51, 0 xA2, 0 xE3, 0 x7F, 0 x43, 0 x9B, 0 x74, 0 xDA, 0 xAF, 0 xA2, 0 x67, 0 x52, 0 x33, 0 x29, 0 xF9, 0 x0F, 0 x9A, 0 x0D, 0 x20, 0 x07, 0 xC3, 0 x34, 0 xE2, 0 x3C, 0 x9A },
"ME0xCzAJBgNVBAYTAkFUMSMwIQYDVQQKExplLWNvbW1lcmNlIG1vbml0b3Jpbmcg"
"R21iSDEZMBcGA1UEAxMQR0xPQkFMVFJVU1QgMjAyMA==" ,
"Wku9WvtPilv6ZeU=" ,
},
{
// CN=Certum Extended Validation ECC CA,OU=Certum Certification Authority,O=Asseco Data Systems S.A.,C=PL
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{ 0 x6B, 0 x32, 0 x80, 0 x85, 0 x62, 0 x53, 0 x18, 0 xAA, 0 x50, 0 xD1, 0 x73, 0 xC9, 0 x8D, 0 x8B, 0 xDA, 0 x09, 0 xD5, 0 x7E, 0 x27, 0 x41, 0 x3D, 0 x11, 0 x4C, 0 xF7, 0 x87, 0 xA0, 0 xF5, 0 xD0, 0 x6C, 0 x03, 0 x0C, 0 xF6 },
"MHQxCzAJBgNVBAYTAlBMMSEwHwYDVQQKExhBc3NlY28gRGF0YSBTeXN0ZW1zIFMu"
"QS4xJzAlBgNVBAsTHkNlcnR1bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEZMBcG"
"A1UEAxMQQ2VydHVtIEVDLTM4NCBDQQ==" ,
"eI8nXIESUiClBNAt3bpz9A==" ,
},
{
// CN=Certum Extended Validation RSA CA,OU=Certum Certification Authority,O=Asseco Data Systems S.A.,C=PL
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{ 0 xFE, 0 x76, 0 x96, 0 x57, 0 x38, 0 x55, 0 x77, 0 x3E, 0 x37, 0 xA9, 0 x5E, 0 x7A, 0 xD4, 0 xD9, 0 xCC, 0 x96, 0 xC3, 0 x01, 0 x57, 0 xC1, 0 x5D, 0 x31, 0 x76, 0 x5B, 0 xA9, 0 xB1, 0 x57, 0 x04, 0 xE1, 0 xAE, 0 x78, 0 xFD },
"MHoxCzAJBgNVBAYTAlBMMSEwHwYDVQQKExhBc3NlY28gRGF0YSBTeXN0ZW1zIFMu"
"QS4xJzAlBgNVBAsTHkNlcnR1bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEfMB0G"
"A1UEAxMWQ2VydHVtIFRydXN0ZWQgUm9vdCBDQQ==" ,
"Hr9ZULjJgDdMBvfrVU+17Q==" ,
},
{
// CN=ANF Secure Server Root CA,OU=ANF CA Raiz,O=ANF Autoridad de Certificacion,C=ES,serialNumber=G63287510
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{ 0 xFB, 0 x8F, 0 xEC, 0 x75, 0 x91, 0 x69, 0 xB9, 0 x10, 0 x6B, 0 x1E, 0 x51, 0 x16, 0 x44, 0 xC6, 0 x18, 0 xC5, 0 x13, 0 x04, 0 x37, 0 x3F, 0 x6C, 0 x06, 0 x43, 0 x08, 0 x8D, 0 x8B, 0 xEF, 0 xFD, 0 x1B, 0 x99, 0 x75, 0 x99 },
"MIGEMRIwEAYDVQQFEwlHNjMyODc1MTAxCzAJBgNVBAYTAkVTMScwJQYDVQQKEx5B"
"TkYgQXV0b3JpZGFkIGRlIENlcnRpZmljYWNpb24xFDASBgNVBAsTC0FORiBDQSBS"
"YWl6MSIwIAYDVQQDExlBTkYgU2VjdXJlIFNlcnZlciBSb290IENB" ,
"DdPjvGz5a7E=" ,
},
{
// CN=Hellenic Academic and Research Institutions ECC RootCA 2015,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{ 0 x44, 0 xB5, 0 x45, 0 xAA, 0 x8A, 0 x25, 0 xE6, 0 x5A, 0 x73, 0 xCA, 0 x15,
0 xDC, 0 x27, 0 xFC, 0 x36, 0 xD2, 0 x4C, 0 x1C, 0 xB9, 0 x95, 0 x3A, 0 x06,
0 x65, 0 x39, 0 xB1, 0 x15, 0 x82, 0 xDC, 0 x48, 0 x7B, 0 x48, 0 x33 },
"MIGqMQswCQYDVQQGEwJHUjEPMA0GA1UEBxMGQXRoZW5zMUQwQgYDVQQKEztIZWxs"
"ZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIENlcnQuIEF1"
"dGhvcml0eTFEMEIGA1UEAxM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNo"
"IEluc3RpdHV0aW9ucyBFQ0MgUm9vdENBIDIwMTU=" ,
"AA==" ,
},
{
// CN=Hellenic Academic and Research Institutions RootCA 2015,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{ 0 xA0, 0 x40, 0 x92, 0 x9A, 0 x02, 0 xCE, 0 x53, 0 xB4, 0 xAC, 0 xF4, 0 xF2,
0 xFF, 0 xC6, 0 x98, 0 x1C, 0 xE4, 0 x49, 0 x6F, 0 x75, 0 x5E, 0 x6D, 0 x45,
0 xFE, 0 x0B, 0 x2A, 0 x69, 0 x2B, 0 xCD, 0 x52, 0 x52, 0 x3F, 0 x36 },
"MIGmMQswCQYDVQQGEwJHUjEPMA0GA1UEBxMGQXRoZW5zMUQwQgYDVQQKEztIZWxs"
"ZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIENlcnQuIEF1"
"dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNo"
"IEluc3RpdHV0aW9ucyBSb290Q0EgMjAxNQ==" ,
"AA==" ,
},
{
// CN=HARICA TLS RSA Root CA 2021,O=Hellenic Academic and Research Institutions CA,C=GR
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{ 0 xD9, 0 x5D, 0 x0E, 0 x8E, 0 xDA, 0 x79, 0 x52, 0 x5B, 0 xF9, 0 xBE, 0 xB1,
0 x1B, 0 x14, 0 xD2, 0 x10, 0 x0D, 0 x32, 0 x94, 0 x98, 0 x5F, 0 x0C, 0 x62,
0 xD9, 0 xFA, 0 xBD, 0 x9C, 0 xD9, 0 x99, 0 xEC, 0 xCB, 0 x7B, 0 x1D },
"MGwxCzAJBgNVBAYTAkdSMTcwNQYDVQQKDC5IZWxsZW5pYyBBY2FkZW1pYyBhbmQg"
"UmVzZWFyY2ggSW5zdGl0dXRpb25zIENBMSQwIgYDVQQDDBtIQVJJQ0EgVExTIFJT"
"QSBSb290IENBIDIwMjE=" ,
"OcqTHO9D88aOk8f0ZIk4fg==" ,
},
{
// CN=HARICA TLS ECC Root CA 2021,O=Hellenic Academic and Research Institutions CA,C=GR
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{ 0 x3F, 0 x99, 0 xCC, 0 x47, 0 x4A, 0 xCF, 0 xCE, 0 x4D, 0 xFE, 0 xD5, 0 x87,
0 x94, 0 x66, 0 x5E, 0 x47, 0 x8D, 0 x15, 0 x47, 0 x73, 0 x9F, 0 x2E, 0 x78,
0 x0F, 0 x1B, 0 xB4, 0 xCA, 0 x9B, 0 x13, 0 x30, 0 x97, 0 xD4, 0 x01 },
"MGwxCzAJBgNVBAYTAkdSMTcwNQYDVQQKDC5IZWxsZW5pYyBBY2FkZW1pYyBhbmQg"
"UmVzZWFyY2ggSW5zdGl0dXRpb25zIENBMSQwIgYDVQQDDBtIQVJJQ0EgVExTIEVD"
"QyBSb290IENBIDIwMjE=" ,
"Z3SdjXfYO2rbIvT/WeK/zg==" ,
},
{
// CN=vTrus Root CA,O="iTrusChina Co.,Ltd.",C=CN
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{ 0 x8A, 0 x71, 0 xDE, 0 x65, 0 x59, 0 x33, 0 x6F, 0 x42, 0 x6C, 0 x26, 0 xE5,
0 x38, 0 x80, 0 xD0, 0 x0D, 0 x88, 0 xA1, 0 x8D, 0 xA4, 0 xC6, 0 xA9, 0 x1F,
0 x0D, 0 xCB, 0 x61, 0 x94, 0 xE2, 0 x06, 0 xC5, 0 xC9, 0 x63, 0 x87 },
"MEMxCzAJBgNVBAYTAkNOMRwwGgYDVQQKExNpVHJ1c0NoaW5hIENvLixMdGQuMRYw"
"FAYDVQQDEw12VHJ1cyBSb290IENB" ,
"Q+NxE9izWRRdt86M/TX9b7wFjUU=" ,
},
{
// CN=vTrus ECC Root CA,O="iTrusChina Co.,Ltd.",C=CN
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{ 0 x30, 0 xFB, 0 xBA, 0 x2C, 0 x32, 0 x23, 0 x8E, 0 x2A, 0 x98, 0 x54, 0 x7A,
0 xF9, 0 x79, 0 x31, 0 xE5, 0 x50, 0 x42, 0 x8B, 0 x9B, 0 x3F, 0 x1C, 0 x8E,
0 xEB, 0 x66, 0 x33, 0 xDC, 0 xFA, 0 x86, 0 xC5, 0 xB2, 0 x7D, 0 xD3 },
"MEcxCzAJBgNVBAYTAkNOMRwwGgYDVQQKExNpVHJ1c0NoaW5hIENvLixMdGQuMRow"
"GAYDVQQDExF2VHJ1cyBFQ0MgUm9vdCBDQQ==" ,
"bmq8WapTvpg5Z6LSa6Q75m0c1to=" ,
},
{
// CN=Autoridad de Certificacion Firmaprofesional CIF A62634068,C=ES
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{ 0 x57, 0 xDE, 0 x05, 0 x83, 0 xEF, 0 xD2, 0 xB2, 0 x6E, 0 x03, 0 x61, 0 xDA,
0 x99, 0 xDA, 0 x9D, 0 xF4, 0 x64, 0 x8D, 0 xEF, 0 x7E, 0 xE8, 0 x44, 0 x1C,
0 x3B, 0 x72, 0 x8A, 0 xFA, 0 x9B, 0 xCD, 0 xE0, 0 xF9, 0 xB2, 0 x6A },
"MFExCzAJBgNVBAYTAkVTMUIwQAYDVQQDDDlBdXRvcmlkYWQgZGUgQ2VydGlmaWNh"
"Y2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBBNjI2MzQwNjg=" ,
"G3Dp0v+ubHE=" ,
},
{
// CN=NetLock Arany (Class Gold) Főtanúsítvány,OU=Tanúsítványkiadók (Certification Services),O=NetLock Kft.,L=Budapest,C=HU
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{ 0 x6C, 0 x61, 0 xDA, 0 xC3, 0 xA2, 0 xDE, 0 xF0, 0 x31, 0 x50, 0 x6B, 0 xE0,
0 x36, 0 xD2, 0 xA6, 0 xFE, 0 x40, 0 x19, 0 x94, 0 xFB, 0 xD1, 0 x3D, 0 xF9,
0 xC8, 0 xD4, 0 x66, 0 x59, 0 x92, 0 x74, 0 xC4, 0 x46, 0 xEC, 0 x98 },
"MIGnMQswCQYDVQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5l"
"dExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610dsOhbnlraWFkw7NrIChDZXJ0"
"aWZpY2F0aW9uIFNlcnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBBcmFueSAoQ2xh"
"c3MgR29sZCkgRsWRdGFuw7pzw610dsOhbnk=" ,
"SUEs5AAQ" ,
},
{
// CN=D-TRUST EV Root CA 1 2020,O=D-Trust GmbH,C=DE
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{ 0 x08, 0 x17, 0 x0D, 0 x1A, 0 xA3, 0 x64, 0 x53, 0 x90, 0 x1A, 0 x2F, 0 x95,
0 x92, 0 x45, 0 xE3, 0 x47, 0 xDB, 0 x0C, 0 x8D, 0 x37, 0 xAB, 0 xAA, 0 xBC,
0 x56, 0 xB8, 0 x1A, 0 xA1, 0 x00, 0 xDC, 0 x95, 0 x89, 0 x70, 0 xDB },
"MEgxCzAJBgNVBAYTAkRFMRUwEwYDVQQKEwxELVRydXN0IEdtYkgxIjAgBgNVBAMT"
"GUQtVFJVU1QgRVYgUm9vdCBDQSAxIDIwMjA=" ,
"XwJB13qHfEwDo6yWjfv/0A==" ,
},
{
// CN=BJCA Global Root CA1,O=BEIJING CERTIFICATE AUTHORITY,C=CN
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{ 0 xF3, 0 x89, 0 x6F, 0 x88, 0 xFE, 0 x7C, 0 x0A, 0 x88, 0 x27, 0 x66, 0 xA7,
0 xFA, 0 x6A, 0 xD2, 0 x74, 0 x9F, 0 xB5, 0 x7A, 0 x7F, 0 x3E, 0 x98, 0 xFB,
0 x76, 0 x9C, 0 x1F, 0 xA7, 0 xB0, 0 x9C, 0 x2C, 0 x44, 0 xD5, 0 xAE },
"MFQxCzAJBgNVBAYTAkNOMSYwJAYDVQQKDB1CRUlKSU5HIENFUlRJRklDQVRFIEFV"
"VEhPUklUWTEdMBsGA1UEAwwUQkpDQSBHbG9iYWwgUm9vdCBDQTE=" ,
"VW9l47TZkGobCdFsPsBsIA==" ,
},
{
// CN=BJCA Global Root CA2,O=BEIJING CERTIFICATE AUTHORITY,C=CN
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{ 0 x57, 0 x4D, 0 xF6, 0 x93, 0 x1E, 0 x27, 0 x80, 0 x39, 0 x66, 0 x7B, 0 x72,
0 x0A, 0 xFD, 0 xC1, 0 x60, 0 x0F, 0 xC2, 0 x7E, 0 xB6, 0 x6D, 0 xD3, 0 x09,
0 x29, 0 x79, 0 xFB, 0 x73, 0 x85, 0 x64, 0 x87, 0 x21, 0 x28, 0 x82 },
"MFQxCzAJBgNVBAYTAkNOMSYwJAYDVQQKDB1CRUlKSU5HIENFUlRJRklDQVRFIEFV"
"VEhPUklUWTEdMBsGA1UEAwwUQkpDQSBHbG9iYWwgUm9vdCBDQTI=" ,
"LBcIfWQqwP6FGFkGz7RK6w==" ,
},
{
// CN=Sectigo Public Server Authentication Root E46,O=Sectigo Limited,C=GB
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{ 0 xC9, 0 x0F, 0 x26, 0 xF0, 0 xFB, 0 x1B, 0 x40, 0 x18, 0 xB2, 0 x22, 0 x27,
0 x51, 0 x9B, 0 x5C, 0 xA2, 0 xB5, 0 x3E, 0 x2C, 0 xA5, 0 xB3, 0 xBE, 0 x5C,
0 xF1, 0 x8E, 0 xFE, 0 x1B, 0 xEF, 0 x47, 0 x38, 0 x0C, 0 x53, 0 x83 },
"MF8xCzAJBgNVBAYTAkdCMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxNjA0BgNV"
"BAMTLVNlY3RpZ28gUHVibGljIFNlcnZlciBBdXRoZW50aWNhdGlvbiBSb290IEU0"
"Ng==" ,
"QvLM2htpN0RfFf51KBC49A==" ,
},
{
// CN=Sectigo Public Server Authentication Root R46,O=Sectigo Limited,C=GB
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{ 0 x7B, 0 xB6, 0 x47, 0 xA6, 0 x2A, 0 xEE, 0 xAC, 0 x88, 0 xBF, 0 x25, 0 x7A,
0 xA5, 0 x22, 0 xD0, 0 x1F, 0 xFE, 0 xA3, 0 x95, 0 xE0, 0 xAB, 0 x45, 0 xC7,
0 x3F, 0 x93, 0 xF6, 0 x56, 0 x54, 0 xEC, 0 x38, 0 xF2, 0 x5A, 0 x06 },
"MF8xCzAJBgNVBAYTAkdCMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxNjA0BgNV"
"BAMTLVNlY3RpZ28gUHVibGljIFNlcnZlciBBdXRoZW50aWNhdGlvbiBSb290IFI0"
"Ng==" ,
"dY39i658BwD6qSWn4cetFA==" ,
},
{
// CN=TrustAsia Global Root CA G3,O="TrustAsia Technologies, Inc.",C=CN
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{ 0 xE0, 0 xD3, 0 x22, 0 x6A, 0 xEB, 0 x11, 0 x63, 0 xC2, 0 xE4, 0 x8F, 0 xF9,
0 xBE, 0 x3B, 0 x50, 0 xB4, 0 xC6, 0 x43, 0 x1B, 0 xE7, 0 xBB, 0 x1E, 0 xAC,
0 xC5, 0 xC3, 0 x6B, 0 x5D, 0 x5E, 0 xC5, 0 x09, 0 x03, 0 x9A, 0 x08 },
"MFoxCzAJBgNVBAYTAkNOMSUwIwYDVQQKDBxUcnVzdEFzaWEgVGVjaG5vbG9naWVz"
"LCBJbmMuMSQwIgYDVQQDDBtUcnVzdEFzaWEgR2xvYmFsIFJvb3QgQ0EgRzM=" ,
"ZPYOZXdhaqs7tOqFhLuxibhxkw8=" ,
},
{
// CN=TrustAsia Global Root CA G4,O="TrustAsia Technologies, Inc.",C=CN
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{ 0 xBE, 0 x4B, 0 x56, 0 xCB, 0 x50, 0 x56, 0 xC0, 0 x13, 0 x6A, 0 x52, 0 x6D,
0 xF4, 0 x44, 0 x50, 0 x8D, 0 xAA, 0 x36, 0 xA0, 0 xB5, 0 x4F, 0 x42, 0 xE4,
0 xAC, 0 x38, 0 xF7, 0 x2A, 0 xF4, 0 x70, 0 xE4, 0 x79, 0 x65, 0 x4C },
"MFoxCzAJBgNVBAYTAkNOMSUwIwYDVQQKDBxUcnVzdEFzaWEgVGVjaG5vbG9naWVz"
"LCBJbmMuMSQwIgYDVQQDDBtUcnVzdEFzaWEgR2xvYmFsIFJvb3QgQ0EgRzQ=" ,
"TyNkuI6XY57GU4HBdk7LKnQV1tc=" ,
},
{
// CN=Telekom Security TLS ECC Root 2020,O=Deutsche Telekom Security GmbH,C=DE
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{ 0 x57, 0 x8A, 0 xF4, 0 xDE, 0 xD0, 0 x85, 0 x3F, 0 x4E, 0 x59, 0 x98, 0 xDB,
0 x4A, 0 xEA, 0 xF9, 0 xCB, 0 xEA, 0 x8D, 0 x94, 0 x5F, 0 x60, 0 xB6, 0 x20,
0 xA3, 0 x8D, 0 x1A, 0 x3C, 0 x13, 0 xB2, 0 xBC, 0 x7B, 0 xA8, 0 xE1 },
"MGMxCzAJBgNVBAYTAkRFMScwJQYDVQQKDB5EZXV0c2NoZSBUZWxla29tIFNlY3Vy"
"aXR5IEdtYkgxKzApBgNVBAMMIlRlbGVrb20gU2VjdXJpdHkgVExTIEVDQyBSb290"
"IDIwMjA=" ,
"NjqWjMlcsljN0AFdxeVXAA==" ,
},
{
// CN=Telekom Security TLS RSA Root 2023,O=Deutsche Telekom Security GmbH,C=DE
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{ 0 xEF, 0 xC6, 0 x5C, 0 xAD, 0 xBB, 0 x59, 0 xAD, 0 xB6, 0 xEF, 0 xE8, 0 x4D,
0 xA2, 0 x23, 0 x11, 0 xB3, 0 x56, 0 x24, 0 xB7, 0 x1B, 0 x3B, 0 x1E, 0 xA0,
0 xDA, 0 x8B, 0 x66, 0 x55, 0 x17, 0 x4E, 0 xC8, 0 x97, 0 x86, 0 x46 },
"MGMxCzAJBgNVBAYTAkRFMScwJQYDVQQKDB5EZXV0c2NoZSBUZWxla29tIFNlY3Vy"
"aXR5IEdtYkgxKzApBgNVBAMMIlRlbGVrb20gU2VjdXJpdHkgVExTIFJTQSBSb290"
"IDIwMjM=" ,
"IZxULej27HF3+k7ow3BXlw==" ,
},
{
// CN=FIRMAPROFESIONAL CA ROOT-A WEB,OID.2.5.4.97=VATES-A62634068,O=Firmaprofesional SA,C=ES
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{ 0 xBE, 0 xF2, 0 x56, 0 xDA, 0 xF2, 0 x6E, 0 x9C, 0 x69, 0 xBD, 0 xEC, 0 x16,
0 x02, 0 x35, 0 x97, 0 x98, 0 xF3, 0 xCA, 0 xF7, 0 x18, 0 x21, 0 xA0, 0 x3E,
0 x01, 0 x82, 0 x57, 0 xC5, 0 x3C, 0 x65, 0 x61, 0 x7F, 0 x3D, 0 x4A },
"MG4xCzAJBgNVBAYTAkVTMRwwGgYDVQQKDBNGaXJtYXByb2Zlc2lvbmFsIFNBMRgw"
"FgYDVQRhDA9WQVRFUy1BNjI2MzQwNjgxJzAlBgNVBAMMHkZJUk1BUFJPRkVTSU9O"
"QUwgQ0EgUk9PVC1BIFdFQg==" ,
"MZch7a+JQn81QYehZ1ZMbQ==" ,
},
{
// CN=SecureSign Root CA12,O="Cybertrust Japan Co., Ltd.",C=JP
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{ 0 x3F, 0 x03, 0 x4B, 0 xB5, 0 x70, 0 x4D, 0 x44, 0 xB2, 0 xD0, 0 x85, 0 x45,
0 xA0, 0 x20, 0 x57, 0 xDE, 0 x93, 0 xEB, 0 xF3, 0 x90, 0 x5F, 0 xCE, 0 x72,
0 x1A, 0 xCB, 0 xC7, 0 x30, 0 xC0, 0 x6D, 0 xDA, 0 xEE, 0 x90, 0 x4E },
"MFExCzAJBgNVBAYTAkpQMSMwIQYDVQQKExpDeWJlcnRydXN0IEphcGFuIENvLiwg"
"THRkLjEdMBsGA1UEAxMUU2VjdXJlU2lnbiBSb290IENBMTI=" ,
"ZvnHwa/swlG07VOX5uaCwysckBY=" ,
},
{
// CN=SecureSign Root CA14,O="Cybertrust Japan Co., Ltd.",C=JP
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{ 0 x4B, 0 x00, 0 x9C, 0 x10, 0 x34, 0 x49, 0 x4F, 0 x9A, 0 xB5, 0 x6B, 0 xBA,
0 x3B, 0 xA1, 0 xD6, 0 x27, 0 x31, 0 xFC, 0 x4D, 0 x20, 0 xD8, 0 x95, 0 x5A,
0 xDC, 0 xEC, 0 x10, 0 xA9, 0 x25, 0 x60, 0 x72, 0 x61, 0 xE3, 0 x38 },
"MFExCzAJBgNVBAYTAkpQMSMwIQYDVQQKExpDeWJlcnRydXN0IEphcGFuIENvLiwg"
"THRkLjEdMBsGA1UEAxMUU2VjdXJlU2lnbiBSb290IENBMTQ=" ,
"ZNtaDCBO6Ncpd8hQJ6JaJ90t8ss=" ,
},
{
// CN=SecureSign Root CA15,O="Cybertrust Japan Co., Ltd.",C=JP
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{ 0 xE7, 0 x78, 0 xF0, 0 xF0, 0 x95, 0 xFE, 0 x84, 0 x37, 0 x29, 0 xCD, 0 x1A,
0 x00, 0 x82, 0 x17, 0 x9E, 0 x53, 0 x14, 0 xA9, 0 xC2, 0 x91, 0 x44, 0 x28,
0 x05, 0 xE1, 0 xFB, 0 x1D, 0 x8F, 0 xB6, 0 xB8, 0 x88, 0 x6C, 0 x3A },
"MFExCzAJBgNVBAYTAkpQMSMwIQYDVQQKExpDeWJlcnRydXN0IEphcGFuIENvLiwg"
"THRkLjEdMBsGA1UEAxMUU2VjdXJlU2lnbiBSb290IENBMTU=" ,
"FhXHw9hJp75pDIqI7fBw+d23Poc=" ,
},
{
// CN=TWCA CYBER Root CA,OU=Root CA,O=TAIWAN-CA,C=TW
"2.23.140.1.1" ,
"CA/Browser Forum EV OID" ,
{ 0 x3F, 0 x63, 0 xBB, 0 x28, 0 x14, 0 xBE, 0 x17, 0 x4E, 0 xC8, 0 xB6, 0 x43,
0 x9C, 0 xF0, 0 x8D, 0 x6D, 0 x56, 0 xF0, 0 xB7, 0 xC4, 0 x05, 0 x88, 0 x3A,
0 x56, 0 x48, 0 xA3, 0 x34, 0 x42, 0 x4D, 0 x6B, 0 x3E, 0 xC5, 0 x58 },
"MFAxCzAJBgNVBAYTAlRXMRIwEAYDVQQKEwlUQUlXQU4tQ0ExEDAOBgNVBAsTB1Jv"
"b3QgQ0ExGzAZBgNVBAMTElRXQ0EgQ1lCRVIgUm9vdCBDQQ==" ,
"QAE0jMIAAAAAAAAAATzyxg==" ,
},
// clang-format on
};
static pkix::CertPolicyId sEVInfoIds[std::size(kEVInfos)];
static_assert(
std::size(sEVInfoIds) == std::size(kEVInfos),
"These arrays are used in parallel and must have the same length." );
static pkix::CertPolicyId sCABForumEVId = {};
bool CertIsAuthoritativeForEVPolicy(const nsTArray<uint8_t>& certBytes,
const pkix::CertPolicyId& policy) {
nsTArray<uint8_t> fingerprint;
nsresult rv = Digest::DigestBuf(SEC_OID_SHA256, certBytes.Elements(),
certBytes.Length(), fingerprint);
if (NS_FAILED(rv)) {
return false ;
}
if (fingerprint.Length() != SHA256_LENGTH) {
return false ;
}
for (size_t i = 0 ; i < std::size(kEVInfos); ++i) {
const EVInfo& entry = kEVInfos[i];
// This check ensures that only the specific roots we approve for EV get
// that status, and not certs (roots or otherwise) that happen to have an
// OID that's already been approved for EV.
if (!ArrayEqual(&fingerprint[0 ], &entry.sha256Fingerprint[0 ],
SHA256_LENGTH)) {
continue ;
}
if (policy == sCABForumEVId || policy == sEVInfoIds[i]) {
return true ;
}
}
return false ;
}
nsresult LoadExtendedValidationInfo() {
static const char * sCABForumOIDString = "2.23.140.1.1" ;
ScopedAutoSECItem cabforumOIDItem;
if (SEC_StringToOID(nullptr, &cabforumOIDItem, sCABForumOIDString, 0 ) !=
SECSuccess) {
return NS_ERROR_FAILURE;
}
if (cabforumOIDItem.len > pkix::CertPolicyId::MAX_BYTES) {
return NS_ERROR_UNEXPECTED;
}
sCABForumEVId.numBytes = cabforumOIDItem.len;
PodCopy(sCABForumEVId.bytes, cabforumOIDItem.data, sCABForumEVId.numBytes);
for (size_t i = 0 ; i < std::size(kEVInfos); ++i) {
const EVInfo& entry = kEVInfos[i];
SECStatus srv;
#ifdef DEBUG
// This section of code double-checks that we calculated the correct
// certificate hash given the issuer and serial number and that it is
// actually present in our loaded root certificates module. It is
// unnecessary to check this in non-debug builds since we will safely fall
// back to DV if the EV information is incorrect.
nsAutoCString derIssuer;
nsresult rv =
Base64Decode(nsDependentCString(entry.issuerBase64), derIssuer);
MOZ_ASSERT(NS_SUCCEEDED(rv), "Could not base64-decode built-in EV issuer" );
if (NS_FAILED(rv)) {
return rv;
}
nsAutoCString serialNumber;
rv = Base64Decode(nsDependentCString(entry.serialBase64), serialNumber);
MOZ_ASSERT(NS_SUCCEEDED(rv), "Could not base64-decode built-in EV serial" );
if (NS_FAILED(rv)) {
return rv;
}
CERTIssuerAndSN ias;
ias.derIssuer.data =
BitwiseCast<unsigned char *, const char *>(derIssuer.get());
ias.derIssuer.len = derIssuer.Length();
ias.serialNumber.data =
BitwiseCast<unsigned char *, const char *>(serialNumber.get());
ias.serialNumber.len = serialNumber.Length();
ias.serialNumber.type = siUnsignedInteger;
UniqueCERTCertificate cert(CERT_FindCertByIssuerAndSN(nullptr, &ias));
// If an entry is missing in the NSS root database, it may be because the
// root database is out of sync with what we expect (e.g. a different
// version of system NSS is installed).
if (!cert) {
// The entries for the debug EV roots are at indices 0 through
// NUM_TEST_EV_ROOTS - 1. Since they're not built-in, they probably
// haven't been loaded yet.
MOZ_ASSERT(i < NUM_TEST_EV_ROOTS, "Could not find built-in EV root" );
} else {
unsigned char certFingerprint[SHA256_LENGTH];
srv = PK11_HashBuf(SEC_OID_SHA256, certFingerprint, cert->derCert.data,
AssertedCast<int32_t>(cert->derCert.len));
MOZ_ASSERT(srv == SECSuccess, "Could not hash EV root" );
if (srv != SECSuccess) {
return NS_ERROR_FAILURE;
}
bool same = ArrayEqual(certFingerprint, entry.sha256Fingerprint);
MOZ_ASSERT(same, "EV root fingerprint mismatch" );
if (!same) {
return NS_ERROR_FAILURE;
}
}
#endif
// This is the code that actually enables these roots for EV.
ScopedAutoSECItem evOIDItem;
srv = SEC_StringToOID(nullptr, &evOIDItem, entry.dottedOid, 0 );
MOZ_ASSERT(srv == SECSuccess, "SEC_StringToOID failed" );
if (srv != SECSuccess) {
return NS_ERROR_FAILURE;
}
if (evOIDItem.len > pkix::CertPolicyId::MAX_BYTES) {
return NS_ERROR_UNEXPECTED;
}
sEVInfoIds[i].numBytes = evOIDItem.len;
PodCopy(sEVInfoIds[i].bytes, evOIDItem.data, sEVInfoIds[i].numBytes);
}
return NS_OK;
}
// Helper function for GetKnownEVPolicies(): reads an EV Policy if there is one,
// and appends it to the given list of CertPolicyIds.
void FindMatchingEVPolicy(pkix::Reader& idReader,
nsTArray<pkix::CertPolicyId>& policies) {
pkix::Input cabForumEVIdBytes;
pkix::Result rv =
cabForumEVIdBytes.Init(sCABForumEVId.bytes, sCABForumEVId.numBytes);
if (rv == pkix::Success && idReader.MatchRest(cabForumEVIdBytes)) {
policies.AppendElement(sCABForumEVId);
return ;
}
for (const pkix::CertPolicyId& id : sEVInfoIds) {
pkix::Input idBytes;
rv = idBytes.Init(id.bytes, id.numBytes);
if (rv == pkix::Success && idReader.MatchRest(idBytes)) {
policies.AppendElement(id);
return ;
}
}
}
void GetKnownEVPolicies(const nsTArray<uint8_t>& certBytes,
/*out*/ nsTArray<pkix::CertPolicyId>& policies) {
pkix::Input certInput;
pkix::Result rv = certInput.Init(certBytes.Elements(), certBytes.Length());
if (rv != pkix::Success) {
return ;
}
// we don't use the certificate for path building, so this parameter
// doesn't matter
pkix::EndEntityOrCA notUsedForPaths = pkix::EndEntityOrCA::MustBeEndEntity;
pkix::BackCert cert(certInput, notUsedForPaths, nullptr);
rv = cert.Init();
if (rv != pkix::Success) {
return ;
}
const pkix::Input* extensionInput = cert.GetCertificatePolicies();
if (!extensionInput) {
return ;
}
pkix::Reader extension(*extensionInput);
pkix::Reader certificatePolicies;
// certificatePolicies ::= SEQUENCE SIZE (1..MAX) OF PolicyInformation
// PolicyInformation ::= SEQUENCE {
// policyIdentifier CertPolicyId,
// ...
// }
// CertPolicyId ::= OBJECT IDENTIFIER
rv = pkix::der::ExpectTagAndGetValue(extension, pkix::der::SEQUENCE,
certificatePolicies);
if (rv != pkix::Success || !extension.AtEnd()) {
return ;
}
do {
pkix::Reader policyInformation;
rv = pkix::der::ExpectTagAndGetValue(
certificatePolicies, pkix::der::SEQUENCE, policyInformation);
if (rv != pkix::Success) {
return ;
}
pkix::Reader policyOid;
rv = pkix::der::ExpectTagAndGetValue(policyInformation, pkix::der::OIDTag,
policyOid);
if (rv != pkix::Success) {
return ;
}
// we don't validate policy qualifiers here
FindMatchingEVPolicy(policyOid, policies);
} while (!certificatePolicies.AtEnd());
}
} // namespace psm
} // namespace mozilla
Messung V0.5 in Prozent C=88 H=96 G=91
¤ Dauer der Verarbeitung: 0.36 Sekunden
(vorverarbeitet am 2026-06-06)
¤
*© Formatika GbR, Deutschland