11个不稳定版本 (3个破坏性更新)
0.3.6 | 2020年12月23日 |
---|---|
0.3.5 | 2020年6月13日 |
0.3.4 | 2020年5月24日 |
0.2.0 | 2020年5月10日 |
0.0.2 | 2020年5月1日 |
在加密学中排名1559
每月下载量358次
在4个crate中使用(3个直接使用)
135KB
3.5K SLoC
Kerbeiros
Kerberos客户端
概念
- KDC(密钥分发中心):分发票据的服务。提供此服务器的主机也称为KDC。
- TGS(票据授予服务器):用于对指定服务进行用户认证的票据。
- TGT(票据授予票据):用于从KDC检索TGS的票据。
示例
请求TGT
use kerbeiros::*;
use ascii::AsciiString;
use std::net::*;
// Prepare the arguments
let realm = AsciiString::from_ascii("CONTOSO.COM").unwrap();
let kdc_address = IpAddr::V4(Ipv4Addr::new(192, 168, 0, 1));
let username = AsciiString::from_ascii("Bob").unwrap();
let user_key = Key::Password("S3cr3t".to_string());
// Request the TGT
let tgt_requester = TgtRequester::new(realm, kdc_address);
let credential = tgt_requester.request(&username, Some(&user_key)).unwrap();
// Save the ticket into a Windows format file
credential.save_into_krb_cred_file("bob_tgt.krb").unwrap();
// Save the ticket into a Linux format file
credential.save_into_ccache_file("bob_tgt.ccache").unwrap();
开发
代码风格
遵循rustfmt代码风格。
格式化代码
cargo fmt
测试
运行测试
cargo test
参考
lib.rs
:
Kerberos加密
实现Kerberos协议中涉及加密算法的库。
库提供了不同的密码。密码是实现不同算法的类。所有这些类都实现了KerberosCipher trait。
支持算法
- RC4-HMAC
- AES128-CTS-HMAC-SHA1-96
- AES256-CTS-HMAC-SHA1-96
依赖项
~6MB
~91K SLoC