Azure service fabric 基于服务结构无状态api认证的身份验证

Azure service fabric 基于服务结构无状态api认证的身份验证,azure-service-fabric,asp.net-core-webapi,Azure Service Fabric,Asp.net Core Webapi,我被要求使用基于证书的身份验证来保护我的无状态api端点。我阅读了关于这个主题的文章,意识到我需要创建一个中间件来检查请求,然后根据一些指纹检查x-ARR-ClientCert头,以检查证书是否有效。到目前为止,一切顺利 问题是我无法测试中间件,因为我不知道如何发送这样的头。我已经有一个自签名证书(.crt)和一个密钥(.key)。我尝试了postman,但在VS2017上调试时,我看不到x-ARR-ClientCert被发送 有什么帮助吗 编辑1 我将遵循本教程: 我知道它有点旧,但最后编写器

我被要求使用基于证书的身份验证来保护我的无状态api端点。我阅读了关于这个主题的文章,意识到我需要创建一个中间件来检查请求,然后根据一些指纹检查x-ARR-ClientCert头,以检查证书是否有效。到目前为止,一切顺利

问题是我无法测试中间件,因为我不知道如何发送这样的头。我已经有一个自签名证书(.crt)和一个密钥(.key)。我尝试了postman,但在VS2017上调试时,我看不到x-ARR-ClientCert被发送

有什么帮助吗

编辑1

我将遵循本教程:

我知道它有点旧,但最后编写器显示浏览器请求证书,但我无法让浏览器请求证书

我忘了在这里提到的一件事是,我的API位于本地服务结构集群上,所以这可能就是问题所在

编辑2

对于Postman,我遵循了以下教程:,但运气不好:首先我必须关闭ssl检查,然后在向Postman添加证书时,x-ARR-ClientCert头没有被发送


我还尝试了curl:
>curl--cert-cert.crt--key-client.keyhttps://localhost/api/values --不安全
,但x-ARR-ClientCert仍然没有发送。

我不确定您想要实现什么

在相互证书身份验证中,浏览器处理身份验证\证书交换,当用户尝试访问由客户端证书保护的端点时,服务器会通知客户端(浏览器)它需要一个证书来接受连接,浏览器会向用户弹出一条消息,要求使用证书,这是一个很好的说明

如果计划是为了实现自动化,那么postman博客将介绍如何为此场景设置客户端证书。另一个选项是尝试使用CURL发送证书,如下所述

其次,您正在重新发明轮子,在kestrel中已经有一些现成的实现,包括使用和一些授权中间件

最后,确保中间没有代理,或者代理或网关没有从客户端连接中删除证书。