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

Commit b6f4207

Browse files
committed
#70 - Refactor client cert feature interface.
1 parent 2ae3a24 commit b6f4207

File tree

5 files changed

+21
-13
lines changed

5 files changed

+21
-13
lines changed

src/Microsoft.AspNet.HttpFeature/IHttpTransportLayerSecurityFeature.cs renamed to src/Microsoft.AspNet.HttpFeature/IHttpClientCertificateFeature.cs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,17 @@
88
namespace Microsoft.AspNet.HttpFeature
99
{
1010
[AssemblyNeutral]
11-
public interface IHttpTransportLayerSecurityFeature
11+
public interface IHttpClientCertificateFeature
1212
{
13+
/// <summary>
14+
/// Synchronously retrieves the client certificate, if any.
15+
/// </summary>
1316
X509Certificate ClientCertificate { get; set; }
14-
Task LoadAsync();
17+
18+
/// <summary>
19+
/// Asynchronously retrieves the client certificate, if any.
20+
/// </summary>
21+
/// <returns></returns>
22+
Task<X509Certificate> GetClientCertificateAsync();
1523
}
1624
}

src/Microsoft.AspNet.HttpFeature/Microsoft.AspNet.HttpFeature.kproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
<Compile Include="IHttpRequestLifetimeFeature.cs" />
3030
<Compile Include="IHttpResponseFeature.cs" />
3131
<Compile Include="IHttpSendFileFeature.cs" />
32-
<Compile Include="IHttpTransportLayerSecurityFeature.cs" />
32+
<Compile Include="IHttpClientCertificateFeature.cs" />
3333
<Compile Include="IHttpWebSocketFeature.cs" />
3434
<Compile Include="IWebSocketAcceptContext.cs" />
3535
<Compile Include="Security\IAuthenticateContext.cs" />

src/Microsoft.AspNet.Owin/OwinEnvironment.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,9 @@ public OwinEnvironment(HttpContext context)
6767

6868
if (context.Request.IsSecure)
6969
{
70-
_entries.Add(OwinConstants.CommonKeys.ClientCertificate, new FeatureMap<IHttpTransportLayerSecurityFeature>(feature => feature.ClientCertificate,
70+
_entries.Add(OwinConstants.CommonKeys.ClientCertificate, new FeatureMap<IHttpClientCertificateFeature>(feature => feature.ClientCertificate,
7171
(feature, value) => feature.ClientCertificate = (X509Certificate)value));
72-
_entries.Add(OwinConstants.CommonKeys.LoadClientCertAsync, new FeatureMap<IHttpTransportLayerSecurityFeature>(feature => new Func<Task>(feature.LoadAsync)));
72+
_entries.Add(OwinConstants.CommonKeys.LoadClientCertAsync, new FeatureMap<IHttpClientCertificateFeature>(feature => new Func<Task>(feature.GetClientCertificateAsync)));
7373
}
7474

7575
_context.Items[typeof(HttpContext).FullName] = _context; // Store for lookup when we transition back out of OWIN

src/Microsoft.AspNet.Owin/OwinFeatureCollection.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public class OwinFeatureCollection :
2424
IHttpResponseFeature,
2525
IHttpConnectionFeature,
2626
IHttpSendFileFeature,
27-
IHttpTransportLayerSecurityFeature,
27+
IHttpClientCertificateFeature,
2828
IOwinEnvironmentFeature
2929
{
3030
public IDictionary<string, object> Environment { get; set; }
@@ -197,13 +197,13 @@ private bool SupportsClientCerts
197197
}
198198
}
199199

200-
X509Certificate IHttpTransportLayerSecurityFeature.ClientCertificate
200+
X509Certificate IHttpClientCertificateFeature.ClientCertificate
201201
{
202202
get { return Prop<X509Certificate>(OwinConstants.CommonKeys.ClientCertificate); }
203203
set { Prop(OwinConstants.CommonKeys.ClientCertificate, value); }
204204
}
205205

206-
Task IHttpTransportLayerSecurityFeature.LoadAsync()
206+
Task<X509Certificate> IHttpClientCertificateFeature.GetClientCertificateAsync()
207207
{
208208
throw new NotImplementedException();
209209
}
@@ -228,7 +228,7 @@ public bool ContainsKey(Type key)
228228
{
229229
return SupportsSendFile;
230230
}
231-
else if (key == typeof(IHttpTransportLayerSecurityFeature))
231+
else if (key == typeof(IHttpClientCertificateFeature))
232232
{
233233
return SupportsClientCerts;
234234
}
@@ -256,7 +256,7 @@ public ICollection<Type> Keys
256256
}
257257
if (SupportsClientCerts)
258258
{
259-
keys.Add(typeof(IHttpTransportLayerSecurityFeature));
259+
keys.Add(typeof(IHttpClientCertificateFeature));
260260
}
261261
return keys;
262262
}

src/Microsoft.AspNet.PipelineCore/DefaultHttpRequest.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public class DefaultHttpRequest : HttpRequest
2222

2323
private FeatureReference<IHttpRequestFeature> _request = FeatureReference<IHttpRequestFeature>.Default;
2424
private FeatureReference<IHttpConnectionFeature> _connection = FeatureReference<IHttpConnectionFeature>.Default;
25-
private FeatureReference<IHttpTransportLayerSecurityFeature> _transportLayerSecurity = FeatureReference<IHttpTransportLayerSecurityFeature>.Default;
25+
private FeatureReference<IHttpClientCertificateFeature> _clientCertificate = FeatureReference<IHttpClientCertificateFeature>.Default;
2626
private FeatureReference<IQueryFeature> _query = FeatureReference<IQueryFeature>.Default;
2727
private FeatureReference<IFormFeature> _form = FeatureReference<IFormFeature>.Default;
2828
private FeatureReference<IRequestCookiesFeature> _cookies = FeatureReference<IRequestCookiesFeature>.Default;
@@ -43,9 +43,9 @@ private IHttpConnectionFeature HttpConnectionFeature
4343
get { return _connection.Fetch(_features); }
4444
}
4545

46-
private IHttpTransportLayerSecurityFeature HttpTransportLayerSecurityFeature
46+
private IHttpClientCertificateFeature HttpClientCertificateFeature
4747
{
48-
get { return _transportLayerSecurity.Fetch(_features); }
48+
get { return _clientCertificate.Fetch(_features); }
4949
}
5050

5151
private IQueryFeature QueryFeature

0 commit comments

Comments
 (0)