PackageTrack
Sign in Get early access

rustls-pemfile

Basic .pem file parser for keys and certificates

2.2.0 512M downloads/mo #205 most downloaded on crates.io rustls/pemfile

What this package is like to depend on

Last release 2 years ago

no release in 18 months

Ships fairly regularly

a new release about every 2 months

Some releases are documented

notes for 6 of 14 stable releases

1 version withdrawn

withdrawn after publishing

6 years old

18 releases · first in 2020

0 releases in the last 12 months

see the full history below

Release timeline

18 releases · Dec 2020 to Sep 2024
2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 18
  1. 2.2.0 30 Sep 2024
    Release notes

    Release notes

    The main function of this crate has been incorporated into rustls-pki-types. 2.2.0 maintains the existing public API for this crate, on top of this new implementation. This drops the dependency on the base64 crate, and allows for constant-time decoding of private keys.

    This crate will continue to exist in its current form, but it is somewhat unlikely that the API will be extended from its current state.

    Should you wish to migrate to using the new rustls-pki-types PEM APIs directly, here is a rough cheat-sheet:

    Use case Replace
    File stream to CertificateDer iterator rustls_pemfile::certs(io::BufRead)
    ➡️
    CertificateDer::pem_reader_iter(io::Read)
    File stream to one PrivateKeyDer rustls_pemfile::private_key(io::BufRead)
    ➡️
    PrivateKeyDer::from_pem_reader(io::Read)
    File stream to one CertificateSigningRequestDer rustls_pemfile::csr(io::BufRead)
    ➡️
    CertificateSigningRequestDer::from_pem_reader(io::Read)
    File stream to CertificateRevocationListDer iterator rustls_pemfile::crls(io::BufRead)
    ➡️
    CertificateRevocationListDer::pem_reader_iter(io::Read)
    File stream to PrivatePkcs1KeyDer iterator rustls_pemfile::rsa_private_keys(io::BufRead)
    ➡️
    PrivatePkcs1KeyDer::pem_reader_iter(io::Read)
    File stream to PrivatePkcs8KeyDer iterator rustls_pemfile::pkcs8_private_keys(io::BufRead)
    ➡️
    PrivatePkcs8KeyDer::pem_reader_iter(io::Read)
    File stream to PrivateSec1KeyDer iterator rustls_pemfile::ec_private_keys(io::BufRead)
    ➡️
    PrivateSec1KeyDer::pem_reader_iter(io::Read)
    File stream to SubjectPublicKeyInfoDer iterator rustls_pemfile::public_keys(io::BufRead)
    ➡️
    SubjectPublicKeyInfoDer::pem_reader_iter(io::Read)

    What's Changed

    • Add semver checks action by @ctz in #54
    • Use pki-types pem decoding by @ctz in #55
    • Prepare 2.2.0 by @ctz in #56

    Full Changelog: v/2.1.3...v/2.2.0

    Open source →
    Release notes

    2.2.0 Latest

    Latest

    Compare

    Choose a tag to compare

    Open source →
  2. 2.1.3 03 Aug 2024
    Release notes

    Notable changes

    • Added support for raw public keys (see #51).

    What's Changed

    Open source →
    Release notes

    2.1.3

    Compare

    Choose a tag to compare

    Open source →
  3. 2.1.2 06 Apr 2024
    Release notes

    Dependency updates.

    What's Changed

    • Bump base64 from 0.21.5 to 0.22.0 by @dependabot in #44
    • Cargo: version 2.1.1 -> 2.1.2 by @alex in #45
    • Delete obsolete release history section by @ctz in #46

    New Contributors

    • @alex made their first contribution in #45

    Full Changelog: v/2.1.1...v/2.1.2

    Open source →
    Release notes

    2.1.2

    Compare

    Choose a tag to compare

    Open source →
  4. 2.1.1 01 Mar 2024
    Release notes

    Headlines

    • Leading whitespace in PEM document bodies is now trimmed in addition to trailing whitespace.

    What's Changed

    • Trim leading contiguous whitespace, fix nightly clippy warns by @cpu in #41
    • v2.1.1 preparation by @cpu in #42

    Full Changelog: v/2.1.0...v/2.1.1

    Open source →
    Release notes

    2.1.1

    Compare

    Choose a tag to compare

    Open source →
  5. 2.1.0 15 Feb 2024
    Release notes

    Headlines

    • Adds the csr function and the Item::Csr variant to support loading DER encoded Certificate Signing Requests (CSRs) from PEM inputs.

    What's Changed

    • add certificate signing request by @Tudyx in #37
    • Cargo: version 2.0.0 -> 2.1.0 by @cpu in #38

    New Contributors

    • @Tudyx made their first contribution in #37

    Full Changelog: v/2.0.0...v/2.1.0

    Open source →
    Release notes

    2.1.0

    Compare

    Choose a tag to compare

    Open source →
  6. 2.0.0 30 Nov 2023
    Release notes

    Headlines

    • Improving API stability. This crate now uses types from rustls-pki-types; we expect this to reduce the number of breaking changes in rustls ecosystem. As part of this, the Item enum's variants got renamed from Item::{RSAKey, PKCS8Key, ECKey} to Item::{Pkcs1Key, Pkcs8Key, Sec1Key}.
    • no_std support. This crate can now work optionally without std: use the new read_one_from_slice API.

    What's Changed

    • Switch to using the pki-types crate by @djc in #24
    • Bump version to 2.0.0-alpha.0 by @djc in #25
    • 2.0.0-alpha.1: take pki-types 0.2 by @ctz in #26
    • Add private_key() helper by @djc in #27
    • Bump actions/checkout from 3 to 4 by @dependabot in #28
    • Allow additionally parsing \r newlines in PEM files by @complexspaces in #30
    • add no-std support by @japaric in #29
    • Bump version to alpha.2 by @djc in #33

    New Contributors

    Full Changelog: v/1.0.4...v/2.0.0

    Open source →
    Release notes

    2.0.0

    Compare

    Choose a tag to compare

    Open source →
  7. 2.0.0-alpha.2 23 Nov 2023 pre-release

    Nothing published for this version

  8. 2.0.0-alpha.1 07 Sep 2023 pre-release

    Nothing published for this version

  9. 2.0.0-alpha.0 01 Sep 2023 pre-release

    Nothing published for this version

  10. 1.0.4 09 Nov 2023

    Nothing published for this version

  11. 1.0.3 28 Jun 2023

    Nothing published for this version

  12. 1.0.2 10 Jan 2023

    Nothing published for this version

  13. 1.0.1 02 Aug 2022

    Nothing published for this version

  14. 1.0.0 14 Apr 2022

    Nothing published for this version

  15. 0.3.0 05 Feb 2022

    Nothing published for this version

  16. 0.2.1 17 Apr 2021

    Nothing published for this version

  17. 0.2.0 28 Dec 2020

    Nothing published for this version

  18. 0.1.0 28 Dec 2020 withdrawn

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive