Include client certificate feature renames.

This commit is contained in:
Chris Ross 2014-06-19 11:55:37 -07:00
parent ecfd1bbe60
commit 741d5b57ee
2 changed files with 9 additions and 8 deletions

View File

@ -35,7 +35,7 @@ namespace Microsoft.AspNet.Server.WebListener
IHttpConnectionFeature,
IHttpResponseFeature,
IHttpSendFileFeature,
IHttpTransportLayerSecurityFeature,
IHttpClientCertificateFeature,
IHttpRequestLifetimeFeature,
IHttpWebSocketFeature,
IHttpOpaqueUpgradeFeature
@ -89,7 +89,7 @@ namespace Microsoft.AspNet.Server.WebListener
if (Request.IsSecureConnection)
{
// TODO: Should this feature be conditional? Should we add this for HTTP requests?
_features.Add(typeof(IHttpTransportLayerSecurityFeature), this);
_features.Add(typeof(IHttpClientCertificateFeature), this);
}
_features.Add(typeof(IHttpResponseFeature), this);
_features.Add(typeof(IHttpSendFileFeature), this);
@ -295,7 +295,7 @@ namespace Microsoft.AspNet.Server.WebListener
set { _remotePort = value; }
}
X509Certificate IHttpTransportLayerSecurityFeature.ClientCertificate
X509Certificate IHttpClientCertificateFeature.ClientCertificate
{
get
{
@ -308,12 +308,13 @@ namespace Microsoft.AspNet.Server.WebListener
set { _clientCert = value; }
}
async Task IHttpTransportLayerSecurityFeature.LoadAsync()
async Task<X509Certificate> IHttpClientCertificateFeature.GetClientCertificateAsync()
{
if (_clientCert == null)
{
_clientCert = await Request.GetClientCertificateAsync();
}
return _clientCert;
}
Stream IHttpResponseFeature.Body

View File

@ -85,9 +85,9 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpsServer(async env =>
{
var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var tls = httpContext.GetFeature<IHttpTransportLayerSecurityFeature>();
var tls = httpContext.GetFeature<IHttpClientCertificateFeature>();
Assert.NotNull(tls);
await tls.LoadAsync();
await tls.GetClientCertificateAsync();
Assert.Null(tls.ClientCertificate);
}))
{
@ -102,9 +102,9 @@ namespace Microsoft.AspNet.Server.WebListener
using (Utilities.CreateHttpsServer(async env =>
{
var httpContext = new DefaultHttpContext((IFeatureCollection)env);
var tls = httpContext.GetFeature<IHttpTransportLayerSecurityFeature>();
var tls = httpContext.GetFeature<IHttpClientCertificateFeature>();
Assert.NotNull(tls);
await tls.LoadAsync();
await tls.GetClientCertificateAsync();
Assert.NotNull(tls.ClientCertificate);
}))
{