Fact-checked by Grok 2 weeks ago

HTTP Public Key Pinning

HTTP Public Key Pinning (HPKP) is a extension for HTTP that allows website operators to instruct s, such as web browsers, to associate specific cryptographic public keys with a given host, ensuring that future TLS connections only accept s backed by those pinned keys to prevent impersonation by attackers using forged s. Introduced in 7469 by the (IETF) in April 2015, HPKP operates by delivering pinning instructions via the Public-Key-Pins HTTP response header, which includes directives such as pin-sha256 for specifying base64-encoded SHA-256 hashes of Subject Public Key Info (SPKI) structures, max-age to define the pinning validity period (in seconds), includeSubDomains to extend pinning to subdomains, and optionally report-uri for violation reporting. Upon receiving the header during an initial connection, the user agent stores the pinset and enforces it on subsequent visits within the specified timeframe, requiring at least one matching pin from the current or a designated backup pin to avoid connection failures. This trust-on-first-use () model aimed to limit reliance on authorities () by detecting unauthorized key changes, enhancing protection against misissuance after the first successful connection. Despite its innovative approach to public key pinning, HPKP faced significant challenges, including low adoption rates due to its complexity in managing pinsets for certificate rotations and load balancing, as well as severe operational risks such as self-inflicted from misconfigurations or expired pins, which could lock users out of sites for extended periods. Additionally, it was vulnerable to exploitation in man-in-the-middle scenarios or , where attackers could impose hostile pins to disrupt access. These issues, coupled with the rise of more robust alternatives like for detecting misissued certificates and for direct key pinning, led to its rapid decline. HPKP support was deprecated and removed across major browsers starting in 2018. announced its deprecation in 67 (May 2018) and full removal in 72 (January 2019), citing the mechanism's risks and recommending the Expect-CT header as a transitional for enforcement. followed suit, disabling HPKP by default in 72 (December 2019) and removing it entirely to reduce compatibility errors and , as continuing support would isolate users on misconfigured sites after 's exit. Other browsers, including and , never fully implemented it or have since dropped support. As of 2025, HPKP is obsolete and unsupported in all major web browsers, rendering it ineffective for new deployments and advising against its use in favor of modern PKI safeguards.

Background

History and Development

HTTP Public Key Pinning (HPKP) originated from efforts by to address vulnerabilities in the (PKI) for web security. In November 2011, Google engineers Chris Evans and Chris Palmer submitted the initial Internet-Draft titled "Public Key Pinning Extension for HTTP" to the (IETF), marking the formal proposal of the mechanism. This draft introduced the concept of using an HTTP header to instruct user agents to associate specific public keys with a host, thereby mitigating risks from compromised certificate authorities. The proposal was developed within the IETF's Web Security (WebSec) Working Group, which focused on enhancing protections. HPKP evolved alongside other initiatives like (), contributing to a broader push for standardized measures to prevent man-in-the-middle attacks through improved handling. Over the following years, multiple revisions of the draft incorporated feedback, with Ryan Sleevi joining as a co-author in later versions to refine the specification. A key milestone occurred in 2014 when implemented HPKP support in version 38, enabling early adoption and testing of the feature in production environments. The effort culminated in 2015 with the publication of 7469 as a Proposed Standard, formally defining the Public Key Pinning Extension for HTTP and authored by Evans, , and Sleevi. This document established HPKP as a proposed standard, though its evolution highlighted ongoing debates about its practical deployment and risks.

Security Motivations

HTTP Public Key Pinning (HPKP) was primarily developed to mitigate man-in-the-middle (MITM) attacks that exploit compromised certificate authorities (CAs), where attackers could obtain fraudulent certificates to impersonate legitimate websites. In such scenarios, a compromised CA can issue certificates for any domain, allowing attackers to intercept and decrypt HTTPS traffic without detection, as clients trust the CA's signature on the certificate chain. The vulnerabilities in the (PKI) stem from the hierarchical trust model, where clients rely on a chain of CA signatures rather than directly verifying the server's public key, creating multiple points of failure if any CA in the chain is breached. A prominent example is the 2011 DigiNotar breach, in which hackers compromised the Dutch and issued over 500 fraudulent certificates for domains like and , enabling widespread MITM attacks primarily targeting Iranian users. This incident highlighted how even a single compromised CA could undermine global trust in the PKI ecosystem, as browsers and operating systems inherently trust numerous CAs without granular validation. HPKP addresses these issues by allowing websites to specify and pin particular public keys or hashes, enforcing that future connections only accept certificates backed by those exact keys, thereby bypassing reliance on potentially untrustworthy CA signatures. This mechanism strongly asserts the site's cryptographic identity, even against issuer malfeasance or compromise, reducing the from the entire CA hierarchy to a controlled set of keys. For high-value sites handling sensitive data, such as or portals, HPKP provides enhanced protection against key substitution attacks by limiting the valid options to pre-approved pins, significantly raising the bar for adversaries attempting to forge trusted connections. This targeted approach ensures that the pinned keys remain the sole basis for authentication during the pinning period, offering a more robust defense than CA-only validation.

Technical Mechanism

Pinning Process

The pinning process in HTTP Public Key Pinning (HPKP) begins when a , during a secure transport connection such as TLS, includes the Public-Key-Pins HTTP response header in its message to the (UA), typically a . This header instructs the UA to associate a set of cryptographic public keys, known as a pin-set, with the host's domain for a specified duration. The header must include at least the max-age directive, indicating the number of seconds (e.g., 2592000 for 30 days) the pin-set remains valid, and one or more pin-sha256 directives specifying base64-encoded SHA-256 hashes of the public keys to pin. Upon receiving a valid Public-Key-Pins header over a secure connection, the extracts the pin-set and marks the host as a Known Pinned . It then stores the , the effective date of pinning (the current time), the expiration time (effective date plus max-age), and the pin-set hashes in its local storage. Pins are computed by taking the Subject Public Key Info (SPKI) structure from certificates—specifically, the DER-encoded public key data—and hashing it with SHA-256, then encoding the result in base64. This process ensures that only the specified public keys are trusted for future interactions with the host, preventing the use of unauthorized certificates issued by compromised certificate authorities. For subsequent connections to the pinned host within the max-age period, the UA performs pin-set validation by examining the entire certificate chain presented by the server. It computes SHA-256 SPKI hashes for the end-entity certificate and each intermediate certificate in the chain, then checks whether at least one of these hashes matches a hash in the stored pin-set. To support key rotation—such as transitioning to a new certificate—the pin-set typically includes a backup pin, which is a hash of a future public key not currently in use but expected to be valid later. If the intersection between the presented chain's hashes and the stored pin-set is non-empty (i.e., at least one valid pin matches), the connection proceeds; otherwise, validation fails. In enforcement mode, which is the default for HPKP, a pin validation is treated as a non-recoverable . The immediately terminates the connection without allowing user overrides or fallbacks, ensuring strict adherence to the pinned keys and mitigating risks from impersonation attacks. This includes scenarios where the entire pin-set mismatches or where technical issues, such as an expired max-age, prevent validation, in which case the falls back to standard certificate verification until a new header refreshes the pins. Site operators must carefully manage pin-sets to include backup pins, as a to do so could lock users out if keys are rotated without prior announcement.

HTTP Header Directives

The HTTP Public-Key-Pins header, defined in RFC 7469, instructs user agents to associate specific cryptographic public keys with a web host, enabling pinning to prevent impersonation by unauthorized certificates. The header follows the general syntax Public-Key-Pins: <directive>*(OWS ";" OWS <directive>), where directives are case-insensitive and their order does not matter; unrecognized directives are ignored, and the header must appear at most once per response. Key directives include max-age, includeSubDomains, pin-sha256, and the optional report-uri. The max-age directive is mandatory and specifies the time period, in seconds, for which the pinning policy applies, using the format max-age=<delta-seconds> where <delta-seconds> is a positive . For example, max-age=518400 sets the policy for 6 days (518,400 seconds). User agents may enforce an upper limit on this value, such as 5,184,000 seconds (60 days), to balance security with operational flexibility. The includeSubDomains directive, when present without a value, extends the pinning policy to all s of the host unless overridden by a more specific policy. It is optional and useful for sites with subdomain architectures sharing the same . The pin-sha256 directive pins specific public keys by including their base64-encoded SHA-256 hashes of the Subject Key Info (SPKI), in the format pin-sha256="<base64 SHA-256 hash>"; at least one such directive is required, and multiple can be specified. These hashes represent either the server's current public key or backup keys not present in the existing certificate chain, as computed from the DER-encoded SPKI structure (detailed in the pinning process). For instance, pin-sha256="d6qzRu9zOECb90Uez27xWltNsj0e1Md7GkYYkVoZWmM=" pins a specific . The optional report-uri directive specifies a for reporting pinning violations, using the format report-uri="<absolute-URI>", such as report-uri="https://example.com/report". It enables server-side monitoring without enforcing the policy. A sample header for a site pinning its and a might read:
Public-Key-Pins: max-age=3000; pin-sha256="d6qzRu9zOECb90Uez27xWltNsj0e1Md7GkYYkVoZWmM="; pin-sha256="E9CZ9INDbd+2eRQozYqqbQ2yXLVKB9+xcprMF+44U1g="; includeSubDomains
This sets a 50-minute policy (3,000 seconds) applying to subdomains, pinning two keys. Another example, including , is:
Public-Key-Pins: max-age=2592000; pin-sha256="E9CZ9INDbd+2eRQozYqqbQ2yXLVKB9+xcprMF+44U1g="; report-uri="https://example.com/pkp-report"
This applies a 30-day policy (2,592,000 seconds) with a single backup pin and violation . Constraints include the requirement for at least two pins: one matching a key in the current chain and at least one backup to avoid self-denial-of-service. While max-age can be as low as 1 second, practical deployments typically use values of several days or more to ensure effective enforcement, with 60 days as a common upper recommendation. User agents limit the number of pins processed, often to around 10, but operators are advised to use 1-2 primary pins plus backups for simplicity and reliability.

Reporting and Enforcement

Report-Only Mode

The Public-Key-Pins-Report-Only header provides a non-enforcing variant of HTTP Public Key Pinning (HPKP), enabling site operators to deploy and test pinning policies without interrupting user access to the site. This header uses the same directive syntax as the enforcing Public-Key-Pins header but instructs user agents to evaluate the policy only for purposes, rather than blocking on validation failures. By design, it allows administrators to monitor potential issues in real-world scenarios, such as mismatched public keys during certificate rotations, thereby facilitating safer experimentation. In terms of browser behavior, user agents process the Public-Key-Pins-Report-Only header by validating the current connection against the specified pins but do not store or cache the policy for future use, as the max-age directive is ignored. If a violation is detected—such as when the served chain does not match any pinned key—the generates a report but proceeds with the connection uninterrupted, in contrast to the enforcing mode which would terminate the session. This one-time evaluation per response ensures that testing remains isolated to the immediate request, minimizing unintended side effects. The primary purpose of this mode is to support gradual rollout and validation of pin-sets, allowing operators to collect violation data and refine configurations before enabling enforcement. For instance, it is recommended for initial deployments on production sites with a short max-age value to observe behavior across diverse user agents, or for on subsets of resources to verify pin validity without broad disruption. This approach helps build confidence in the pinning strategy, as reports can reveal issues like incomplete sub-domain coverage or key backup omissions early in the process.

Violation Reporting

Violation reporting in HTTP Public Key Pinning (HPKP) is triggered when a encounters a pin validation failure for a known pinned that includes a report-uri directive in its , whether in enforcing or report-only . This mechanism allows site operators to receive notifications of potential issues, such as mismatched certificates or compromised keys, without necessarily blocking the connection in report-only . The report is sent as an HTTP POST request to the specified in the report-uri directive, containing a payload with detailed information about the violation. Key fields in the include:
  • date-time: The time of the validation failure, formatted according to RFC 3339.
  • hostname: The of the original request.
  • port: The port number of the request, as an integer.
  • effective-expiration-date: The expiration date of the pins, in RFC 3339 format.
  • include-subdomains: A boolean indicating whether the includeSubDomains directive was present.
  • noted-hostname: The recognized as a known pinned host.
  • served-certificate-chain: An array of PEM-encoded certificates from the served chain.
  • validated-certificate-chain: An array of PEM-encoded certificates from the validated chain.
  • known-pins: An array of the pinned Subject Public Key Info (SPKI) fingerprints.
User agents are required to make a best-effort attempt to deliver these reports but may cancel transmission if the connection to the report-uri itself fails pin validation or encounters other certificate errors. Browser implementations varied in support for HPKP violation reporting. , starting with version 46, sent reports for violations detected via the Public-Key-Pins-Report-Only header, applying validation to all relevant requests including those to the report endpoint, and recommended using an unpinned for the report-uri to avoid recursive failures. Firefox did not implement the report-uri directive for HPKP reporting, limiting its support to enforcement without notifications. To prevent abuse or server overload, user agents implemented rate-limiting, such as avoiding redundant reports for identical pin sets, and could retry failed deliveries under certain conditions. Upon receipt, servers can analyze these reports to identify issues like invalid pins or key compromises, enabling operators to update pin sets, revoke affected keys, or refine policies accordingly.

Criticisms and Risks

Implementation Challenges

Implementing HTTP Public Key Pinning (HPKP) presents several practical difficulties in deployment and maintenance, primarily due to the need for precise coordination between certificate management and enforcement. Operators must possess significant operational maturity to avoid self-inflicted denials of service, as mismatched pins can render sites inaccessible to users whose browsers have cached the headers. Key rotation poses a major challenge, as certificate renewals often introduce new public keys that must be anticipated and incorporated into pinsets well in advance. Without careful planning, sites risk locking out users during transitions, particularly since browsers enforce pins for the duration specified by the max-age directive, which user agents may cap at 60 days to allow recovery from errors. To mitigate this, operators are advised to phase in new keys gradually and include backup pins—fingerprints of secondary, offline keys—for , ensuring at least one valid pin remains available even if the is compromised or expires unexpectedly. Deploying HPKP in distributed environments, such as those using load balancers or content delivery networks (CDNs), introduces complications from inconsistent usage across infrastructure components. Load-balanced systems may present different valid certificates depending on geographic location or backend server, necessitating comprehensive pinsets that encompass all potential keys to prevent violations. CDNs exacerbate this by frequently rotating edge certificates for security reasons, which can invalidate pins and cause widespread outages if not synchronized with the origin server's headers. Debugging HPKP violations is hindered by common configuration errors, such as incorrect hash generation (e.g., using instead of SHA-256) or failing to account for variations when the includeSubDomains directive is enabled. These mistakes often as errors like ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN, requiring operators to verify pinsets against all chains and test across multiple agents. The model further complicates , as initial misconfigurations can propagate without immediate feedback unless report-uri is utilized to log violations. The operational overhead of HPKP is substantial, involving continuous of violation reports, of client pinsets with keys, and periodic updates to max-age values without introducing downtime. This demands dedicated resources for auditing and maintaining pinsets, especially in dynamic environments, where even minor desynchronizations can lead to service disruptions.

Security Trade-offs

HTTP Public Key Pinning (HPKP) provides robust defense against man-in-the-middle (MITM) attacks enabled by compromised certificate authorities (CAs) by restricting browsers to predefined public keys, but this comes at the cost of heightened operational risks for site operators. The mechanism enforces strict key validation, which can enhance security in targeted scenarios but introduces vulnerabilities if not managed meticulously, as evidenced by its eventual in major browsers due to these imbalances. A primary risk is brickage, where a becomes permanently inaccessible to users if the private keys corresponding to pinned public keys are lost or if pins are misconfigured, such as through expiration without proper renewal. Without adequate pins—secondary keys stored offline to allow —browsers will reject all connections to the domain once the maximum age period elapses, potentially locking out legitimate users for weeks or months depending on the configured duration. This self-inflicted denial-of-service scenario has been cited as a key reason for HPKP's limited adoption and subsequent removal, as the window is intentionally narrow to maintain . HPKP also diminishes flexibility within the CA ecosystem by circumventing the broader trust model of (PKI), where sites rely on multiple for redundancy. By pinning specific subject public keys or issuer keys, sites forgo the ability to seamlessly switch CAs or incorporate new ones without updating pins, which requires broadcasting new headers and waiting out the max-age period—often 30 to 60 days—to avoid brickage. This rigidity complicates multi-vendor management and adaptation to evolving PKI standards, trading short-term gains for long-term operational constraints. The protocol expands the in subtle ways, particularly through its and mechanisms. Violation reports sent to a designated URI could be intercepted if not secured with , potentially leaking sensitive validation details to adversaries, though user agents mitigate this by limiting report frequency. Compromised pins pose another threat: since backups are public, an attacker gaining the associated private key could perform persistent MITM attacks during the transition period, undermining the very protections HPKP aims to provide. These exposures, combined with the potential for hostile pinning via initial MITM before enforcement, highlight how HPKP shifts risks from CA dependencies to intricacies. In terms of comparative efficacy, HPKP excels at thwarting CA breaches by invalidating unauthorized certificates, even from trusted issuers, offering stronger safeguards than standard TLS validation alone. However, it provides limited defense against threats like , where an attacker redirects traffic to a malicious ; while pin mismatches would such , the does not address the underlying vulnerabilities, leaving sites exposed if DNS integrity is compromised upstream. Overall, its narrow focus on key pinning renders it less versatile than holistic alternatives like , which monitor issuance without enforcing rigid locks.

Deprecation and Legacy

Browser Support Timeline

HTTP Public Key Pinning (HPKP) saw its initial browser adoption in 2014 with version 37, released in September 2014, which introduced support for the mechanism to enhance certificate security against mis-issuance attacks. This was followed by Mozilla Firefox in version 35, launched in January 2015, enabling users to enforce pinned public keys via HTTP headers. , based on the engine, integrated HPKP in version 25 in 2015. By 2016, HPKP reached peak support across major browsers, with , , and providing full enforcement of pinning policies, allowing websites to specify and validate cryptographic identities for extended periods. This widespread availability marked a brief era of robust implementation, where browsers actively blocked connections to sites using untrusted certificates if they violated pinned keys, contributing to heightened security for HTTPS deployments during that time. Deprecation began in 2019 amid concerns over usability and risks. version 72, released in January 2019, fully removed HPKP support, transitioning any remaining dynamic pinning to report-only mode without enforcement to avoid site breakage. Similarly, Firefox version 72, released in December 2019, disabled HPKP enforcement by default, setting the pinning level to report-only and ceasing active validation of new pins. As of November 2025, no major browser enforces HPKP policies, rendering the mechanism obsolete for new implementations.

Alternatives to HPKP

(CT) serves as a primary alternative to HPKP by establishing a system of publicly verifiable logs for all issued TLS certificates, enabling domain owners and subscribers to monitor and detect unauthorized or mis-issued certificates in near . This framework uses append-only Merkle trees to record certificates, with Signed Certificate Timestamps (SCTs) embedded in certificates or delivered via TLS extensions, allowing browsers to verify compliance without relying on site-specific key pinning. Since April 30, 2018, has mandated CT inclusion for all publicly trusted certificates issued after that date, treating non-compliant ones as invalid; similar requirements have been adopted by other major browsers, such as enforcing it for public CAs starting in version 135 (February 2025). The Expect-CT HTTP header acted as a precursor to full CT enforcement, instructing browsers to check for SCTs in a report-only mode and report violations, thereby encouraging compliance during the transition period. Introduced by in 2018, it allowed sites to opt into CT validation with a configurable max-age and report-uri for violations, but it became obsolete as mandatory CT took effect, leading to its deprecation in 105 in August 2022 and removal in subsequent versions. Certification Authority Authorization (CAA) DNS records provide another key alternative by allowing domain owners to specify which certificate authorities (CAs) are permitted to certificates for their domains, effectively restricting mis-issuance at the issuance stage without the rigidity of key pinning. Defined in RFC 8659, CAA records include tags like "" to authorize specific CAs and "iodef" for reporting unauthorized attempts; CAs have been required to query and respect these records before issuing certificates since September 2017 under CA/Browser Forum Ballot 187. When combined with DNSSEC for cryptographic validation of DNS responses, CAA enables multi-perspective validation, where issuance checks occur from multiple network vantage points to mitigate localized attacks like . Starting in September 2025, the CA/Browser Forum's Multi-Perspective Issuance Corroboration (MPIC) requirement further strengthens this by mandating consistent validation results across independent perspectives for domain control and CAA checks. Emerging standards for key attestation, such as those defined by the , support device-bound keys through mechanisms like the Attestation Application Identifier (AAID), which identifies the authenticator type and enables verification of and storage within secure hardware environments. These protocols, part of FIDO2 and specifications, provide pinning-like assurances for credentials by attesting that keys are bound to specific devices and resistant to extraction, offering an alternative in scenarios beyond TLS where key compromise must be prevented. For modern deployments seeking HPKP-like security, experts recommend combining (HSTS) with preload lists—where sites submit to browser-maintained lists for enforced redirection—and for ongoing monitoring, as this layered approach mitigates impersonation risks without the potential for self-denial-of-service inherent in pinning. This strategy has been endorsed by browser vendors and security standards bodies as a balanced, scalable solution since HPKP's .

References

  1. [1]
    RFC 7469: Public Key Pinning Extension for HTTP
    This document defines a new HTTP header that allows web host operators to instruct user agents to remember ("pin") the hosts' cryptographic identities over a ...
  2. [2]
    Certificate and Public Key Pinning | OWASP Foundation
    Deprecation was completed by 2019. Pinsets were key to making pinning workable. Rather than pinning one key, you pin a set of keys. HPKP allowed for pinsets of ...
  3. [3]
    Deprecations and Removals in Chrome 67 | Blog
    Apr 27, 2018 · Deprecate HTTP-Based Public Key Pinning. HTTP-Based Public Key Pinning (HPKP) was intended to allow websites to send an HTTP header that pins ...
  4. [4]
    1412438 - consider removal of HTTP Public Key Pinning (HPKP)
    Chromium will be removing support for HTTP Public Key Pinning (HPKP). It seems like Gecko should consider that removal as well.
  5. [5]
    HTTP Public Key Pinning | Can I use... Support tables for HTML5 ...
    "Can I use" provides up-to-date browser support tables for support of front-end web technologies on desktop and mobile web browsers.
  6. [6]
    HPKP - Glossary - MDN Web Docs - Mozilla
    Jul 11, 2025 · HTTP Public Key Pinning (HPKP) is an obsolete security feature that tells a web client to associate a specific cryptographic public key with a certain web ...
  7. [7]
    draft-ietf-websec-key-pinning-00
    Public Key Pinning Extension for HTTP · This is an older version of an Internet-Draft that was ultimately published as RFC 7469. Expired & archived · 00 · 01 · 02 ...Missing: initial | Show results with:initial
  8. [8]
    RFC 7469 - Public Key Pinning Extension for HTTP - IETF Datatracker
    RFC 7469. Compare versions. RFC 7469, draft-ietf-websec-key-pinning-21, draft ... Authors, Chris Evans , Chris Palmer , Ryan Sleevi · Email authors. RFC stream ...
  9. [9]
    Secure websites shun HTTP Public Key Pinning | Netcraft
    Mar 21, 2016 · The HTTP Public Key Pinning header, or HPKP, can prevent fraudsters using mis-issued TLS certificates. While it offers a robust defence against website ...``who Dares Pins'' · Github · Why Are So Few Sites Daring...<|control11|><|separator|>
  10. [10]
    RFC 7469: Public Key Pinning Extension for HTTP
    This document defines a new HTTP header that allows web host operators to instruct user agents to remember ("pin") the hosts' cryptographic identities over a ...
  11. [11]
    None
    ### Summary of PKI Vulnerabilities from http://www.cs.auckland.ac.nz/~pgut001/pubs/pkitutorial.pdf
  12. [12]
  13. [13]
  14. [14]
  15. [15]
  16. [16]
  17. [17]
  18. [18]
  19. [19]
  20. [20]
    Rolling out public key pinning with HPKP reporting | Blog
    Aug 31, 2015 · Chrome will never block requests based on the pins in a Report-Only header, so this is a safe way to try out HPKP and see if it causes problems ...Missing: behavior | Show results with:behavior
  21. [21]
  22. [22]
  23. [23]
    Analysing HSTS and HPKP implementation in both browsers and ...
    Jul 1, 2018 · In Chrome, as stated in the RFC, at least one of the HPKP pins sent through the web must match the visited certificate validation chain.
  24. [24]
  25. [25]
  26. [26]
  27. [27]
    Pinning - OWASP Cheat Sheet Series
    ### Summary of HTTP Public Key Pinning Implementation Challenges
  28. [28]
    Certificate pinning - SSL/TLS - Cloudflare Docs
    Aug 13, 2025 · Learn why Cloudflare does not support HTTP public key pinning (HPKP) and consider an alternative solution to prevent certificate misissuance ...
  29. [29]
  30. [30]
    modern alternatives to outdated certificate pinning practices
    Jul 29, 2024 · In this post, we'll dive into certificate pinning, the consequences of using it in today's Public Key Infrastructure (PKI) world, and alternatives to pinning.
  31. [31]
    Google Chrome 72 removes HPKP, deprecates TLS 1.0 and TLS 1.1
    Jan 29, 2019 · Now that it's removed, Chrome won't support sites that use HPKP at all, refusing to pin public keys. Fortunately, this won't affect that many ...
  32. [32]
    Certificate Transparency in Chrome | CertificateTransparency
    Chrome requires all publicly-trusted TLS certificates issued after April 30, 2018 to support CT in order to be recognized as valid. This site provides details ...
  33. [33]
    Certificate Transparency - Security - MDN Web Docs - Mozilla
    May 5, 2025 · Google Chrome 107 and later requires CT log inclusion for all certificates issued with a notBefore date of after 30 April 2018. Users will ...
  34. [34]
    Expect-CT header - HTTP - MDN Web Docs
    Jul 4, 2025 · Certificates issued before March 2018 were allowed to have a lifetime of 39 months, so they had expired in June 2021. Chromium plans to ...Missing: HPKP | Show results with:HPKP
  35. [35]
    The end of Expect-CT - URIports
    Sep 6, 2022 · With the release of the latest Google Chrome browser (105) at the end of August 2022, the Expect-CT header has officially been deprecated and ...
  36. [36]
    [PDF] Baseline Requirements for the Issuance and Management of ...
    Sep 6, 2024 · Multi-Perspective Issuance Corroboration: A process by which the determinations made during domain validation and CAA checking by the Primary ...Missing: HPKP | Show results with:HPKP<|control11|><|separator|>
  37. [37]
    Multi-Perspective Issuance Corroboration for Digital Certificates
    Jun 26, 2025 · Starting in September 2025, certificate issuance will require corroboration, aka consistent validation results from multiple independent network perspectives.How Mpic Works · Mpic Implementation Phases... · Preparing Your Systems For...
  38. [38]
    HPKP is deprecated. What now? - Tim De Grande - JWorks Tech Blog
    Feb 12, 2018 · Google announced their intent to deprecate support for Public Key Pinning (HPKP). Let's have a look at the reasons for this and what technologies we can use to ...