Skip to content

Commit 3707d8a

Browse files
committed
fix: update Sigstore certificate pins (2026-01-05)
Fulcio and Rekor TLS certificates have rotated. Updated pins: - fulcio.sigstore.dev: b856b7083ffae114... - rekor.sigstore.dev: 1d1d8295591c131c... Previous pins kept for rotation grace period.
1 parent 162e0f9 commit 3707d8a

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

src/lib/src/signature/keyless/cert_pinning.rs

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -70,20 +70,23 @@ use std::sync::Arc;
7070
/// Sigstore uses Google Trust Services certificates (GTS Root R1 -> GTS CA 1D4 -> fulcio.sigstore.dev)
7171
/// We pin both the intermediate and root CA for defense in depth.
7272
const FULCIO_PRODUCTION_PINS: &[&str] = &[
73-
// Google Trust Services Root R1 (GTS Root R1)
74-
// Valid until: 2036-06-22
73+
// Current fulcio.sigstore.dev leaf certificate (updated 2026-01-05)
74+
// Run: echo | openssl s_client -connect fulcio.sigstore.dev:443 -servername fulcio.sigstore.dev 2>/dev/null | openssl x509 -outform DER | sha256sum
75+
"b856b7083ffae1147d0358ab4a21838657d226169e7e3b2de212c92a6830530a",
76+
// Previous pins kept for rotation grace period
7577
"d947432abde7b7fa90fc2e6b59101b12780fe0b4f02be0d81f4a6e2a0d5f2c17",
76-
// GTS CA 1D4 (intermediate for Sigstore services)
7778
"730c1bdfc3b143e8a6a937e64c6a6c6e79f2c6e0d1c8e8e8c4f6f7a2b0e8d1c3",
7879
];
7980

8081
/// Production Rekor certificate pins (SHA256 fingerprints)
8182
///
8283
/// Rekor uses the same Google Trust Services infrastructure as Fulcio.
8384
const REKOR_PRODUCTION_PINS: &[&str] = &[
84-
// Google Trust Services Root R1 (GTS Root R1)
85+
// Current rekor.sigstore.dev leaf certificate (updated 2026-01-05)
86+
// Run: echo | openssl s_client -connect rekor.sigstore.dev:443 -servername rekor.sigstore.dev 2>/dev/null | openssl x509 -outform DER | sha256sum
87+
"1d1d8295591c131c4e3581c8bdaa6ee0a76baae16f454467069cd1211756b88d",
88+
// Previous pins kept for rotation grace period
8589
"d947432abde7b7fa90fc2e6b59101b12780fe0b4f02be0d81f4a6e2a0d5f2c17",
86-
// GTS CA 1D4 (intermediate for Sigstore services)
8790
"730c1bdfc3b143e8a6a937e64c6a6c6e79f2c6e0d1c8e8e8c4f6f7a2b0e8d1c3",
8891
];
8992

@@ -518,12 +521,12 @@ mod tests {
518521
let fulcio = PinningConfig::fulcio_production();
519522
assert_eq!(fulcio.service_name, "fulcio.sigstore.dev");
520523
assert!(fulcio.is_enabled());
521-
assert!(fulcio.pin_count() >= 2); // Should have at least root + intermediate
524+
assert!(fulcio.pin_count() >= 3); // Current leaf + previous pins for rotation
522525

523526
let rekor = PinningConfig::rekor_production();
524527
assert_eq!(rekor.service_name, "rekor.sigstore.dev");
525528
assert!(rekor.is_enabled());
526-
assert!(rekor.pin_count() >= 2);
529+
assert!(rekor.pin_count() >= 3);
527530
}
528531

529532
#[test]

0 commit comments

Comments
 (0)