Expand description
RustCrypto: SEC1 Elliptic Curve Cryptography Formats
About
Pure Rust implementation of SEC1: Elliptic Curve Cryptography encoding
formats including ASN.1 DER-serialized private keys (also described in
RFC5915) as well as the Elliptic-Curve-Point-to-Octet-String
and
Octet-String-to-Elliptic-Curve-Point
encoding algorithms.
Minimum Supported Rust Version
This crate requires Rust 1.65 at a minimum.
We may change the MSRV in the future, but it will be accompanied by a minor version bump.
License
Licensed under either of:
at your option.
Contribution
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.
serde
support
When the serde
feature of this crate is enabled, the EncodedPoint
type receives impls of serde::Serialize
and serde::Deserialize
.
Additionally, when both the alloc
and serde
features are enabled, the
serializers/deserializers will autodetect if a “human friendly” textual
encoding is being used, and if so encode the points as hexadecimal.
Re-exports
pub use der;
pub use crate::point::EncodedPoint;
pub use der::pem;
pub use pkcs8;
Modules
- consts
point
Type aliases for many constants. - point
point
Support for the SEC1Elliptic-Curve-Point-to-Octet-String
andOctet-String-to-Elliptic-Curve-Point
encoding algorithms.
Structs
- EcPrivateKey
der
SEC1 elliptic curve private key.
Enums
- EcParameters
der
Elliptic curve parameters as described in RFC5480 Section 2.1.1: - Error type
- LineEnding
pem
Line endings: variants of newline characters that can be used with Base64.
Constants
- ALGORITHM_OID
pkcs8
Algorithm [ObjectIdentifier
] for elliptic curve public key cryptography (id-ecPublicKey
).
Traits
- Parse an
EcPrivateKey
from a SEC1-encoded document. - EncodeEcPrivateKey
alloc
andder
Serialize aEcPrivateKey
to a SEC1 encoded document.
Type Definitions
- Result type with
sec1
crate’sError
type.