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 加密学

Download history 2934/week @ 2024-04-29 3193/week @ 2024-05-06 3314/week @ 2024-05-13 3103/week @ 2024-05-20 3896/week @ 2024-05-27 4426/week @ 2024-06-03 4183/week @ 2024-06-10 4341/week @ 2024-06-17 3979/week @ 2024-06-24 4425/week @ 2024-07-01 4683/week @ 2024-07-08 3787/week @ 2024-07-15 3768/week @ 2024-07-22 3355/week @ 2024-07-29 4233/week @ 2024-08-05 3431/week @ 2024-08-12

每月下载量 14,937
用于 13 个crate (8 直接)

MIT/Apache

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.0许可证定义的,应如上所述双许可,没有任何额外的条款或条件。

依赖关系

~1–1.5MB
~33K SLoC