PackageTrack
Sign in Get early access

pkcs8

Pure Rust implementation of Public-Key Cryptography Standards (PKCS) #8: Private-Key Information Syntax Specification (RFC 5208), with additional support for PKCS#8v2 asymmetric key packages (RFC 5958)

0.11.0 376M downloads/mo #303 most downloaded on crates.io RustCrypto/formats

What this package is like to depend on

Last release 3 months ago

27 Apr 2026

Ships fairly regularly

a new release about every 2 months

Nearly every release is documented

notes for 26 of 26 stable releases

8 versions withdrawn

withdrawn after publishing

6 years old

51 releases · first in 2020

7 releases in the last 12 months

see the full history below

Release timeline

51 releases · Jun 2020 to Apr 2026
2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 51
  1. 0.11.0 27 Apr 2026
    Release notes

    Added

    • Custom error types support to the Decode and DecodeValue traits (#1055)
    • PrivateKeyInfoRef / PrivateKeyInfoOwned type aliases (#1483)
    • Implement core::error::Error trait for Error (#2302)
    • Implement DecodePrivateKey/EncodePrivateKey traits for PrivateKeyInfoOwned (#2306)
    • KeyError enum (#2305)
    • ctutils feature (#2308)
    • getrandom feature (#2311)

    Changed

    • Eagerly decode PEM labels for better error messages (#1163)
    • Use pbes2::Parameters::generate_recommended (#1430, #2296)
    • Make PrivateKeyInfo generic around its backing storage (#1483)
    • Bump rand_core to 0.9 (#1658)
    • Use 2024 edition; bump MSRV to 1.85 (#1670)
    • Bump rand_core to v0.10 (#2198)
    • Error::KeyMalformed now wraps an inner KeyError for providing more detail (#2305)
    • Use TryCryptoRng instead of CryptoRng (#2309)

    Removed

    Open source →
    Release notes

    Added

    • Custom error types support to the Decode and DecodeValue traits (#1055)
    • PrivateKeyInfoRef / PrivateKeyInfoOwned type aliases (#1483)
    • Implement core::error::Error trait for Error (#2302)
    • Implement Decode/EncodePrivateKey trait for PrivateKeyInfoOwned (#2306)
    • KeyError enum (#2305)
    • ctutils feature (#2308)
    • getrandom feature (#2311)

    Changed

    • Eagerly decode PEM labels for better error messages (#1163)
    • Use pbes2::Parameters::generate_recommended (#1430, #2296)
    • Make PrivateKeyInfo generic around its backing storage (#1483)
    • Bump rand_core to 0.9 (#1658)
    • Use 2024 edition; bump MSRV to 1.85 (#1670)
    • Bump rand_core to v0.10 (#2198)
    • Error::KeyMalformed now wraps an inner KeyError for providing more detail (#2305)
    • Use TryCryptoRng instead of CryptoRng (#2309)

    Removed

    Open source →
  2. 0.11.0-rc.12 27 Apr 2026 pre-release
    Release notes

    This is a true "release candidate" in that we're just checking for any
    final showstoppers before cutting a final release

    Open source →
  3. 0.11.0-rc.11 11 Feb 2026 pre-release

    Nothing published for this version

  4. 0.11.0-rc.10 25 Jan 2026 pre-release

    Nothing published for this version

  5. 0.11.0-rc.9 19 Jan 2026 pre-release

    Nothing published for this version

  6. 0.11.0-rc.8 06 Nov 2025 pre-release

    Nothing published for this version

  7. 0.11.0-rc.7 15 Sep 2025 pre-release

    Nothing published for this version

  8. 0.11.0-rc.6 10 Jul 2025 pre-release

    Nothing published for this version

  9. 0.11.0-rc.5 03 Jul 2025 pre-release

    Nothing published for this version

  10. 0.11.0-rc.4 30 May 2025 pre-release

    Nothing published for this version

  11. 0.11.0-rc.3 23 Apr 2025 pre-release

    Nothing published for this version

  12. 0.11.0-rc.2 15 Feb 2025 pre-release

    Nothing published for this version

  13. 0.11.0-rc.1 06 Sep 2024 pre-release

    Nothing published for this version

  14. 0.11.0-rc.0 26 Jul 2024 pre-release

    Nothing published for this version

  15. 0.11.0-pre.0 08 Jan 2024 pre-release

    Nothing published for this version

  16. 0.10.2 05 Apr 2023
    Release notes

    Changed

    • Bump spki to v0.7.1 (#981)
    Open source →
  17. 0.10.1 05 Mar 2023
    Release notes

    Added

    • sha1-insecure feature (#913)
    Open source →
  18. 0.10.0 27 Feb 2023 withdrawn
    Release notes

    Changed

    • Use blanket impls for Decode* traits (#785)
    • Bump der dependency to v0.7 (#899)
    • Bump spki dependency to v0.7 (#900)
    • Bump pkcs5 dependency to v0.7 (#901)
    Open source →
  19. 0.9.0 08 May 2022
    Release notes

    Added

    • Error conversion support to pkcs8::spki::Error (#335)
    • Re-export AssociatedOid (#645)

    Changed

    • Use finish_non_exhaustive in Debug impls (#245)
    • Replace PrivateKeyDocument with der::SecretDocument (#571)
    • Bump der to v0.6 (#653)
    • Bump spki to v0.6 (#654)
    • Bump pkcs5 to v0.5 (#655)

    Removed

    • PrivateKeyDocument (#571)
    Open source →
  20. 0.9.0-pre.3 06 May 2022 pre-release

    Nothing published for this version

  21. 0.9.0-pre.2 05 May 2022 pre-release

    Nothing published for this version

  22. 0.9.0-pre.1 14 Mar 2022 pre-release

    Nothing published for this version

  23. 0.8.0 16 Nov 2021
    Release notes

    Added

    • Re-export spki crate (#210)

    Changed

    • Replace usages of expect with fallible methods (#108)
    • Impl From*Key/To*Key traits on Document types (#110)
    • Rename From/ToPrivateKey => DecodePrivateKey/EncodePrivateKey (#121)
    • Rust 2021 edition upgrade; MSRV 1.56 (#136)
    • Use der::Document to impl *PrivateKeyDocument (#140)
    • Rename Error::Crypto => Error::EncryptedPrivateKey (#213, #214)
    • Bump der dependency to v0.5 (#222)
    • Bump spki dependency to v0.5 (#223)
    • Bump pkcs5 dependency to v0.4 (#224)
    • Replace from_pkcs8_private_key_info with TryFrom (#230)

    Removed

    • *_with_le PEM encoding methods (#109)
    • PKCS#1 support; moved to pkcs1 crate (#124)
    • I/O related errors from key format crates (#158)
    • der::pem export (#211)
    Open source →
  24. 0.7.6 14 Sep 2021
    Release notes

    Added

    • 3des and des-insecure features
    • sha1 feature
    • Support for AES-192-CBC

    Changed

    • Moved to formats repo (#2)
    Open source →
  25. 0.7.5 26 Jul 2021
    Release notes

    Added

    • Support for customizing PEM LineEnding

    Changed

    • Bump pem-rfc7468 dependency to v0.2
    Open source →
  26. 0.7.4 25 Jul 2021
    Release notes

    Added

    • PKCS#1 support
    Open source →
  27. 0.7.3 24 Jul 2021
    Release notes

    Changed

    • Use pem-rfc7468 crate
    Open source →
  28. 0.7.2 20 Jul 2021
    Release notes

    Added

    • Error::ParametersMalformed variant
    Open source →
  29. 0.7.1 20 Jul 2021
    Release notes

    Added

    • Error::KeyMalformed variant
    Open source →
  30. 0.7.0 08 Jun 2021
    Release notes

    Added

    • ASN.1 error improvements

    Changed

    • Merge OneAsymmetricKey into PrivateKeyInfo
    • Use scrypt as the default PBES2 KDF
    • Return Result(s) when encoding
    • Bump der to v0.4
    • Bump spki to v0.4
    • Bump pkcs5 to v0.3
    Open source →
  31. 0.6.1 25 May 2021
    Release notes

    Added

    • Support for RFC5958's OneAsymmetricKey

    Changed

    • Bump der to v0.3.5
    Open source →
  32. 0.6.0 22 Mar 2021 withdrawn
    Release notes

    Changed

    • Bump der dependency to v0.3
    • Bump spki dependency to v0.3
    • Bump pkcs5 dependency to v0.2
    Open source →
  33. 0.5.5 17 Mar 2021
    Release notes

    Changed

    • Bump base64ct dependency to v1.0
    Open source →
  34. 0.5.4 24 Feb 2021
    Release notes

    Added

    • Encryption helper methods for FromPrivateKey/ToPrivateKey
    Open source →
  35. 0.5.3 23 Feb 2021
    Release notes

    Added

    • Support for decrypting/encrypting EncryptedPrivateKeyInfo
    • PEM support for EncryptedPrivateKeyInfo
    • Error::Crypto variant
    Open source →
  36. 0.5.2 20 Feb 2021
    Release notes

    Changed

    • Use pkcs5 crate
    Open source →
  37. 0.5.1 19 Feb 2021 withdrawn
    Release notes

    Added

    • pkcs5 feature

    Changed

    • Bump spki dependency to v0.2.0
    Open source →
  38. 0.5.0 17 Feb 2021 withdrawn
    Release notes

    Added

    • Initial EncryptedPrivateKeyInfo support

    Changed

    • Extract SPKI-related types into the spki crate
    Open source →
  39. 0.4.1 01 Feb 2021
    Release notes

    Changed

    • Bump basec4ct dependency to v0.2
    Open source →
  40. 0.4.0 26 Jan 2021 withdrawn
    Release notes

    Changed

    • Bump der crate dependency to v0.2
    • Use base64ct v0.1 for PEM encoding
    Open source →
  41. 0.4.0-pre 11 Jan 2021 pre-release withdrawn

    Nothing published for this version

  42. 0.3.3 22 Dec 2020
    Release notes

    Changed

    • Use der crate for decoding/encoding ASN.1 DER
    Open source →
  43. 0.3.2 17 Dec 2020
    Release notes

    Added

    • AlgorithmIdentifier::parameters_oid method
    Open source →
  44. 0.3.1 16 Dec 2020
    Release notes

    Changed

    • Bump const-oid dependency to v0.4
    Open source →
  45. 0.3.0 16 Dec 2020 withdrawn
    Release notes

    Added

    • AlgorithmParameters enum
    Open source →
  46. 0.2.2 14 Dec 2020
    Release notes

    Fixed

    • Decoding/encoding support for Ed25519 keys
    Open source →
  47. 0.2.1 14 Dec 2020
    Release notes

    Added

    • rustdoc improvements
    Open source →
  48. 0.2.0 14 Dec 2020
    Release notes

    Added

    • File writing methods for public/private keys
    • Methods for loading *Document types from files
    • DER encoding support
    • PEM encoding support
    • ToPrivateKey/ToPublicKey traits

    Changed

    • Error enum
    • Rename load_*_file methods to read_*_file
    Open source →
  49. 0.1.1 06 Dec 2020
    Release notes

    Added

    • Helper methods to load keys from the local filesystem
    Open source →
  50. 0.1.0 05 Dec 2020
    Release notes
    • Initial release
    Open source →
  51. 0.0.0 12 Jun 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