Skip to content
This repository has been archived by the owner on Nov 20, 2018. It is now read-only.

Commit

Permalink
#277 Rename IHttpClientCertificateFeature. #279 prefer X509Certificate2.
Browse files Browse the repository at this point in the history
  • Loading branch information
Tratcher committed Apr 27, 2015
1 parent 43a38c1 commit 117486d
Show file tree
Hide file tree
Showing 6 changed files with 27 additions and 27 deletions.
4 changes: 2 additions & 2 deletions src/Microsoft.AspNet.Http.Core/ConnectionInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ public abstract class ConnectionInfo

public abstract bool IsLocal { get; set; }

public abstract X509Certificate ClientCertificate { get; set; }
public abstract X509Certificate2 ClientCertificate { get; set; }

public abstract Task<X509Certificate> GetClientCertificateAsync(CancellationToken cancellationToken = new CancellationToken());
public abstract Task<X509Certificate2> GetClientCertificateAsync(CancellationToken cancellationToken = new CancellationToken());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,17 @@

namespace Microsoft.AspNet.Http
{
public interface IHttpClientCertificateFeature
public interface ITlsConnectionFeature
{
/// <summary>
/// Synchronously retrieves the client certificate, if any.
/// </summary>
X509Certificate ClientCertificate { get; set; }
X509Certificate2 ClientCertificate { get; set; }

/// <summary>
/// Asynchronously retrieves the client certificate, if any.
/// </summary>
/// <returns></returns>
Task<X509Certificate> GetClientCertificateAsync(CancellationToken cancellationToken);
Task<X509Certificate2> GetClientCertificateAsync(CancellationToken cancellationToken);
}
}
16 changes: 8 additions & 8 deletions src/Microsoft.AspNet.Http/DefaultConnectionInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public class DefaultConnectionInfo : ConnectionInfo
private readonly IFeatureCollection _features;

private FeatureReference<IHttpConnectionFeature> _connection = FeatureReference<IHttpConnectionFeature>.Default;
private FeatureReference<IHttpClientCertificateFeature> _clientCertificate = FeatureReference<IHttpClientCertificateFeature>.Default;
private FeatureReference<ITlsConnectionFeature> _tlsConnectoin = FeatureReference<ITlsConnectionFeature>.Default;

public DefaultConnectionInfo(IFeatureCollection features)
{
Expand All @@ -27,9 +27,9 @@ private IHttpConnectionFeature HttpConnectionFeature
get { return _connection.Fetch(_features) ?? _connection.Update(_features, new HttpConnectionFeature()); }
}

private IHttpClientCertificateFeature HttpClientCertificateFeature
private ITlsConnectionFeature TlsConnectionFeature
{
get { return _clientCertificate.Fetch(_features) ?? _clientCertificate.Update(_features, new HttpClientCertificateFeature()); }
get { return _tlsConnectoin.Fetch(_features) ?? _tlsConnectoin.Update(_features, new TlsConnectionFeature()); }
}

public override IPAddress RemoteIpAddress
Expand Down Expand Up @@ -62,15 +62,15 @@ public override bool IsLocal
set { HttpConnectionFeature.IsLocal = value; }
}

public override X509Certificate ClientCertificate
public override X509Certificate2 ClientCertificate
{
get { return HttpClientCertificateFeature.ClientCertificate; }
set { HttpClientCertificateFeature.ClientCertificate = value; }
get { return TlsConnectionFeature.ClientCertificate; }
set { TlsConnectionFeature.ClientCertificate = value; }
}

public override Task<X509Certificate> GetClientCertificateAsync(CancellationToken cancellationToken = new CancellationToken())
public override Task<X509Certificate2> GetClientCertificateAsync(CancellationToken cancellationToken = new CancellationToken())
{
return HttpClientCertificateFeature.GetClientCertificateAsync(cancellationToken);
return TlsConnectionFeature.GetClientCertificateAsync(cancellationToken);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@

namespace Microsoft.AspNet.Http
{
public class HttpClientCertificateFeature : IHttpClientCertificateFeature
public class TlsConnectionFeature : ITlsConnectionFeature
{
public HttpClientCertificateFeature()
public TlsConnectionFeature()
{
}

public X509Certificate ClientCertificate { get; set; }
public X509Certificate2 ClientCertificate { get; set; }

public Task<X509Certificate> GetClientCertificateAsync(CancellationToken cancellationToken)
public Task<X509Certificate2> GetClientCertificateAsync(CancellationToken cancellationToken)
{
return Task.FromResult(ClientCertificate);
}
Expand Down
6 changes: 3 additions & 3 deletions src/Microsoft.AspNet.Owin/OwinEnvironment.cs
Original file line number Diff line number Diff line change
Expand Up @@ -99,9 +99,9 @@ public OwinEnvironment(HttpContext context)

if (context.Request.IsHttps)
{
_entries.Add(OwinConstants.CommonKeys.ClientCertificate, new FeatureMap<IHttpClientCertificateFeature>(feature => feature.ClientCertificate,
(feature, value) => feature.ClientCertificate = (X509Certificate)value));
_entries.Add(OwinConstants.CommonKeys.LoadClientCertAsync, new FeatureMap<IHttpClientCertificateFeature>(
_entries.Add(OwinConstants.CommonKeys.ClientCertificate, new FeatureMap<ITlsConnectionFeature>(feature => feature.ClientCertificate,
(feature, value) => feature.ClientCertificate = (X509Certificate2)value));
_entries.Add(OwinConstants.CommonKeys.LoadClientCertAsync, new FeatureMap<ITlsConnectionFeature>(
feature => new Func<Task>(() => feature.GetClientCertificateAsync(CancellationToken.None))));
}

Expand Down
14 changes: 7 additions & 7 deletions src/Microsoft.AspNet.Owin/OwinFeatureCollection.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ public class OwinFeatureCollection :
IHttpResponseFeature,
IHttpConnectionFeature,
IHttpSendFileFeature,
IHttpClientCertificateFeature,
ITlsConnectionFeature,
IHttpRequestLifetimeFeature,
IHttpAuthenticationFeature,
IHttpWebSocketFeature,
Expand Down Expand Up @@ -228,20 +228,20 @@ private bool SupportsClientCerts
}
}

X509Certificate IHttpClientCertificateFeature.ClientCertificate
X509Certificate2 ITlsConnectionFeature.ClientCertificate
{
get { return Prop<X509Certificate>(OwinConstants.CommonKeys.ClientCertificate); }
get { return Prop<X509Certificate2>(OwinConstants.CommonKeys.ClientCertificate); }
set { Prop(OwinConstants.CommonKeys.ClientCertificate, value); }
}

async Task<X509Certificate> IHttpClientCertificateFeature.GetClientCertificateAsync(CancellationToken cancellationToken)
async Task<X509Certificate2> ITlsConnectionFeature.GetClientCertificateAsync(CancellationToken cancellationToken)
{
var loadAsync = Prop<Func<Task>>(OwinConstants.CommonKeys.LoadClientCertAsync);
if (loadAsync != null)
{
await loadAsync();
}
return Prop<X509Certificate>(OwinConstants.CommonKeys.ClientCertificate);
return Prop<X509Certificate2>(OwinConstants.CommonKeys.ClientCertificate);
}

CancellationToken IHttpRequestLifetimeFeature.RequestAborted
Expand Down Expand Up @@ -308,7 +308,7 @@ public bool ContainsKey(Type key)
{
return SupportsSendFile;
}
else if (key == typeof(IHttpClientCertificateFeature))
else if (key == typeof(ITlsConnectionFeature))
{
return SupportsClientCerts;
}
Expand Down Expand Up @@ -342,7 +342,7 @@ public ICollection<Type> Keys
}
if (SupportsClientCerts)
{
keys.Add(typeof(IHttpClientCertificateFeature));
keys.Add(typeof(ITlsConnectionFeature));
}
if (SupportsWebSockets)
{
Expand Down

0 comments on commit 117486d

Please sign in to comment.