public async Task <T> Decrypt <T>(IKeyIdentifier id, string ciphertext) { var key = await storage.GetKey(id); var decrypted = await processor.Decrypt <T>(key, ciphertext); return(decrypted); }
public async Task <ClaimsIdentity> Authenticate(IKeyIdentifier id, string token, string scheme = null) { var key = await storage.GetKey(id); var kerbKey = key.RetrieveKey <byte[]>(); var validator = new KerberosValidator( new KeyTable( new KerberosKey(kerbKey) ) ); var authenticator = new KerberosAuthenticator(validator); return(await authenticator.Authenticate(token)); }