16个版本
0.6.4 | 2024年7月12日 |
---|---|
0.6.2 | 2023年6月27日 |
0.6.0 | 2022年11月18日 |
0.5.0 | 2021年3月16日 |
0.2.0 | 2017年11月7日 |
#81 in 加密学
每月下载量 14,937
用于 13 个crate (8 直接)
51KB
980 代码行
openssh-keys ─
一个处理OpenSSH公钥的纯Rust库。
openssh-keys
可以解析、打印和指纹OpenSSH公钥。它支持以下算法
- RSA
- DSA
- ECDSA (nistp256, nistp384, nistp521)
- ED25519
它可以分别使用 PublicKey::from_rsa()
和 PublicKey::from_dsa()
函数从其组成部分构建RSA和DSA密钥。
示例
extern crate openssh_keys;
use std::{env, fs, io, path};
use std::io::BufRead;
fn main() {
let home = env::home_dir().unwrap_or(path::PathBuf::from("/home/core/"));
let pub_path = home.join(".ssh").join("id_rsa.pub");
println!("Inspecting '{}':", pub_path.to_string_lossy());
let file = fs::File::open(&pub_path).expect("unable to open RSA pubkey");
let reader = io::BufReader::new(file);
for (i, line) in reader.lines().enumerate() {
let line = line.expect(&format!("unable to read key at line {}", i + 1));
let pubkey = openssh_keys::PublicKey::parse(&line).expect("unable to parse RSA pubkey");
println!(" * Pubkey #{} -> {}", i + 1, pubkey.to_fingerprint_string());
}
}
更多示例可以在 examples 下找到。
发布流程
可以通过创建一个新的发布票据并遵循清单中的步骤来执行发布 创建一个新发布票据。
许可
以下任一许可下:
- Apache许可证第2版 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确声明,否则您有意提交的任何贡献,根据Apache-2.0许可证定义的,应如上所述双许可,没有任何额外的条款或条件。
依赖关系
~1–1.5MB
~33K SLoC