#kerberos #constant #authentication #object #actor #protocols #define #tgt #client

kerberos_constants

Constants used by differente objects and actors of the Kerberos protocol

10 releases

new 0.0.10 Jul 5, 2025
0.0.9 Jan 12, 2021
0.0.6 May 31, 2020

#819 in Network programming

Download history 85/week @ 2025-03-18 49/week @ 2025-03-25 26/week @ 2025-04-01 37/week @ 2025-04-08 27/week @ 2025-04-15 62/week @ 2025-04-22 53/week @ 2025-04-29 70/week @ 2025-05-06 73/week @ 2025-05-13 40/week @ 2025-05-20 58/week @ 2025-05-27 78/week @ 2025-06-03 57/week @ 2025-06-10 148/week @ 2025-06-17 146/week @ 2025-06-24 191/week @ 2025-07-01

547 downloads per month
Used in 8 crates (7 directly)

AGPL-3.0

21KB
325 lines

Kerbeiros

Kerberos client

Concepts

  • KDC (Key Distribution Center): Service that distributes the tickets. The host that provides this server is also called KDC.
  • TGS (Ticket Granting Server): Ticket used to authenticate the user against a specified service.
  • TGT (Ticket Granting Ticket): Ticket used to retrieve the TGS's from the KDC.

Examples

Asking for a 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();

Development

Code style

Follow the rustfmt code style.

To format code:

cargo fmt

Test

To run tests:

cargo test

References


lib.rs:

Kerberos constants

This library defines the numeric constants used across the Kerberos protocol by different objects and actors.

No runtime deps