12个版本
0.1.11 | 2023年6月22日 |
---|---|
0.1.10 | 2023年4月7日 |
0.1.9 | 2023年3月30日 |
0.1.4 | 2023年2月28日 |
#1257 in 加密学
142每月下载
用于 3 crates
110KB
1.5K SLoC
trifid-pki
trifid-pki是一个用于与Nebula PKI系统交互的crate。它被创建出来以避免在Nebula中进行签名操作时需要不断调用CLI。它旨在与原始的Go实现兼容,因此在密钥管理方面有一些特殊之处,以确保兼容性。
此crate尚未接受任何正式的安全审计,然而用于实际加密操作的基础crate(ed25519-dalek和curve25519-dalek)已经过审计,未发现任何重大问题。
示例
有关示例,请参阅文档。
lib.rs
:
trifid-pki
trifid-pki是一个用于与Nebula PKI系统交互的crate。它被创建出来以避免在Nebula中进行签名操作时需要不断调用CLI。它旨在与原始的Go实现兼容,因此在密钥管理方面有一些特殊之处,以确保兼容性。
此crate尚未接受任何正式的安全审计,然而用于实际加密操作的基础crate(ed25519-dalek和curve25519-dalek)已经过审计,未发现任何重大问题。
示例
从PEM加载证书
use trifid_pki::cert::deserialize_nebula_certificate_from_pem;
let cert_bytes = b"-----BEGIN NEBULA CERTIFICATE-----
CmUKCGNvcmUtdHdyEgmBhMRQgID4/w8orp+/nAYwlIXEqwY6IDBOYnnYci8P2Nlm
+qcK2u7AjEZJ1IZFe7A4viQ3U6dHSiBWhg3tPRS387d8oqBi7l1oPdBrNfh0RtjW
p+kjtqd4PRJA611raI7aDTbpJSGcCY/yeZ5CIHoJP32bfYdYI8oFsuDTp0ndL8nO
yBHtmihl1xxNU8/f0b9+bVBYvZ7NOI3fDQ==
-----END NEBULA CERTIFICATE-----";
let cert = deserialize_nebula_certificate_from_pem(cert_bytes).unwrap();
println!("{}", cert);
// NebulaCertificate {
// Details {
// Name: core-twr
// Ips: [10.17.2.1/15]
// Subnets: []
// Gruops: []
// Not before: SystemTime { tv_sec: 1670369198, tv_nsec: 0 }
// Not after: SystemTime { tv_sec: 1701905044, tv_nsec: 0 }
// Is CA: false
// Issuer: 56860ded3d14b7f3b77ca2a062ee5d683dd06b35f87446d8d6a7e923b6a7783d
// Public key: 304e6279d8722f0fd8d966faa70adaeec08c4649d486457bb038be243753a747
// }
// Fingerprint: c1a723acf8a1c8a438eb1f8efb756eb9e1a3c529d5b93cd143d282ca87e549b4
// Signature: eb5d6b688eda0d36e925219c098ff2799e42207a093f7d9b7d875823ca05b2e0d3a749dd2fc9cec811ed9a2865d71c4d53cfdfd1bf7e6d5058bd9ecd388ddf0d
// }
依赖项
~3.5–5MB
~103K SLoC