| Crates.io | pkcs8 |
| lib.rs | pkcs8 |
| version | 0.11.0-rc.10 |
| created_at | 2020-06-12 14:01:14.160533+00 |
| updated_at | 2026-01-25 03:23:17.960645+00 |
| description | 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) |
| homepage | https://github.com/RustCrypto/formats/tree/master/pkcs8 |
| repository | https://github.com/RustCrypto/formats |
| max_upload_size | |
| id | 253276 |
| size | 101,839 |
Pure Rust implementation of Public-Key Cryptography Standards (PKCS) #8: Private-Key Information Syntax Specification (RFC 5208).
PKCS#8 is a format for cryptographic private keys, often containing pairs of private and public keys.
You can identify a PKCS#8 private key encoded as PEM (i.e. text) by the following:
-----BEGIN PRIVATE KEY-----
PKCS#8 private keys can optionally be encrypted under a password using key derivation algorithms like PBKDF2 and scrypt, and encrypted with ciphers like AES-CBC. When a PKCS#8 private key has been encrypted, it starts with the following:
-----BEGIN ENCRYPTED PRIVATE KEY-----
PKCS#8 private keys can also be serialized in an ASN.1-based binary format. The PEM text encoding is a Base64 representation of this format.
This crate is implemented in an algorithm-agnostic manner with the goal of enabling PKCS#8 support for any algorithm.
That said, it has been tested for interoperability against keys generated by OpenSSL for the following algorithms:
id-ecPublicKey)id-Ed25519)id-rsaEncryption)id-X25519)Please open an issue if you encounter trouble using it with a particular algorithm, including the ones listed above or other algorithms.
MSRV increases are not considered breaking changes and can happen in patch releases.
The crate MSRV accounts for all supported targets and crate feature combinations, excluding explicitly unstable features.
Licensed under either of:
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.