#private-key #key #key-derivation #pkcs #private #encryption-key #key-pair

无需std pkcs8

纯Rust实现公钥加密标准(PKCS)#8:私钥信息语法规范(RFC 5208),并额外支持PKCS#8v2非对称密钥包(RFC 5958)

30次发布

0.11.0-rc.02024年7月26日
0.11.0-pre.02024年1月8日
0.10.2 2023年4月5日
0.10.1 2023年3月5日
0.0.0 2020年6月12日

512加密学

Download history 740605/week @ 2024-05-01 769497/week @ 2024-05-08 840487/week @ 2024-05-15 819918/week @ 2024-05-22 884306/week @ 2024-05-29 899787/week @ 2024-06-05 909194/week @ 2024-06-12 835490/week @ 2024-06-19 863382/week @ 2024-06-26 769626/week @ 2024-07-03 854160/week @ 2024-07-10 889842/week @ 2024-07-17 899020/week @ 2024-07-24 936150/week @ 2024-07-31 962555/week @ 2024-08-07 933650/week @ 2024-08-14

3,915,617每月下载量
用于3,070个crate(71个直接)

Apache-2.0 OR MIT

430KB
9K SLoC

RustCrypto: PKCS#8(私钥)

crate Docs Build Status Apache2/MIT licensed Rust Version Project Chat

纯Rust实现公钥加密标准(PKCS)#8:私钥信息语法规范(RFC 5208)。

文档

关于PKCS#8

PKCS#8是一种加密私钥的格式,通常包含一对私钥和公钥。

您可以通过以下方式识别编码为PEM(即文本)的PKCS#8私钥

-----BEGIN PRIVATE KEY-----

PKCS#8私钥可以选择使用PBKDF2和scrypt等密钥派生算法进行密码加密,并使用AES-CBC等加密机加密。当PKCS#8私钥被加密后,它以以下内容开始

-----BEGIN ENCRYPTED PRIVATE KEY-----

PKCS#8私钥也可以序列化为基于ASN.1的二进制格式。PEM文本编码是此格式的Base64表示。

支持算法

此crate以算法无关的方式实现,旨在支持任何算法的PKCS#8。

尽管如此,它已经针对以下由OpenSSL生成的密钥进行了互操作性测试

  • ECC (id-ecPublicKey)
  • Ed25519 (id-Ed25519)
  • RSA (id-rsaEncryption)
  • X25519 (id-X25519)

如果您在使用特定算法(包括上述算法或其他算法)时遇到问题,请提出问题。

最低支持的Rust版本

此crate至少需要Rust 1.71

我们可能会在将来更改MSRV,但将伴随着次要版本的升级。

许可证

根据您的选择,许可如下

贡献

除非您明确说明,否则根据Apache-2.0许可证定义,您有意提交的包含在工作中的任何贡献都应双授权,如上所述,无任何附加条款或条件。

依赖项

~300–650KB
~12K SLoC