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

Download history 56/week @ 2024-03-13 50/week @ 2024-03-20 63/week @ 2024-03-27 105/week @ 2024-04-03 97/week @ 2024-04-10 90/week @ 2024-04-17 97/week @ 2024-04-24 89/week @ 2024-05-01 80/week @ 2024-05-08 71/week @ 2024-05-15 69/week @ 2024-05-22 75/week @ 2024-05-29 108/week @ 2024-06-05 81/week @ 2024-06-12 96/week @ 2024-06-19 57/week @ 2024-06-26

每月下载量358
4个crate中使用(3个直接使用)

AGPL-3.0

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