icecat: add release icecat-140.6.0-1gnu1 for ecne

This commit is contained in:
Ark74 2026-01-17 19:26:27 -06:00
parent 618c9f4145
commit 7d0f5dab3b
3382 changed files with 457689 additions and 569094 deletions

View file

@ -103,22 +103,10 @@ static const char kEntrust_Root_Certification_Authority___G2Fingerprint[] =
static const char kEntrust_net_Premium_2048_Secure_Server_CAFingerprint[] =
"HqPF5D7WbC2imDpCpKebHpBnhs6fG1hiFBmgBGOofTg=";
/* FacebookBackup */
static const char kFacebookBackupFingerprint[] =
"q4PO2G2cbkZhZ82+JgmRUyGMoAeozA+BSXVXQWB8XWQ=";
/* GOOGLE_PIN_AE1_GoogleTrustServices */
static const char kGOOGLE_PIN_AE1_GoogleTrustServicesFingerprint[] =
"IGnQeIPjbxiR+JteR7AkUXl7pV+19BT4x3o15saZBNE=";
/* GOOGLE_PIN_DigiCertECCSecureServerCA */
static const char kGOOGLE_PIN_DigiCertECCSecureServerCAFingerprint[] =
"PZXN3lRAy+8tBKk2Ox6F7jIlnzr2Yzmwqc3JnyfXoCw=";
/* GOOGLE_PIN_SymantecClass3EVG3 */
static const char kGOOGLE_PIN_SymantecClass3EVG3Fingerprint[] =
"gMxWOrX4PMQesK9qFNbYBxjBfjUvlkn/vN1n+L9lE5E=";
/* GOOGLE_PIN_WE1_GoogleTrustServices */
static const char kGOOGLE_PIN_WE1_GoogleTrustServicesFingerprint[] =
"kIdp6NNEd8wsugYyyIYFsi1ylMCED3hZbSR8ZFsa/A4=";
@ -195,10 +183,6 @@ static const char kGlobalSign_Root_CA___R3Fingerprint[] =
static const char kGlobalSign_Root_CA___R6Fingerprint[] =
"aCdH+LpiG4fN07wpXtXKvOciocDANj0daLOJKNJ4fx4=";
/* GlobalSign Root R46 */
static const char kGlobalSign_Root_R46Fingerprint[] =
"rn+WLLnmp9v3uDP7GPqbcaiRdd+UnCMrap73yz3yu/w=";
/* Go Daddy Class 2 CA */
static const char kGo_Daddy_Class_2_CAFingerprint[] =
"VjLZe/p3W/PJnd6lL8JVNBCGQBZynFLdZSTIqcO0SJ8=";
@ -215,10 +199,6 @@ static const char kGoogleBackup2048Fingerprint[] =
static const char kISRG_Root_X1Fingerprint[] =
"C5+lpZ7tcVwmwQIMcRtPbsQtWLABXhQzejna0wHFr8M=";
/* ISRG Root X2 */
static const char kISRG_Root_X2Fingerprint[] =
"diGVwiVYbubAI3RW4hB9xU8e/CH2GnkuvVFZE8zmgzI=";
/* Starfield Class 2 CA */
static const char kStarfield_Class_2_CAFingerprint[] =
"FfFKxFycfaIz00eRZOgTf+Ne4POK6FgYPwhBDqgqxLQ=";
@ -344,33 +324,6 @@ static const StaticFingerprints kPinset_google = {
kPinset_google_Data
};
static const char* const kPinset_facebook_Data[] = {
kCOMODO_ECC_Certification_AuthorityFingerprint,
kISRG_Root_X1Fingerprint,
kUSERTrust_ECC_Certification_AuthorityFingerprint,
kGlobalSign_Root_CAFingerprint,
kGOOGLE_PIN_DigiCertECCSecureServerCAFingerprint,
kDigiCert_Trusted_Root_G4Fingerprint,
kDigiCert_High_Assurance_EV_Root_CAFingerprint,
kGlobalSign_Root_CA___R6Fingerprint,
kDigiCert_TLS_RSA4096_Root_G5Fingerprint,
kGlobalSign_Root_CA___R3Fingerprint,
kISRG_Root_X2Fingerprint,
kGOOGLE_PIN_SymantecClass3EVG3Fingerprint,
kCOMODO_RSA_Certification_AuthorityFingerprint,
kDigiCert_Global_Root_G2Fingerprint,
kDigiCert_TLS_ECC_P384_Root_G5Fingerprint,
kFacebookBackupFingerprint,
kDigiCert_Global_Root_CAFingerprint,
kGlobalSign_Root_R46Fingerprint,
kDigiCert_Global_Root_G3Fingerprint,
kUSERTrust_RSA_Certification_AuthorityFingerprint,
};
static const StaticFingerprints kPinset_facebook = {
sizeof(kPinset_facebook_Data) / sizeof(const char*),
kPinset_facebook_Data
};
/* Domainlist */
struct TransportSecurityPreload {
// See bug 1338873 about making these fields const.
@ -394,7 +347,6 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
{ "api.accounts.firefox.com", true, false, true, 5, &kPinset_mozilla_services },
{ "apis.google.com", true, false, false, -1, &kPinset_google_root_pems },
{ "appengine.google.com", true, false, false, -1, &kPinset_google_root_pems },
{ "apps.facebook.com", true, false, false, -1, &kPinset_facebook },
{ "appspot.com", true, false, false, -1, &kPinset_google_root_pems },
{ "aus4.mozilla.org", true, true, true, 3, &kPinset_mozilla_services },
{ "aus5.mozilla.org", true, true, true, 7, &kPinset_mozilla_services },
@ -402,7 +354,6 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
{ "blogspot.com", true, false, false, -1, &kPinset_google_root_pems },
{ "bugs.chromium.org", true, false, false, -1, &kPinset_google_root_pems },
{ "build.chromium.org", true, false, false, -1, &kPinset_google_root_pems },
{ "business.facebook.com", true, false, false, -1, &kPinset_facebook },
{ "calendar.google.com", true, false, false, -1, &kPinset_google_root_pems },
{ "cdn.ampproject.org", true, false, false, -1, &kPinset_google_root_pems },
{ "cdn.mozilla.net", true, false, true, 16, &kPinset_mozilla_services },
@ -416,7 +367,6 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
{ "chromiumcodereview.appspot.com", true, false, false, -1, &kPinset_google_root_pems },
{ "classroom.google.com", true, false, false, -1, &kPinset_google_root_pems },
{ "cloud.google.com", true, false, false, -1, &kPinset_google_root_pems },
{ "code.facebook.com", true, false, false, -1, &kPinset_facebook },
{ "code.google.com", true, false, false, -1, &kPinset_google_root_pems },
{ "codereview.appspot.com", true, false, false, -1, &kPinset_google_root_pems },
{ "codereview.chromium.org", true, false, false, -1, &kPinset_google_root_pems },
@ -431,7 +381,6 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
{ "crrev.com", true, false, false, -1, &kPinset_google_root_pems },
{ "datastudio.google.com", true, false, false, -1, &kPinset_google_root_pems },
{ "developer.android.com", true, false, false, -1, &kPinset_google_root_pems },
{ "developers.facebook.com", true, false, false, -1, &kPinset_facebook },
{ "dl.google.com", true, false, false, -1, &kPinset_google_root_pems },
{ "dns.google.com", true, false, false, -1, &kPinset_google_root_pems },
{ "docs.google.com", true, false, false, -1, &kPinset_google_root_pems },
@ -442,7 +391,6 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
{ "encrypted.google.com", true, false, false, -1, &kPinset_google_root_pems },
{ "example.test", true, true, false, -1, &kPinset_test },
{ "exclude-subdomains.pinning.example.com", false, false, false, -1, &kPinset_mozilla_test },
{ "facebook.com", true, false, false, -1, &kPinset_facebook },
{ "fi.google.com", true, false, false, -1, &kPinset_google_root_pems },
{ "firebaseio.com", true, false, false, -1, &kPinset_google_root_pems },
{ "firefox.com", true, true, true, 15, &kPinset_mozilla_services },
@ -707,15 +655,11 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
{ "include-subdomains.pinning.example.com", true, false, false, -1, &kPinset_mozilla_test },
{ "lens.google.com", true, false, false, -1, &kPinset_google_root_pems },
{ "login.corp.google.com", true, false, false, -1, &kPinset_google_root_pems },
{ "m.facebook.com", true, false, false, -1, &kPinset_facebook },
{ "mail-settings.google.com", true, false, false, -1, &kPinset_google_root_pems },
{ "mail.google.com", true, false, false, -1, &kPinset_google_root_pems },
{ "market.android.com", true, false, false, -1, &kPinset_google_root_pems },
{ "mbasic.facebook.com", true, false, false, -1, &kPinset_facebook },
{ "meet.google.com", true, false, false, -1, &kPinset_google_root_pems },
{ "messenger.com", true, false, false, -1, &kPinset_facebook },
{ "mfg-inspector.com", true, false, false, -1, &kPinset_google_root_pems },
{ "mtouch.facebook.com", true, false, false, -1, &kPinset_facebook },
{ "myaccount.google.com", true, false, false, -1, &kPinset_google_root_pems },
{ "myactivity.google.com", true, false, false, -1, &kPinset_google_root_pems },
{ "oauthaccountmanager.googleapis.com", true, false, false, -1, &kPinset_google_root_pems },
@ -725,16 +669,13 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
{ "payments.google.com", true, false, false, -1, &kPinset_google_root_pems },
{ "pinning-test.badssl.com", true, false, false, -1, &kPinset_test },
{ "pinningtest.appspot.com", true, false, false, -1, &kPinset_test },
{ "pixel.facebook.com", true, false, false, -1, &kPinset_facebook },
{ "pixel.google.com", true, false, false, -1, &kPinset_google_root_pems },
{ "play.google.com", true, false, false, -1, &kPinset_google_root_pems },
{ "plus.google.com", true, false, false, -1, &kPinset_google_root_pems },
{ "plus.sandbox.google.com", true, false, false, -1, &kPinset_google_root_pems },
{ "profiles.google.com", true, false, false, -1, &kPinset_google_root_pems },
{ "remotedesktop.corp.google.com", true, false, false, -1, &kPinset_google_root_pems },
{ "research.facebook.com", true, false, false, -1, &kPinset_facebook },
{ "script.google.com", true, false, false, -1, &kPinset_google_root_pems },
{ "secure.facebook.com", true, false, false, -1, &kPinset_facebook },
{ "security.google.com", true, false, false, -1, &kPinset_google_root_pems },
{ "services.mozilla.com", true, false, true, 6, &kPinset_mozilla_services },
{ "sites.google.com", true, false, false, -1, &kPinset_google_root_pems },
@ -742,19 +683,15 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
{ "static.googleadsserving.cn", true, false, false, -1, &kPinset_google_root_pems },
{ "stats.g.doubleclick.net", true, false, false, -1, &kPinset_google_root_pems },
{ "sync.services.mozilla.com", true, false, true, 13, &kPinset_mozilla_services },
{ "t.facebook.com", true, false, false, -1, &kPinset_facebook },
{ "tablet.facebook.com", true, false, false, -1, &kPinset_facebook },
{ "talk.google.com", true, false, false, -1, &kPinset_google_root_pems },
{ "talkgadget.google.com", true, false, false, -1, &kPinset_google_root_pems },
{ "telemetry.mozilla.org", true, true, true, 8, &kPinset_mozilla_services },
{ "test-mode.pinning.example.com", true, true, false, -1, &kPinset_mozilla_test },
{ "testpilot.firefox.com", false, false, true, 9, &kPinset_mozilla_services },
{ "touch.facebook.com", true, false, false, -1, &kPinset_facebook },
{ "translate.googleapis.com", true, false, false, -1, &kPinset_google_root_pems },
{ "tunnel-staging.googlezip.net", true, false, false, -1, &kPinset_google_root_pems },
{ "tunnel.googlezip.net", true, false, false, -1, &kPinset_google_root_pems },
{ "ua5v.com", true, false, false, -1, &kPinset_google_root_pems },
{ "upload.facebook.com", true, false, false, -1, &kPinset_facebook },
{ "urchin.com", true, false, false, -1, &kPinset_google_root_pems },
{ "w-spotlight.appspot.com", true, false, false, -1, &kPinset_google_root_pems },
{ "wallet.google.com", true, false, false, -1, &kPinset_google_root_pems },
@ -773,12 +710,10 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
{ "wf-trial-hrd.appspot.com", true, false, false, -1, &kPinset_google_root_pems },
{ "withgoogle.com", true, false, false, -1, &kPinset_google_root_pems },
{ "withyoutube.com", true, false, false, -1, &kPinset_google_root_pems },
{ "www.facebook.com", true, false, false, -1, &kPinset_facebook },
{ "www.g.co", false, false, false, -1, &kPinset_google_root_pems },
{ "www.gmail.com", false, false, false, -1, &kPinset_google_root_pems },
{ "www.googlegroups.com", true, false, false, -1, &kPinset_google_root_pems },
{ "www.googlemail.com", false, false, false, -1, &kPinset_google_root_pems },
{ "www.messenger.com", true, false, false, -1, &kPinset_facebook },
{ "xbrlsuccess.appspot.com", true, false, false, -1, &kPinset_google_root_pems },
{ "xn--7xa.google.com", true, false, false, -1, &kPinset_google_root_pems },
{ "youtu.be", true, false, false, -1, &kPinset_google_root_pems },
@ -787,8 +722,8 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
{ "ytimg.com", true, false, false, -1, &kPinset_google_root_pems },
};
// Pinning Preload List Length = 401;
// Pinning Preload List Length = 383;
static const int32_t kUnknownId = -1;
static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1765799661678000);
static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1773053640200000);

File diff suppressed because it is too large Load diff

View file

@ -226,6 +226,9 @@ fn sec_key_create_signature(
)
};
if signature.is_null() {
if error.is_null() {
return Err(error_here!(ErrorType::ExternalError));
}
let error = unsafe { CFError::wrap_under_create_rule(error) };
return Err(error_here!(
ErrorType::ExternalError,
@ -235,8 +238,12 @@ fn sec_key_create_signature(
Ok(unsafe { CFData::wrap_under_create_rule(signature) })
}
fn sec_key_copy_attributes<T: TCFType>(key: &SecKey) -> CFDictionary<CFString, T> {
unsafe { CFDictionary::wrap_under_create_rule(SecKeyCopyAttributes(key.as_concrete_TypeRef())) }
fn sec_key_copy_attributes<T: TCFType>(key: &SecKey) -> Result<CFDictionary<CFString, T>, Error> {
let attributes = unsafe { SecKeyCopyAttributes(key.as_concrete_TypeRef()) };
if attributes.is_null() {
return Err(error_here!(ErrorType::ExternalError));
}
Ok(unsafe { CFDictionary::wrap_under_create_rule(attributes) })
}
fn sec_key_copy_external_representation(key: &SecKey) -> Result<CFData, Error> {
@ -244,6 +251,9 @@ fn sec_key_copy_external_representation(key: &SecKey) -> Result<CFData, Error> {
let representation =
unsafe { SecKeyCopyExternalRepresentation(key.as_concrete_TypeRef(), &mut error) };
if representation.is_null() {
if error.is_null() {
return Err(error_here!(ErrorType::ExternalError));
}
let error = unsafe { CFError::wrap_under_create_rule(error) };
return Err(error_here!(
ErrorType::ExternalError,
@ -814,7 +824,7 @@ impl Sign for Key {
}
fn get_key_attribute<T: TCFType + Clone>(key: &SecKey, attr: CFStringRef) -> Result<T, Error> {
let attributes: CFDictionary<CFString, T> = sec_key_copy_attributes(key);
let attributes: CFDictionary<CFString, T> = sec_key_copy_attributes(key)?;
match attributes.find(attr as *const _) {
Some(value) => Ok((*value).clone()),
None => Err(error_here!(ErrorType::ExternalError)),

View file

@ -1,6 +1,6 @@
{
"version": "66.3",
"log_list_timestamp": "2025-09-07T12:54:02Z",
"version": "76.4",
"log_list_timestamp": "2025-11-30T12:54:31Z",
"operators": [
{
"name": "Google",
@ -56,6 +56,22 @@
"end_exclusive": "2027-01-01T00:00:00Z"
}
},
{
"description": "Google 'Argon2027h1'",
"log_id": "1tWNqdAXU/NqSqDHV0kCr+vH3CzTjNn3ZMgMiRkenwI=",
"key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEKHRm0H/zUaFA6Idz5cGvGO3tCPQyfGMgJmVBOPyKAP6mGM1IiNXi4CLomOUyYj0YN74p+eGVApFMsM4h/jzCsA==",
"url": "https://ct.googleapis.com/logs/us1/argon2027h1/",
"mmd": 86400,
"state": {
"qualified": {
"timestamp": "2025-10-18T00:30:00Z"
}
},
"temporal_interval": {
"start_inclusive": "2027-01-01T00:00:00Z",
"end_exclusive": "2027-07-01T00:00:00Z"
}
},
{
"description": "Google 'Xenon2025h2' log",
"log_id": "3dzKNJXX4RYF55Uy+sef+D0cUN/bADoUEnYKLKy7yCo=",
@ -103,6 +119,22 @@
"start_inclusive": "2026-07-01T00:00:00Z",
"end_exclusive": "2027-01-01T00:00:00Z"
}
},
{
"description": "Google 'Xenon2027h1'",
"log_id": "RMK9DOkUDmSlyUoBkwpaobs1lw4A7hEWiWgqHETXtWY=",
"key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE/6WcA4VRSljIfTdY48+pFRLLtLrmTb88cGDdl8Gv3E2LduG4jgJ3AK5iNMFGhpbRRLi5B3rPlBaXVywuR5IFDg==",
"url": "https://ct.googleapis.com/logs/eu1/xenon2027h1/",
"mmd": 86400,
"state": {
"qualified": {
"timestamp": "2025-10-18T00:30:00Z"
}
},
"temporal_interval": {
"start_inclusive": "2027-01-01T00:00:00Z",
"end_exclusive": "2027-07-01T00:00:00Z"
}
}
],
"tiled_logs": []
@ -152,8 +184,8 @@
"url": "https://ct.cloudflare.com/logs/nimbus2027/",
"mmd": 86400,
"state": {
"qualified": {
"timestamp": "2025-09-05T00:00:00Z"
"usable": {
"timestamp": "2025-11-15T00:00:00Z"
}
},
"temporal_interval": {
@ -250,6 +282,38 @@
"end_exclusive": "2027-01-01T00:00:00Z"
}
},
{
"description": "DigiCert 'Wyvern2027h1'",
"log_id": "ABpdGhwtk3W2SFV4+C9xoa5u7zl9KXyK4xV7yt7hoB4=",
"key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEastxYj1mntGuyv74k4f+yaIx+ZEzlSJ+iVTYWlw8SpSKJ4TfxYWuBhnETlhpyG/5seJn0mOSnVgXsZ1JRflI7g==",
"url": "https://wyvern.ct.digicert.com/2027h1/",
"mmd": 86400,
"state": {
"qualified": {
"timestamp": "2025-10-10T18:00:00Z"
}
},
"temporal_interval": {
"start_inclusive": "2027-01-01T00:00:00Z",
"end_exclusive": "2027-07-01T00:00:00Z"
}
},
{
"description": "DigiCert 'Wyvern2027h2'",
"log_id": "N6oHzCFvLm2RnHCdJNj3MbAPKxR8YhzAkaX6GoTYFt0=",
"key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuOg8hcgaYT/MShxpag2Hige0zsLzz8vOLZXp6faCdzM+Mn/njyU9ROAuwDxuu88/Grxn46kmehdOKVDFexbdSg==",
"url": "https://wyvern.ct.digicert.com/2027h2/",
"mmd": 86400,
"state": {
"qualified": {
"timestamp": "2025-10-10T18:00:00Z"
}
},
"temporal_interval": {
"start_inclusive": "2027-07-01T00:00:00Z",
"end_exclusive": "2028-01-01T00:00:00Z"
}
},
{
"description": "DigiCert 'Sphinx2025h2' Log",
"log_id": "pELFBklgYVSPD9TqnPt6LSZFTYepfy/fRVn2J086hFQ=",
@ -297,6 +361,38 @@
"start_inclusive": "2026-07-01T00:00:00Z",
"end_exclusive": "2027-01-01T00:00:00Z"
}
},
{
"description": "DigiCert 'sphinx2027h1'",
"log_id": "RqI5Z8YNtkaHxm89+ZmUdpOmphEghFfVVefj0KHZtkY=",
"key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEvirIq1XPwgwG7BnbMh2zoUbEt+T8z8XAtg9lo8jma+aaTQl8iVCypUFXtLpt4/SHaoUzbvcjDX/6B1IbL3OoIQ==",
"url": "https://sphinx.ct.digicert.com/2027h1/",
"mmd": 86400,
"state": {
"qualified": {
"timestamp": "2025-10-10T18:00:00Z"
}
},
"temporal_interval": {
"start_inclusive": "2027-01-01T00:00:00Z",
"end_exclusive": "2027-07-01T00:00:00Z"
}
},
{
"description": "DigiCert 'sphinx2027h2'",
"log_id": "H7D4qS2K3aEhd2wF4qouFbrLxitlOTaVV2qqtS4R0R0=",
"key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEUCe23M889mAsUVeTTBcNsAmP374ZWQboLdR8RdGwM3VZ6P/sDwhrL7wK4zrXPh3HwLDDLxDjvRBeivUSbpZSwA==",
"url": "https://sphinx.ct.digicert.com/2027h2/",
"mmd": 86400,
"state": {
"qualified": {
"timestamp": "2025-10-10T18:00:00Z"
}
},
"temporal_interval": {
"start_inclusive": "2027-07-01T00:00:00Z",
"end_exclusive": "2028-01-01T00:00:00Z"
}
}
],
"tiled_logs": []
@ -314,8 +410,12 @@
"url": "https://sabre2025h2.ct.sectigo.com/",
"mmd": 86400,
"state": {
"usable": {
"timestamp": "2023-11-26T12:00:00Z"
"readonly": {
"timestamp": "2025-09-18T17:20:00Z",
"final_tree_head": {
"sha256_root_hash": "eJj4IHvdYpljVsW/YCery+QsSRHbuYBME7H912a5P2Y=",
"tree_size": 1213760846
}
}
},
"temporal_interval": {
@ -350,8 +450,12 @@
"url": "https://mammoth2026h1.ct.sectigo.com/",
"mmd": 86400,
"state": {
"usable": {
"timestamp": "2024-10-14T17:00:00Z"
"readonly": {
"timestamp": "2025-09-18T17:20:00Z",
"final_tree_head": {
"sha256_root_hash": "N7bqzTXnPktVFG8/h3gi5pcuxCo+mfWyv+XlIIS4cEU=",
"tree_size": 65240567
}
}
},
"temporal_interval": {
@ -366,8 +470,12 @@
"url": "https://mammoth2026h2.ct.sectigo.com/",
"mmd": 86400,
"state": {
"usable": {
"timestamp": "2024-10-14T17:00:00Z"
"readonly": {
"timestamp": "2025-09-18T17:20:00Z",
"final_tree_head": {
"sha256_root_hash": "vJHecZC18lG3qp9lV2jZoi+7nkPHQx2SmM4VWglNsIk=",
"tree_size": 57634084
}
}
},
"temporal_interval": {
@ -382,8 +490,12 @@
"url": "https://sabre2026h1.ct.sectigo.com/",
"mmd": 86400,
"state": {
"usable": {
"timestamp": "2024-10-14T17:00:00Z"
"readonly": {
"timestamp": "2025-09-18T17:20:00Z",
"final_tree_head": {
"sha256_root_hash": "ONxslVVBTXcSuBVlFOVDuNQoTCdDNLCRVHoHfNLMZfo=",
"tree_size": 88744201
}
}
},
"temporal_interval": {
@ -398,8 +510,12 @@
"url": "https://sabre2026h2.ct.sectigo.com/",
"mmd": 86400,
"state": {
"usable": {
"timestamp": "2024-10-14T17:00:00Z"
"readonly": {
"timestamp": "2025-09-18T17:20:00Z",
"final_tree_head": {
"sha256_root_hash": "HWG3vP/FX6JRs5yyXDfrNoUA7D6TZAib9ZE2Llno0II=",
"tree_size": 68732791
}
}
},
"temporal_interval": {
@ -494,8 +610,8 @@
"url": "https://tiger2025h2.ct.sectigo.com/",
"mmd": 86400,
"state": {
"qualified": {
"timestamp": "2025-07-09T13:00:00Z"
"usable": {
"timestamp": "2025-09-18T23:00:00Z"
}
},
"temporal_interval": {
@ -510,8 +626,8 @@
"url": "https://tiger2026h1.ct.sectigo.com/",
"mmd": 86400,
"state": {
"qualified": {
"timestamp": "2025-07-09T13:00:00Z"
"usable": {
"timestamp": "2025-09-18T23:00:00Z"
}
},
"temporal_interval": {
@ -526,8 +642,8 @@
"url": "https://tiger2026h2.ct.sectigo.com/",
"mmd": 86400,
"state": {
"qualified": {
"timestamp": "2025-07-09T13:00:00Z"
"usable": {
"timestamp": "2025-09-18T23:00:00Z"
}
},
"temporal_interval": {
@ -542,8 +658,8 @@
"url": "https://tiger2027h1.ct.sectigo.com/",
"mmd": 86400,
"state": {
"qualified": {
"timestamp": "2025-07-09T13:00:00Z"
"usable": {
"timestamp": "2025-09-18T23:00:00Z"
}
},
"temporal_interval": {
@ -558,8 +674,8 @@
"url": "https://tiger2027h2.ct.sectigo.com/",
"mmd": 86400,
"state": {
"qualified": {
"timestamp": "2025-07-09T13:00:00Z"
"usable": {
"timestamp": "2025-09-18T23:00:00Z"
}
},
"temporal_interval": {
@ -625,7 +741,178 @@
}
}
],
"tiled_logs": []
"tiled_logs": [
{
"description": "Let's Encrypt 'Sycamore2025h2d'",
"log_id": "W/beU/H7+sSaGFl0aUWhpqconV5wpg9IRQ5Ya7mucrg=",
"key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAERI8grd3rsuE95/3Rk/Jn9rGBrpcvDqD6Y5Ooz1E+xABGl3w6JLdFHfzSFZvEFX/Goar6nbzQHtV75ud4R0Iafg==",
"submission_url": "https://log.sycamore.ct.letsencrypt.org/2025h2d/",
"monitoring_url": "https://mon.sycamore.ct.letsencrypt.org/2025h2d/",
"mmd": 60,
"state": {
"usable": {
"timestamp": "2025-11-27T03:00:00Z"
}
},
"temporal_interval": {
"start_inclusive": "2025-06-19T00:00:00Z",
"end_exclusive": "2025-12-18T00:00:00Z"
}
},
{
"description": "Let's Encrypt 'Sycamore2026h1'",
"log_id": "pcl4kl1XRheChw3YiWYLXFVki30AQPLsB2hR0YhpGfc=",
"key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEfEEe0JZknA91/c6eNl1aexgeKzuGQUMvRCXPXg9L227O5I4Pi++Abcpq6qxlVUKPYafAJelAnMfGzv3lHCc8gA==",
"submission_url": "https://log.sycamore.ct.letsencrypt.org/2026h1/",
"monitoring_url": "https://mon.sycamore.ct.letsencrypt.org/2026h1/",
"mmd": 60,
"state": {
"usable": {
"timestamp": "2025-11-27T03:00:00Z"
}
},
"temporal_interval": {
"start_inclusive": "2025-12-18T00:00:00Z",
"end_exclusive": "2026-06-18T00:00:00Z"
}
},
{
"description": "Let's Encrypt 'Sycamore2026h2'",
"log_id": "bP5QGUOoXqkWvFLRM+TcyR7xQRx9JYQg0XOAnhgY6zo=",
"key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwR1FtiiMbpvxR+sIeiZ5JSCIDIdTAPh7OrpdchcrCcyNVDvNUq358pqJx2qdyrOI+EjGxZ7UiPcN3bL3Q99FqA==",
"submission_url": "https://log.sycamore.ct.letsencrypt.org/2026h2/",
"monitoring_url": "https://mon.sycamore.ct.letsencrypt.org/2026h2/",
"mmd": 60,
"state": {
"usable": {
"timestamp": "2025-11-27T03:00:00Z"
}
},
"temporal_interval": {
"start_inclusive": "2026-06-18T00:00:00Z",
"end_exclusive": "2026-12-17T00:00:00Z"
}
},
{
"description": "Let's Encrypt 'Sycamore2027h1'",
"log_id": "jspHC6zeavOiBrCkeoS3Rv4fxr+VPiXmm07kAkjzxug=",
"key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWrGdYyZYB7teCS4K/oKIsbV0yVBSgjlOwO22OOCoA6Y252QhFzC8Wg7oVXVKqfkWaSaM/n+3pfCBf4BAkpdx8g==",
"submission_url": "https://log.sycamore.ct.letsencrypt.org/2027h1/",
"monitoring_url": "https://mon.sycamore.ct.letsencrypt.org/2027h1/",
"mmd": 60,
"state": {
"usable": {
"timestamp": "2025-11-27T03:00:00Z"
}
},
"temporal_interval": {
"start_inclusive": "2026-12-17T00:00:00Z",
"end_exclusive": "2027-06-18T00:00:00Z"
}
},
{
"description": "Let's Encrypt 'Sycamore2027h2'",
"log_id": "5eNiR9ku9K2jhYO1NZHbcp/C8ArktnRRdNPd/GqiU4g=",
"key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEK+2zy2UWRMIyC2jU46+rj8UsyMjLsQIr1Y/6ClbdpWGthUb8y3Maf4zfAZTWW+AH9wAWPLRL5vmtz7Zkh2f2nA==",
"submission_url": "https://log.sycamore.ct.letsencrypt.org/2027h2/",
"monitoring_url": "https://mon.sycamore.ct.letsencrypt.org/2027h2/",
"mmd": 60,
"state": {
"usable": {
"timestamp": "2025-11-27T03:00:00Z"
}
},
"temporal_interval": {
"start_inclusive": "2027-06-18T00:00:00Z",
"end_exclusive": "2027-12-16T00:00:00Z"
}
},
{
"description": "Let's Encrypt 'Willow2025h2d'",
"log_id": "5NAXdhyRORG+9HOWrNjSRljCT7WTtRvqxVknYuiFPBU=",
"key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAElX78WOZsrDp7/LDFvsGytclanWhJ2oEwdgytKo21ZrCzbJ6raFAmZ1bMFh4B/0+e1aWtfhG2wgCM2ex/aDgZuA==",
"submission_url": "https://log.willow.ct.letsencrypt.org/2025h2d/",
"monitoring_url": "https://mon.willow.ct.letsencrypt.org/2025h2d/",
"mmd": 60,
"state": {
"usable": {
"timestamp": "2025-11-27T03:00:00Z"
}
},
"temporal_interval": {
"start_inclusive": "2025-06-18T00:00:00Z",
"end_exclusive": "2025-12-17T00:00:00Z"
}
},
{
"description": "Let's Encrypt 'Willow2026h1'",
"log_id": "4yON8o2iiOCq4Kzw+pDJhfC2v/XSpSewAfwcRFjEtug=",
"key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEtpFyulwgy1+u+wYQ37lbV+HsPFNYoi4sy6dZP662N/Z/usdNi4+Q3RLES1RY2PNk7zL/7VPSn3JERMPu/s4e4A==",
"submission_url": "https://log.willow.ct.letsencrypt.org/2026h1/",
"monitoring_url": "https://mon.willow.ct.letsencrypt.org/2026h1/",
"mmd": 60,
"state": {
"usable": {
"timestamp": "2025-11-27T03:00:00Z"
}
},
"temporal_interval": {
"start_inclusive": "2025-12-17T00:00:00Z",
"end_exclusive": "2026-06-17T00:00:00Z"
}
},
{
"description": "Let's Encrypt 'Willow2026h2'",
"log_id": "qCbL4wrGNRJGUz/gZfFPGdluGQgTxB3ZbXkAsxI8VSc=",
"key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEp8wH8R6zfM+UhsQq5un+lPdNTDkzcgkWLi1DwyqU6T00mtP5/CuGjvpw4mIz89I6KV5ZvhRHt5ZTF6qe24pqiA==",
"submission_url": "https://log.willow.ct.letsencrypt.org/2026h2/",
"monitoring_url": "https://mon.willow.ct.letsencrypt.org/2026h2/",
"mmd": 60,
"state": {
"usable": {
"timestamp": "2025-11-27T03:00:00Z"
}
},
"temporal_interval": {
"start_inclusive": "2026-06-17T00:00:00Z",
"end_exclusive": "2026-12-16T00:00:00Z"
}
},
{
"description": "Let's Encrypt 'Willow2027h1'",
"log_id": "ooEAGHNOF24dR+CVQPOBulRml81jqENQcW64CU7a8Q0=",
"key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEzsMKtojO0BVB4t59lVyAhxtqObVA+wId5BpJGA8pZrw5GTjzuhpvLu/heQGi0hHCeislkDe34N/2D0SwEUBE0w==",
"submission_url": "https://log.willow.ct.letsencrypt.org/2027h1/",
"monitoring_url": "https://mon.willow.ct.letsencrypt.org/2027h1/",
"mmd": 60,
"state": {
"usable": {
"timestamp": "2025-11-27T03:00:00Z"
}
},
"temporal_interval": {
"start_inclusive": "2026-12-16T00:00:00Z",
"end_exclusive": "2027-06-17T00:00:00Z"
}
},
{
"description": "Let's Encrypt 'Willow2027h2'",
"log_id": "ppWirZJtb5lujvxJAUJX2LvwRqfWJYm4jcLXh2x45S8=",
"key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEYbMDg0qQEEYjsTttdDlouTKhg3fRiMJYNE+Epr/2bXyeQdQOHKQNKv5sbIKxjtE/5Vqo9YjQbnaOeH4Wm4PhdQ==",
"submission_url": "https://log.willow.ct.letsencrypt.org/2027h2/",
"monitoring_url": "https://mon.willow.ct.letsencrypt.org/2027h2/",
"mmd": 60,
"state": {
"usable": {
"timestamp": "2025-11-27T03:00:00Z"
}
},
"temporal_interval": {
"start_inclusive": "2027-06-17T00:00:00Z",
"end_exclusive": "2027-12-15T00:00:00Z"
}
}
]
},
{
"name": "TrustAsia",
@ -696,6 +983,22 @@
"start_inclusive": "2025-12-24T00:00:00Z",
"end_exclusive": "2027-01-08T00:00:00Z"
}
},
{
"description": "TrustAsia 'HETU2027'",
"log_id": "7drrgVxjITRJtHvlB3kFq9DZMUfCesUUazvFjkPptsc=",
"key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE14jG8D9suqIVWPtTNOL33uXKZ4mUnnOMrIwOWeZU7GtoDRCWIXfy/9/SC8lTAbtP2NOP4wjIufAk6f64sY4DWg==",
"url": "https://hetu2027.trustasia.com/hetu2027/",
"mmd": 86400,
"state": {
"qualified": {
"timestamp": "2025-10-18T00:30:00Z"
}
},
"temporal_interval": {
"start_inclusive": "2026-12-25T00:00:00Z",
"end_exclusive": "2028-01-08T00:00:00Z"
}
}
],
"tiled_logs": []
@ -783,8 +1086,8 @@
"monitoring_url": "https://tuscolo2027h1.skylight.geomys.org/",
"mmd": 60,
"state": {
"qualified": {
"timestamp": "2025-07-29T21:00:00Z"
"usable": {
"timestamp": "2025-10-08T21:00:00Z"
}
},
"temporal_interval": {
@ -800,8 +1103,8 @@
"monitoring_url": "https://tuscolo2027h2.skylight.geomys.org/",
"mmd": 60,
"state": {
"qualified": {
"timestamp": "2025-07-29T21:00:00Z"
"usable": {
"timestamp": "2025-10-08T21:00:00Z"
}
},
"temporal_interval": {
@ -834,7 +1137,178 @@
}
}
],
"tiled_logs": []
"tiled_logs": [
{
"description": "IPng Networks 'Halloumi2025h2'",
"log_id": "+3xjpo0eBq3Qg4ibuNQyHLJFROv2/mlyKRkuOD5ebiM=",
"key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEqJxSnCcMhWikCFeWo1RiplGaVEZL5Vn4KEJYZM97Ro5XuTg4h6+n807utfPS7qqpLv5me/ddlpKFGoFfkMBrAQ==",
"submission_url": "https://halloumi2025h2.log.ct.ipng.ch/",
"monitoring_url": "https://halloumi2025h2.mon.ct.ipng.ch/",
"mmd": 60,
"state": {
"qualified": {
"timestamp": "2025-10-07T18:30:00Z"
}
},
"temporal_interval": {
"start_inclusive": "2025-07-01T00:00:00Z",
"end_exclusive": "2026-01-01T00:00:00Z"
}
},
{
"description": "IPng Networks 'Halloumi2026h1'",
"log_id": "fz035/iSPY5xZb6w0+q+5yoivkbAy4TEFtTkuYJky8I=",
"key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEzdcnGwRjm2ZoA68JFZKfoM4cOPPG2fr0iR72p3XanznOlw57HJ9RlYRNt75gIMIKgB1r0dxY5Jojq1m8uobYjg==",
"submission_url": "https://halloumi2026h1.log.ct.ipng.ch/",
"monitoring_url": "https://halloumi2026h1.mon.ct.ipng.ch/",
"mmd": 60,
"state": {
"qualified": {
"timestamp": "2025-10-07T18:30:00Z"
}
},
"temporal_interval": {
"start_inclusive": "2026-01-01T00:00:00Z",
"end_exclusive": "2026-07-01T00:00:00Z"
}
},
{
"description": "IPng Networks 'Halloumi2026h2a'",
"log_id": "JuNkblhpISO8ND9HJDWbN5LNJFqI2BXTkzP9mRirRyM=",
"key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEiGh4zMsdukTgrdk9iPIwz9OfU9TQVi4Mxufpmnlrzv3ivJcxVhrST4XQSeQoF5LlFVIU6PL4IzrYl12BUWn9rQ==",
"submission_url": "https://halloumi2026h2a.log.ct.ipng.ch/",
"monitoring_url": "https://halloumi2026h2a.mon.ct.ipng.ch/",
"mmd": 60,
"state": {
"qualified": {
"timestamp": "2025-10-22T07:30:00Z"
}
},
"temporal_interval": {
"start_inclusive": "2026-07-01T00:00:00Z",
"end_exclusive": "2027-01-01T00:00:00Z"
}
},
{
"description": "IPng Networks 'Halloumi2027h1'",
"log_id": "ROgi/CurDpLu0On61pZkYCd20Bdg4IkFCckjobA/w38=",
"key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEw5SUl2yfd5TFSqUGv7A+I5+TpLe+zEccmtWVQakQQtOHYKqH8TbycalFx5xaqE5PU4NEwwnAJ9FWeT/6QaovZw==",
"submission_url": "https://halloumi2027h1.log.ct.ipng.ch/",
"monitoring_url": "https://halloumi2027h1.mon.ct.ipng.ch/",
"mmd": 60,
"state": {
"qualified": {
"timestamp": "2025-10-07T18:30:00Z"
}
},
"temporal_interval": {
"start_inclusive": "2027-01-01T00:00:00Z",
"end_exclusive": "2027-07-01T00:00:00Z"
}
},
{
"description": "IPng Networks 'Halloumi2027h2'",
"log_id": "CRV/Yy1Gx/dtlSZUk7wPALOVrF2zorJr+wQ9ukrGOJM=",
"key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAErmKbFkPG7QfQUARhbIik8vVbIkXhK+YMB6TvLZkyhnzv7wedn+l7VChqovZHKOQXmZEd4B+3ljovIpQz2HmyHA==",
"submission_url": "https://halloumi2027h2.log.ct.ipng.ch/",
"monitoring_url": "https://halloumi2027h2.mon.ct.ipng.ch/",
"mmd": 60,
"state": {
"qualified": {
"timestamp": "2025-10-07T18:30:00Z"
}
},
"temporal_interval": {
"start_inclusive": "2027-07-01T00:00:00Z",
"end_exclusive": "2028-01-01T00:00:00Z"
}
},
{
"description": "IPng Networks 'Gouda2025h2'",
"log_id": "GoudanQ8ze1gH3O9MJcIHbyuxKYTnJKwtUDDE3sg7AU=",
"key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEpHiP24MNo8pgt5RNoawsvGIwSaVEKNqdzYCUXtMu0MM15t63d26eDUDz+nkQjACuRo4LRJcyia7I0anEdNH9wA==",
"submission_url": "https://gouda2025h2.log.ct.ipng.ch/",
"monitoring_url": "https://gouda2025h2.mon.ct.ipng.ch/",
"mmd": 60,
"state": {
"usable": {
"timestamp": "2025-11-27T03:00:00Z"
}
},
"temporal_interval": {
"start_inclusive": "2025-07-01T00:00:00Z",
"end_exclusive": "2026-01-01T00:00:00Z"
}
},
{
"description": "IPng Networks 'Gouda2026h1'",
"log_id": "GoudaUpXmMiZoMqIvfSPwLRWYMzDYA0fcfRp/8fRrKM=",
"key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAER6wvqVwhf5isuCtwSfNjTOrqwZg0vZuIMP7xk8fPmJfaFZCte1ptQiqNhRMCtqIgJvDcJyjkGVI8i44vxL877A==",
"submission_url": "https://gouda2026h1.log.ct.ipng.ch/",
"monitoring_url": "https://gouda2026h1.mon.ct.ipng.ch/",
"mmd": 60,
"state": {
"usable": {
"timestamp": "2025-11-27T03:00:00Z"
}
},
"temporal_interval": {
"start_inclusive": "2026-01-01T00:00:00Z",
"end_exclusive": "2026-07-01T00:00:00Z"
}
},
{
"description": "IPng Networks 'Gouda2026h2'",
"log_id": "Goudaw/+v4G0eTnG0jEKhtbRAtTwRuIYLJ3jX14mJe8=",
"key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEjayczmhUMNftWy6VjvYXcTUEpvL8LIAKcYcxrxx5xxQGZEVvhnZeCnXVlsMWhq1h9J55eZfQWM/dqIr6GmoN9Q==",
"submission_url": "https://gouda2026h2.log.ct.ipng.ch/",
"monitoring_url": "https://gouda2026h2.mon.ct.ipng.ch/",
"mmd": 60,
"state": {
"usable": {
"timestamp": "2025-11-27T03:00:00Z"
}
},
"temporal_interval": {
"start_inclusive": "2026-07-01T00:00:00Z",
"end_exclusive": "2027-01-01T00:00:00Z"
}
},
{
"description": "IPng Networks 'Gouda2027h1'",
"log_id": "Gouda43XkdHNBUnttgNV1ga2T60w23H+eI8Px8j7xLE=",
"key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEOh11B2aRT9BiTqo+6kvQ7cSGf819Ait+jGc6AuHlGUXxWCX1YCQ9OFNnr6MUKStyw4sVin5FCvtbke1mctl3gQ==",
"submission_url": "https://gouda2027h1.log.ct.ipng.ch/",
"monitoring_url": "https://gouda2027h1.mon.ct.ipng.ch/",
"mmd": 60,
"state": {
"usable": {
"timestamp": "2025-11-27T03:00:00Z"
}
},
"temporal_interval": {
"start_inclusive": "2027-01-01T00:00:00Z",
"end_exclusive": "2027-07-01T00:00:00Z"
}
},
{
"description": "IPng Networks 'Gouda2027h2'",
"log_id": "GoudaVNi2GSSp7niI2BuNOzp4xC6NPuTBXhdKc5XV+s=",
"key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEPuxPH20sSqUzHGllZceceFvyoSffwBWgX4LKd8wk3A3ayZuwwh2pDuEOsimMxLXFh0IUYz73a9I7kxkUqM+N8w==",
"submission_url": "https://gouda2027h2.log.ct.ipng.ch/",
"monitoring_url": "https://gouda2027h2.mon.ct.ipng.ch/",
"mmd": 60,
"state": {
"usable": {
"timestamp": "2025-11-27T03:00:00Z"
}
},
"temporal_interval": {
"start_inclusive": "2027-07-01T00:00:00Z",
"end_exclusive": "2028-01-01T00:00:00Z"
}
}
]
}
]
}