rustls-webpki
Web PKI X.509 Certificate Verification.
0.103.15
720M downloads/mo
#113 most downloaded on crates.io
rustls/webpki
What this package is like to depend on
Last release 2 days ago
21 Aug 2026
Release timing varies
gaps range from 1 weeks to 4 months
Rarely documented
notes for 6 of 36 stable releases
2 versions withdrawn
withdrawn after publishing
4 years old
56 releases · first in 2023
18 releases in the last 12 months
see the full history below
Release timeline
56 releases · Jan 2023 to Aug 2026Releases
latest 56-
0.104.0-alpha.721 Apr 2026 pre-releaseRelease notes
Open source →- Fix reachable panic in parsing a CRL. This was reported to us as GHSA-82j2-j2ch-gfr8. Users who don't use CRLs are not affected.
- For name constraints on URI names, we incorrectly processed excluded subtrees in a way which inverted the desired meaning. See #471. This was a case missing in the fix for GHSA-965h-392x-2mh5.
What's Changed
- Actually fail closed for URI matching against excluded subtrees by @djc in #471
- Adjust imports for tests by @ctz in #472
- GHSA-82j2-j2ch-gfr8
Full Changelog: v/0.104.0-alpha.6...v/0.104.0-alpha.7
-
0.104.0-alpha.613 Apr 2026 pre-release -
0.104.0-alpha.520 Mar 2026 pre-releaseRelease notes
Open source →Correct selection of candidate CRLs by Distribution Point and Issuing Distribution Point. If a certificate had more than one
distributionPoint, then only the firstdistributionPointwould be considered against each CRL'sIssuingDistributionPointdistributionPoint, and then the certificate's subsequentdistributionPoints would be ignored.The impact was that correct provided CRLs would not be consulted to check revocation. With
UnknownStatusPolicy::Deny(the default) this would lead to incorrect but safeError::UnknownRevocationStatus. WithUnknownStatusPolicy::Allowthis would lead to inappropriate acceptance of revoked certificates.This vulnerability is thought to be of limited impact. This is because both the certificate and CRL are signed -- an attacker would need to compromise a trusted issuing authority to trigger this bug. An attacker with such capabilities could likely bypass revocation checking through other more impactful means (such as publishing a valid, empty CRL.)
More likely, this bug would be latent in normal use, and an attacker could leverage faulty revocation checking to continue using a revoked credential.
This vulnerability is identified by GHSA-pwjx-qhcg-rvj4. Thank you to @1seal for the report.
What's Changed
- Take semver-compatible dependency updates by @djc in #448
- fix rust 1.94 ambiguous panic macro warnings by @cpu in #449
- avoid std::prelude imports by @cpu in #450
- Take semver-compatible dependency updates by @djc in #451
- Tweak SECURITY.md to provide guidance to sloperators by @djc in #454
- Fix formatting by @ctz in #456
- Take semver-compatible updates by @ctz in #459
- Prepare 0.104.0-alpha.5 by @ctz in #457
Full Changelog: v/0.104.0-alpha.4...v/0.104.0-alpha.5
-
0.104.0-alpha.404 Feb 2026 pre-releaseRelease notes
Open source →What's Changed
- tests: port client auth revocation tests to Rust by @djc in #442
- Drop dependency on crypto crates by @djc in #444
- Implement StdError for sct::Error by @djc in #446
Full Changelog: v/0.104.0-alpha.3...v/0.104.0-alpha.4
-
0.104.0-alpha.322 Jan 2026 pre-release -
0.104.0-alpha.228 Oct 2025 pre-releaseNothing published for this version
-
0.104.0-alpha.102 Oct 2025 pre-releaseNothing published for this version
-
0.103.1521 Aug 2026Release notes
Open source →Fixes
docs.rsbuild errors.What's Changed
Full Changelog: https://github.com/rustls/webpki/compare/v/0.103.14..v/0.103.15
-
0.103.1411 Aug 2026Release notes
Open source →What's Changed
- [0.103] Support stable ML-DSA by @djc in #523
- [0.103] Mark ML-DSA algorithms as FIPS submitted by @djc in #525
Full Changelog: v/0.103.13...v/0.103.14
-
0.103.1321 Apr 2026Release notes
Open source →- Fix reachable panic in parsing a CRL. This was reported to us as GHSA-82j2-j2ch-gfr8. Users who don't use CRLs are not affected.
- For name constraints on URI names, we incorrectly processed excluded subtrees in a way which inverted the desired meaning. See #471. This was a case missing in the fix for GHSA-965h-392x-2mh5.
What's Changed
- Actually fail closed for URI matching against excluded subtrees by @djc in #473
- Prepare 0.103.13 by @ctz in #474
Full Changelog: v/0.103.12...v/0.103.13
-
0.103.1214 Apr 2026Release notes
Open source →This release fixes two bugs in name constraint enforcement:
- GHSA-965h-392x-2mh5: name constraints for URI names were ignored and therefore accepted. URI name constraints are now rejected unconditionally. Note this library does not provide an API for asserting URI names, and URI name constraints are otherwise not implemented.
- GHSA-xgp8-3hg3-c2mh: permitted subtree name constraints for DNS names were accepted for certificates asserting a wildcard name. This was incorrect because, given a name constraint of
accept.example.com,*.example.comcould feasibly allow a name ofreject.example.comwhich is outside the constraint. This is very similar to CVE-2025-61727.
Since name constraints are restrictions on otherwise properly-issued certificates, these bugs are reachable only after signature verification and require misissuance to exploit.
What's Changed
Full Changelog: v/0.103.11...v/0.103.12
-
0.103.1110 Apr 2026Release notes
Open source →In response to #464, we've slightly relaxed requirements for
anchor_from_trust_cert()to ignore unknown extensions even if they're marked as critical. This only affects parsing aTrustAnchorfrom DER, for which most extensions are ignored anyway.What's Changed
-
0.103.1020 Mar 2026Release notes
Open source →Correct selection of candidate CRLs by Distribution Point and Issuing Distribution Point. If a certificate had more than one
distributionPoint, then only the firstdistributionPointwould be considered against each CRL'sIssuingDistributionPointdistributionPoint, and then the certificate's subsequentdistributionPoints would be ignored.The impact was that correctly provided CRLs would not be consulted to check revocation. With
UnknownStatusPolicy::Deny(the default) this would lead to incorrect but safeError::UnknownRevocationStatus. WithUnknownStatusPolicy::Allowthis would lead to inappropriate acceptance of revoked certificates.This vulnerability is thought to be of limited impact. This is because both the certificate and CRL are signed -- an attacker would need to compromise a trusted issuing authority to trigger this bug. An attacker with such capabilities could likely bypass revocation checking through other more impactful means (such as publishing a valid, empty CRL.)
More likely, this bug would be latent in normal use, and an attacker could leverage faulty revocation checking to continue using a revoked credential.
This vulnerability is identified by GHSA-pwjx-qhcg-rvj4. Thank you to @1seal for the report.
What's Changed
Full Changelog: v/0.103.9...v/0.103.10
-
0.103.916 Jan 2026Nothing published for this version
-
0.103.828 Oct 2025Nothing published for this version
-
0.103.701 Oct 2025Nothing published for this version
-
0.103.615 Sep 2025Nothing published for this version
-
0.103.511 Sep 2025Nothing published for this version
-
0.103.410 Jul 2025Nothing published for this version
-
0.103.309 May 2025Nothing published for this version
-
0.103.205 May 2025Nothing published for this version
-
0.103.125 Mar 2025Nothing published for this version
-
0.103.024 Feb 2025Nothing published for this version
-
0.102.809 Sep 2024Nothing published for this version
-
0.102.727 Aug 2024Nothing published for this version
-
0.102.622 Jul 2024Nothing published for this version
-
0.102.503 Jul 2024Nothing published for this version
-
0.102.416 May 2024Nothing published for this version
-
0.102.322 Apr 2024Nothing published for this version
-
0.102.202 Feb 2024Nothing published for this version
-
0.102.103 Jan 2024Nothing published for this version
-
0.102.030 Nov 2023Nothing published for this version
-
0.102.0-alpha.829 Nov 2023 pre-releaseNothing published for this version
-
0.102.0-alpha.723 Nov 2023 pre-releaseNothing published for this version
-
0.102.0-alpha.627 Oct 2023 pre-releaseNothing published for this version
-
0.102.0-alpha.505 Oct 2023 pre-releaseNothing published for this version
-
0.102.0-alpha.402 Oct 2023 pre-releaseNothing published for this version
-
0.102.0-alpha.313 Sep 2023 pre-releaseNothing published for this version
-
0.102.0-alpha.207 Sep 2023 pre-releaseNothing published for this version
-
0.102.0-alpha.101 Sep 2023 pre-releaseNothing published for this version
-
0.102.0-alpha.002 Aug 2023 pre-releaseNothing published for this version
-
0.101.724 Oct 2023Nothing published for this version
-
0.101.621 Sep 2023Nothing published for this version
-
0.101.512 Sep 2023 withdrawnNothing published for this version
-
0.101.422 Aug 2023Nothing published for this version
-
0.101.308 Aug 2023Nothing published for this version
-
0.101.226 Jul 2023Nothing published for this version
-
0.101.105 Jul 2023Nothing published for this version
-
0.101.004 Jul 2023Nothing published for this version
-
0.100.312 Sep 2023Nothing published for this version
-
0.100.222 Aug 2023Nothing published for this version
-
0.100.128 Mar 2023Nothing published for this version
-
0.100.013 Mar 2023Nothing published for this version
-
0.100.0-alpha.213 Jan 2023 pre-releaseNothing published for this version
-
0.100.0-alpha.110 Jan 2023 pre-releaseNothing published for this version
-
0.0.0-invalid09 Jan 2023 pre-release withdrawnNothing published for this version