The Go programming language's security infrastructure is being updated to include a hardcoded list of distrusted Subject Public Key Info (SPKI) fingerprints. This change ensures that the Go standard library will explicitly reject any certificate chains containing these specific fingerprints. By targeting the SPKI—the portion of a certificate that contains the public key and its associated algorithm—the update provides a mechanism to block certificates even if the issuing Certificate Authority (CA) remains in a trust store, but the specific key material is known to be compromised or untrustworthy.

The specific list of distrusted fingerprints includes certificates associated with entities such as eMudhra Technologies Limited and Comodo CA Limited. For example, the provided data includes fingerprints for various 'EM' (eMudhra) TLS and CS (Code Signing) certificates, as well as 'AAA Certificate Services' from Comodo. These entries are mapped to specific serial numbers and certificate SHA-256 hashes, allowing the Go runtime to identify and invalidate these specific certificate instances during the TLS handshake or certificate verification process.

This move toward explicit fingerprint rejection highlights a shift in how software handles compromised infrastructure. While Certificate Transparency (CT) logs are often used to monitor certificate issuance, some implementations have begun blocking the logging of certificates from these specific CAs to prevent log spamming from forged certificates. However, this creates a trade-off: while it prevents the logs from being overwhelmed, it also means that forged certificates issued by these compromised keys may not be recorded in CT logs, making them harder to detect in the wild. By hardcoding these rejections into the Go runtime, developers aim to provide a definitive defense against certificates derived from these specific, compromised keys regardless of the status of the broader CA hierarchy.