@@ -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.
7272const 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.
8384const 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