使用Microsoft MVC时,如何对传入请求强制执行TLS / SSL双向身份验证?

时间:2014-02-07 21:39:09

标签: c# asp.net-mvc-4 ssl

我正在编写一个基于rest的api,用于在服务器之间进行通信,并在microsoft的mvc中实现它的某些部分。

我想确保传入的请求是:

  • 来自https
  • 使用有效的ssl证书签名
  • 仅限于已知的服务器列表;即。证书颁发给我的人 批准的白名单

在Msoft MVC / IIS堆栈中,有什么/是否有用于实现此类系统的预定义方法或模式?

1 个答案:

答案 0 :(得分:5)

  

来自https

您可以阻止IIS提供端口80(非ssl)或使用RequireHttpsAttribute

  

使用有效的ssl证书签名

当浏览器访问网站时,浏览器不使用证书(99.99%的时间)。如果您希望请求包含证书,则称为client certificate

  

仅限于已知的服务器列表;即。证书颁发给我批准的白名单上的某人

什么是已知的服务器列表?如果这是IP地址范围,则可以使用IP Security。否则你的问题就是含糊不清。