客户端证书始终为空

2023-12-26

我已经安装了一个证书Personal受信任的根证书颁发机构

已尝试使用这段代码发布到端点:

public void Post()
    {
        try
        {
            var clientCert = LoadFromStore("MyThumbprint");
            var requestHandler = new WebRequestHandler();

            requestHandler.ClientCertificates.Add(clientCert);

            var client = new HttpClient(requestHandler)
            {
                BaseAddress = new Uri("https://localhost:44430/")
            };

            var response = client.GetAsync("api/test").Result;
            response.EnsureSuccessStatusCode();

            string responseContent = response.Content.ReadAsStringAsync().Result;
            Console.WriteLine(responseContent);
        }
        catch (Exception ex)
        {
            Console.WriteLine("Exception while executing the test code: {0}", ex.Message);
        }
    }

经检查,.ClientCertificate属性始终为空。

 [Route("api/[controller]")]
public class TestController : Controller
{
    [HttpGet]
    public ActionResult<IEnumerable<string>> Get()
    {
        var clientCertInRequest = Request.HttpContext.Connection.ClientCertificate;
        if (clientCertInRequest != null) return Ok();

        return BadRequest("No certificate found");
    }

}

想知道是否有人以前遇到过这个问题,或者知道如何将证书发布到 webapi 端点并能够检索和验证?

非常感谢


.Net 6:

builder.WebHost.ConfigureKestrel(kestrel =>
{
    kestrel.ConfigureHttpsDefaults(https => https.ClientCertificateMode = ClientCertificateMode.AllowCertificate);
});

旧版本:

return Host.CreateDefaultBuilder(args)
        .ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder.UseStartup<Startup>();
            webBuilder.ConfigureKestrel(o =>
            {
                o.ConfigureHttpsDefaults(o => 
                o.ClientCertificateMode = 
                ClientCertificateMode.AllowCertificate);
            });
        });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

客户端证书始终为空 的相关文章

随机推荐

  • 无法从我的学校网站获取我的日程安排数据。使用 cURL 登录不起作用

    Edit 为什么要负一呢 我想做的是 我正在尝试使用 cURL 登录我的学校网站并获取时间表以将其用于我的 AI 因此 我需要使用我的通行证和号码登录 但学校网站上的表格还需要一个隐藏的 令牌
  • 将多个 .sql 表转储文件合并到单个文件中

    假设我有数据库A和表b 给定多个 sql 文件 b1 b2 bn 其中每个文件对应于 b 的互斥表转储 我如何将所有文件 b1 b2 bn 合并到单个 sql 表文件中 或者我如何将各个文件的导入合并到一个表中 没有特殊的工具可以做到这一点
  • 循环遍历所有文件夹及其所有子文件夹VBA

    我知道这个问题之前被问过很多次 我已经检查了之前的建议 但我无法让我的代码运行 所以 我有一个名为 Report 的文件夹 其中也包含多个文件夹 这些文件夹包含 xlsx 和 zip 文件 每个文件还包含一个名为 2016 的文件夹 其下有
  • /www 之外的指定虚拟主机上的 Wampserver 403

    当我尝试在 c wamp www 目录之外创建虚拟主机时 Wampserver 告诉我访问被拒绝 我可以在该目录中制作一个罚款 即使对文件夹建立符号链接也可以 但我宁愿不必使用符号链接 为什么不起作用 这是我在 httpd conf 末尾使
  • Django 上多租户应用程序的最佳架构

    我一直在思考创建基于多租户应用程序的正确 最佳方法 关于姜戈 一些解释 应用程序可由多个租户 tenant1 tenant2 使用 所有租户个人数据都必须受到保护 防止其他租户 及其用户 访问 租户可以选择为应用程序对象创建额外的自定义字段
  • 计算数组数组中的项目数?

    如果我有一个声明为的对象 let compoundArray Array
  • 在 Visual Studio 中对文件进行分组

    我正在考虑在 Visual Studio 中整理我的项目布局 我想知道是否有任何 hack 插件或技巧可以将 xml 文件与 cs 文件关联起来同名所以它们出现在我的解决方案导航器 资源管理器中 类似于代码隐藏文件与其 aspx 关联的方式
  • 从 Mac 上的 SWT 应用程序打开 LWJGL 窗口

    我有一个 SWT 应用程序 可以在按下按钮后打开 OpenGL 窗口 使用 LWJGL 库 它应该关闭它的主 SWT 窗口并打开一个带有 OpenGL 上下文的新窗口 在 Windows 上运行良好 在 Mac 上 我收到此错误 2010
  • Azure 托管和 MVC5 报告

    我正在使用 Visual Studio 2013 开发托管在 Azure 上的 MVC5 EF6 Web 应用程序 我刚刚完成需要创建报告的开发部分 我试图使用 Microsoft ReportViewer 来实现此目的 尽管它在本地工作得
  • Haskell:有条件地中断循环

    我想在这样的情况下打破循环 import Data Maybe fromJust isJust Maybe Just tryCombination Int gt Int gt Maybe String tryCombination x y
  • LaTeX 相当于 Google Chart API

    我目前正在寻找不同的解决方案 将二维数学公式放入网页中 我认为维基百科解决方案 从 LaTeX 源代码生成 png 图像 已经足够好了 直到我们在网络浏览器中获得对 MathML 的支持 我突然意识到也许可以创建一个谷歌图表 API htt
  • 配置next.config文件

    我正在使用 Next js 并想添加反应语义用户界面 https react semantic ui com 使用他们的登录组件之一 在前端我收到此错误 编译失败 node modules semantic ui css semantic
  • R (dplyr):查找行特定范围内的所有行

    我有一个数据集 其中每一行都由住院 ID 标识 每行包含有关住院 ID 发生医院 ID 以及给定住院的入院日期和出院日期的信息 我想知道 对于每次住院治疗 在该次住院开始前 30 天内在指定医院结束的所有其他住院治疗的 ID 以下是 2 家
  • 在Delphi中是否可以将接口绑定到未实现它的对象

    我知道 Delphi XE2 有新的 TVirtualInterface 用于在运行时创建接口的实现 不幸的是我没有使用 XE2 我想知道在旧版本的 Delphi 中做这种事情涉及什么样的黑客行为 假设我有以下界面 IMyInterface
  • AVCaptureSession 没有提供良好的照片质量和良好的分辨率

    我正在与AVCaptureSession用于捕获图像 它工作正常 但没有给出好的解决方案 我将其与iPhone相机拍摄的图像进行了比较 发现iPhone相机拍摄的图像比iPhone相机拍摄的图像要好得多AVCaptureSession im
  • 无法跨子域读取cookie(owa_cookie)

    在我的生产环境中 我的前端位于 a example com 后端位于 b example com 我正在使用 javascript 在 example com 域的路径 中创建一个 cookie 以便从任何子域读取它 当我尝试使用 owa
  • Dart 中包含异步函数的测试函数

    我想测试一个调用其他异步函数的函数 但我不知道如何编写它 函数会像这样 function X x Y y x doSomethingAsync then result if result null y doSomething 我想模拟 X
  • XmlReader持续读取

    我有一个非常大的 xml 文件 这是 xml 格式的简化版本
  • Python Windows 路径正则表达式

    我花了两个小时来解决这个问题 我有这个字符串 C Users Bob luxshop jeans diesel qd images Livier 11 png 我有兴趣获得 Livier 11 png但这对我来说似乎不可能 我怎样才能做到这
  • 客户端证书始终为空

    我已经安装了一个证书Personal也受信任的根证书颁发机构 已尝试使用这段代码发布到端点 public void Post try var clientCert LoadFromStore MyThumbprint var request