Crate pkcs8[−][src]
Pure Rust implementation of Public-Key Cryptography Standards (PKCS) #8: Private-Key Information Syntax Specification (as defined in RFC 5208).
About
This is a minimalistic library targeting no_std
platforms and small code
size. It supports decoding/encoding of the following types without the use
of a heap:
PrivateKeyInfo
: algorithm identifier and data representing a private key.SubjectPublicKeyInfo
: algorithm identifier and data representing a public key.
When the alloc
feature is enabled, the following additional types are
available which provide more convenient decoding/encoding support:
PrivateKeyDocument
: heap-backed storage for serializedPrivateKeyInfo
.PublicKeyDocument
: heap-backed storage for serializedSubjectPublicKeyInfo
.
When the pem
feature is enabled, it also supports decoding/encoding
documents from "PEM encoding" format as defined in RFC 7468.
Supported Algorithms
This crate has been tested against keys generated by OpenSSL for the following algorithms:
- ECC (
id-ecPublicKey
) - Ed25519 (
Ed25519
) - RSA (
rsaEncryption
)
It may work with other algorithms which use an optional OID for
AlgorithmIdentifier
parameters.
Encrypted private keys are presently unsupported.
Minimum Supported Rust Version
This crate requires Rust 1.46 at a minimum.
Re-exports
pub use der; |
Structs
AlgorithmIdentifier | X.509 |
ObjectIdentifier | Object identifier (OID) |
PrivateKeyDocument | alloc PKCS#8 private key document |
PrivateKeyInfo | PKCS#8 |
PublicKeyDocument | alloc SPKI public key document |
SubjectPublicKeyInfo | X.509 |
Enums
AlgorithmParameters | The |
Error | Error type |
Traits
FromPrivateKey | Parse a private key object from a PKCS#8 encoded document. |
FromPublicKey | Parse a public key object from an encoded SPKI document. |
ToPrivateKey | alloc Serialize a private key object to a PKCS#8 encoded document. |
ToPublicKey | alloc Serialize a public key object to a SPKI-encoded document. |
Type Definitions
Result | Result type |