use crate::{
core::{craft_ticket_info, CredFormat, EncryptionType, TicketCreds, Vault},
KrbUser, Result,
};
use kerberos_crypto::Key;
use ms_pac::PISID;
pub fn craft(user: KrbUser,
service: Option<String>,
ticket_key: Key,
user_rid: u32,
realm_sid: PISID,
groups: &[u32],
ticket_key_enc: Option<EncryptionType>,
cred_format: CredFormat,
vault: &dyn Vault)
-> Result<()>
{
let ticket_info = craft_ticket_info(
user,
service.clone(),
ticket_key,
user_rid,
realm_sid,
groups,
ticket_key_enc.map(|e| e.as_constant()),
);
let krb_cred_plain = TicketCreds::new(vec![ticket_info]);
vault.save_as(krb_cred_plain, cred_format)?;
Ok(())
}