#nom #pem #parser #rfc1421

no-std dev nom_pem

基于 nom 的 PEM 解析器(rfc1421)

6 个稳定版本

使用旧的 Rust 2015

4.0.0 2018年6月1日
1.0.4 2017年12月18日
1.0.3 2017年12月14日
1.0.1 2017年12月8日

#1550解析器实现

Download history 84/week @ 2024-03-13 140/week @ 2024-03-20 105/week @ 2024-03-27 120/week @ 2024-04-03 86/week @ 2024-04-10 96/week @ 2024-04-17 94/week @ 2024-04-24 124/week @ 2024-05-01 96/week @ 2024-05-08 112/week @ 2024-05-15 184/week @ 2024-05-22 307/week @ 2024-05-29 175/week @ 2024-06-05 117/week @ 2024-06-12 91/week @ 2024-06-19 65/week @ 2024-06-26

464 每月下载量
20 个crate中使用(19 个直接使用)

MIT 许可证

22KB
521

nom_pem

LICENSE Build Status Crates.io Version

Rust crate 实现 PEM 数据编码和解析,起源于增强邮件隐私。详情见 RFC 1421。它支持带标题和不带标题的 PEM 消息。

基于 nom 解析器组合器(https://github.com/Geal/nom)。

  let b = b"-----BEGIN PRIVACY-ENHANCED MESSAGE-----
Proc-Type: 4,ENCRYPTED
Content-Domain: RFC822
DEK-Info: DES-CBC,F8143EDE5960C597
Originator-ID-Symmetric: [email protected],,
Recipient-ID-Symmetric: [email protected],ptf-kmc,3
Key-Info: DES-ECB,RSA-MD2,9FD3AAD2F2691B9A,
 B70665BB9BF7CBCDA60195DB94F727D3
Recipient-ID-Symmetric: [email protected],ptf-kmc,4
Key-Info: DES-ECB,RSA-MD2,161A3F75DC82EF26,
 E2EF532C65CBCFF79F83A2658132DB47

LLrHB0eJzyhP+/fSStdW8okeEnv47jxe7SJ/iN72ohNcUk2jHEUSoH1nvNSIWL9M
8tEjmF/zxB+bATMtPjCUWbz8Lr9wloXIkjHUlBLpvXR0UrUzYbkNpk0agV2IzUpk
J6UiRRGcDSvzrsoK+oNvqu6z7Xs5Xfz5rDqUcMlK1Z6720dcBWGGsDLpTpSCnpot
dXd/H5LMDWnonNvPCwQUHt==
-----END PRIVACY-ENHANCED MESSAGE-----";

let block = nom_pem::decode_block(b).unwrap();

assert_eq!(block.block_type, "PRIVACY-ENHANCED MESSAGE");
assert_eq!(block.data.len(), 160);

与 nom v4 兼容

依赖关系

~1MB
~18K SLoC