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

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

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

我想确保传入的请求是:

  • 通过 https
  • 使用有效的 ssl 证书签名
  • 仅限于已知的服务器列表; IE。证书发给了我的某人 批准的白名单

在 Msoft MVC/IIS 堆栈中,实现这种系统的预定义方法或模式是什么?

最佳答案

coming over https

您可以阻止 IIS 服务端口 80(非 ssl)或使用 RequireHttpsAttribute .

signed with a valid ssl certificate

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

restricted to a known list of servers; ie. the certificate is issued to someone on my approved whitelist

什么是已知服务器列表?如果这是一个 IP 地址范围,那么您可以使用 IP Security .否则你的问题就太模糊了。

关于c# - 使用 Microsoft 的 MVC 时,如何对传入请求强制执行 TLS/SSL 双向身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21638230/

相关文章:

ssl - 启用 have_ssl mariadb 时遇到问题

c# - 将任务异步到YouTube

c# - LINQ:连接两个独立上下文的结果

javascript - 使用双击事件时如何取消单击事件

c# - MVC应用程序多次调用资源

asp.net-mvc - 在构建和发布时将文件添加到 bin 目录

ruby-on-rails - 如何告诉我的 Rails 表单使用 https?

java - 检查证书是否已存在于 Java keystore 中的非编程方式

c# - 如何在sql c#中增加一个整数

c# - WPF:DependencyProperty 适用于 TextBlock 但不适用于自定义控件