Skip to content

Releases: rustls/pemfile

2.2.0

30 Sep 16:27
@ctz ctz
Compare
Choose a tag to compare

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

2.1.3

03 Aug 13:09
@djc djc
v/2.1.3
Compare
Choose a tag to compare

Notable changes

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

What's Changed

2.1.2

06 Apr 13:15
@ctz ctz
Compare
Choose a tag to compare

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

2.1.1

01 Mar 16:08
@cpu cpu
v/2.1.1
Compare
Choose a tag to compare

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

2.1.0

15 Feb 15:25
@cpu cpu
v/2.1.0
Compare
Choose a tag to compare

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

2.0.0

30 Nov 18:04
@ctz ctz
Compare
Choose a tag to compare

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