private async Task <string> Decode(string ticket, KeyTable key) { var validator = new KerberosValidator(key) { ValidateAfterDecrypt = ValidationActions.Pac }; var ticketBytes = Convert.FromBase64String(ticket); var decrypted = await validator.Validate(ticketBytes); var request = KerberosRequest.Parse(ticketBytes); var keytableFormat = GenerateFormattedKeyTable(key); var authenticated = await new KerberosAuthenticator(validator).Authenticate(ticketBytes); return(FormatSerialize(new { Request = request, Decrypted = decrypted, Identity = authenticated.Claims.Select(c => new { c.Type, c.Value }), KeyTable = keytableFormat })); }
private string Decode(string ticket) { var ticketBytes = Convert.FromBase64String(ticket); KerberosRequest request = KerberosRequest.Parse(ticketBytes); var keytab = GenerateFormattedKeyTable(table); var obj = new { Request = request, KeyTable = keytab }; return(FormatSerialize(obj)); }
private async Task <string> Decode(string ticket, KeyTable key) { var validator = new KerberosValidator(key) { ValidateAfterDecrypt = ValidationActions.None }; var ticketBytes = Convert.FromBase64String(ticket); var decrypted = await validator.Validate(ticketBytes); var request = KerberosRequest.Parse(ticketBytes); var keytableFormat = GenerateFormattedKeyTable(key); return(FormatSerialize(new { Request = request, Decrypted = decrypted, KeyTable = keytableFormat })); }