Add TLS token binding feature

This commit is contained in:
Levi B 2015-02-11 11:37:07 -08:00
parent 1008e17259
commit fc7ed3a9cd
1 changed files with 39 additions and 0 deletions

View File

@ -0,0 +1,39 @@
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System;
using Microsoft.Framework.Runtime;
namespace Microsoft.AspNet.Http.Interfaces
{
/// <summary>
/// Provides information regarding TLS token binding parameters.
/// </summary>
/// <remarks>
/// TLS token bindings help mitigate the risk of impersonation by an attacker in the
/// event an authenticated client's bearer tokens are somehow exfiltrated from the
/// client's machine. See https://datatracker.ietf.org/doc/draft-popov-token-binding/
/// for more information.
/// </remarks>
[AssemblyNeutral]
public interface ITlsTokenBindingFeature
{
/// <summary>
/// Gets the 'provided' token binding identifier associated with the request.
/// </summary>
/// <returns>The token binding identifier, or null if the client did not
/// supply a 'provided' token binding or valid proof of possession of the
/// associated private key. The caller should treat this identifier as an
/// opaque blob and should not try to parse it.</returns>
byte[] GetProvidedTokenBindingId();
/// <summary>
/// Gets the 'referred' token binding identifier associated with the request.
/// </summary>
/// <returns>The token binding identifier, or null if the client did not
/// supply a 'referred' token binding or valid proof of possession of the
/// associated private key. The caller should treat this identifier as an
/// opaque blob and should not try to parse it.</returns>
byte[] GetReferredTokenBindingId();
}
}