9 个版本

0.2.2 2020 年 5 月 6 日
0.2.1 2020 年 5 月 6 日
0.1.1 2020 年 5 月 1 日
0.0.4 2020 年 5 月 1 日
0.0.1 2019 年 8 月 22 日

#922身份验证

Download history 1/week @ 2024-03-18 29/week @ 2024-04-01 5/week @ 2024-04-15 5/week @ 2024-04-22 8/week @ 2024-06-03 9/week @ 2024-06-10 15/week @ 2024-06-17 16/week @ 2024-06-24 22/week @ 2024-07-01

62 每月下载
用于 2 crates

AGPL-3.0

510KB
11K SLoC

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.clone().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();

Kerberos 参考

依赖项

~9.5MB
~161K SLoC