Exemplo n.º 1
0
        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
            }));
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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 }));
        }