【发布时间】:2019-06-12 17:49:56
【问题描述】:
我在我的 Web Api 中创建了一个属性 ([ValidateCertificate]) 来检查每次调用的证书。我想访问 ClientCertificate 属性来验证传入的证书。这是来自微软的文档:
public System.Web.HttpClientCertificate ClientCertificate { get; }
但是,我的代码中不存在该属性。这是我的代码的 sn-p:
public async override void OnAuthorization(HttpActionContext httpContext)
{
try
{
X509Certificate2 cert = httpContext.Request.ClientCertificate; // This property doesn't exist.
看起来该属性应该在 HttpRequest 对象中,但我只能访问此属性代码中的 HttpRequestMessage 对象。我想这可以归结为:
- 证书是否包含在传入参数中?
- 如何转换为我可以使用的类型?
【问题讨论】:
-
您找到解决此问题的方法了吗?
标签: c# asp.net-web-api2 httprequest client-certificates .net-standard-2.0