在C#中使用HttpSelfHostServer验证客户端证书

时间:2020-01-06 16:11:22

标签: c# asp.net-web-api self-hosting asp.net-authentication

我有一个用C#编写的服务,当前可在Http上使用。我想将此迁移到Https,并希望当某些客户端使用此服务时,应该有一个选项来选择继续进行的证书,并且只允许由一个特定CA颁发的证书。

下面是我所做的代码。

[Authorize]
public class HelloController : ApiController
{
    public string Get()
    {
        //some code to do stuff
    }
}

下面是控制器代码

container

我到目前为止所做的是

  1. 使用netsh和证书的指纹将端口1234绑定到证书。

通过此操作,我可以浏览到https://localhost:1234/myService(即使由于使用了测试证书而目前尚不安全)。但是我也希望当我浏览到URL时,要求我选择证书。我想我在代码中缺少某些地方,我需要询问证书并验证CA。有人可以建议缺少的内容还是需要做的其他事情。

PS:我无法从HttpSelfHostServer更改为其他任何内容。

1 个答案:

答案 0 :(得分:0)

尝试将clientcertnegotiation=enable与netsh一起使用。 我希望它对您有用

相关问题