.NET Core 应用程序是否可以从 AWS Certificate Manager 检索证书并在 HttpClient 帖子中使用它?

2023-12-23

我的 .Net core 应用程序使用 HttpClient 向外部 Web 服务发出发布请求。外部 Web 服务需要证书进行验证。

证书安装在 AWS 中,并且我有一个指向该证书的 ARN。

是否可以以编程方式从 AWS Certificate Manager 获取证书并在我的 HtppClient 中使用它,例如,这是我通常用来添加证书的代码,但我需要从 AWS 获取它。

   private HttpClientHandler HttpClientHandler()
   {
        var handler = new HttpClientHandler
        {
            ClientCertificateOptions = ClientCertificateOption.Manual,
            SslProtocols = SslProtocols.Tls12
        };
        handler.ClientCertificates.Add(new X509Certificate2("cert.crt")); //TODO: fetch from AWS.
        return handler;
    }

所以,这是可能的。

我从 NuGet 安装了 AWSSDK.Core 和 AWSSDK.CertificateManager。

然后,我为 AWS 创建了一个凭证文件,请参阅 Amazon 的说明https://docs.aws.amazon.com/cli/latest/userguide/cli-config-files.html https://docs.aws.amazon.com/cli/latest/userguide/cli-config-files.html

接下来,我使用 AmazonCertificateManagerClient 来获取证书。

AmazonCertificateManagerClient client = new AmazonCertificateManagerClient();
var certificates = client.GetCertificateAsync(arn).Result;

然后,我将证书从字符串转换为字节,然后添加到处理程序中。

var handler = new HttpClientHandler{
  ClientCertificateOptions = ClientCertificateOption.Manual,
  SslProtocols = SslProtocols.Tls12
};

byte[] toBytes = Encoding.ASCII.GetBytes(certificates.Certificate);
var cert = new X509Certificate2(toBytes);

handler.ClientCertificates.Add(cert); 
var httpClient = new HttpClient(handler);

显然,这不是值得生产的代码,希望它有所帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.NET Core 应用程序是否可以从 AWS Certificate Manager 检索证书并在 HttpClient 帖子中使用它? 的相关文章

随机推荐

  • 如何在 contenteditable div 中输入时创建一个段落?

    我正在为我的一个项目制作一个简单的编辑器 我需要使用可编辑的 div 使用contenteditable财产 我需要两个功能 输入两次后自动插入小时 创建一个段落而不是 br 进入并专注于它 所以我写了这个 带着一些灵感 这是负责的代码的一
  • 如何将 EditTextPreference 限制在范围 1024:65535

    我有一个 EditTextPreference 定义为
  • missModalViewControllerAnimated 非原子的?

    看来我有一个奇怪的时间问题 我打开 uiimagepicker 作为模态视图 当用户选择图像或我想要拍摄图像时 将其保存到变量中 然后以模态视图打开电子邮件界面 我的问题是 我在图像选择器上调用dismissModalViewControl
  • Visual Studio 2017 和 SAP Crystal Reports

    我已经下载并安装了视觉工作室 2017 社区之后我下载并安装了Crystal Report 支持包 20 v 13 0 20 2399 我打开了视觉工作室2017并创建一个新项目 然后右键单击我的项目 然后单击添加项目 我寻找水晶报告 rp
  • 提升文件末尾序列化

    我使用 Boost 将多个对象序列化为二进制存档 当从 a 读回这些对象时binary iarchive 有没有办法知道存档中有多少对象 或者只是检测存档结尾的方法 我发现的唯一方法是使用 try catch 来检测流异常 提前致谢 我可以
  • ggplot:如何根据相对于绘图宽度的边距来换行标题文本

    当使用绘图时ggplot2 如何将标题文本换行以适应相对于绘图整个宽度的边距 library ggplot2 library stringr my title lt c reltively long sentences that norma
  • 在 Objective-C 框架中使用 Swift 闭包

    我正在使用 MCSwipeTableViewCell 框架来实现可滑动的 tableviewcell 内的完成块之一cellForRowAtIndexPath函数看起来像这样 cell setSwipeGestureWithView che
  • 在 Xamarin Forms 中加载查看内容时显示活动指示器

    有没有办法在页面内容视图渲染或加载时显示活动指示器 我问这个是因为当我在页面中有很多控件并且我想导航到该页面时 需要几秒钟的时间到页面 所以我想知道是否有一种方法可以即时导航页面 并且当页面出现时显示加载内容的活动指示器 以及当内容加载时显
  • JavaFX的任务似乎消耗异常。这是一个错误还是一个功能?

    考虑这段代码 Thread setDefaultUncaughtExceptionHandler Thread t Throwable e gt System out println An exception occurred set th
  • 如何取消并重新启动 C# 任务 [重复]

    这个问题在这里已经有答案了 我有一个长时间运行 长时间间隔的轮询过程 我需要能够强制更新并重新启动轮询 我想到的最明显的事情是取消轮询任务 并开始一个新的任务 因为初始循环总是更新 我试图找出最好的方法来做到这一点 使用 Operation
  • 搜索 API 中的模糊搜索

    Azure 搜索 api 提供了一个模糊参数来提供建议 像这样 https blssuggestions search windows net indexes cities docs suggest api version 2015 02
  • matlab中的递归函数

    我如何在matlab中编写递归函数 它基本上是一个马尔可夫链 我尝试为它编写一个伪代码 并且是新的MATLAB 该函数是这样的 P Probability x status 0 1 Dij probability to pick a sit
  • 为什么我的代码行在等待之后没有被调用?

    我对以下代码有问题 firebase login 返回一个 Promise 我了解到 当我之前输入 await 时 Javascript 会等待 Promise 交付 然后继续下一行 I 但下一行似乎永远不会被触发 我究竟做错了什么 它也不
  • GetProcessMemoryInfo PROCESS_MEMORY_COUNTERS_EX.PrivateUsage 始终为 0

    我在用着获取进程内存信息 https msdn microsoft com en us library windows desktop ms683219 v vs 85 aspx函数通过 PID 确定进程内存使用情况 与常规的PROCESS
  • 如何在打包程序提供脚本中传递参数?

    我正在努力将输入参数传递给打包程序配置脚本 我尝试过各种选择但没有喜悦 目标是我的provision sh应该接受我在打包器构建期间发送的输入参数 packer build var role abc test json 我能够在 json
  • pthreads:快速重新锁定导致的线程饥饿

    我有两个线程 一个在紧密循环中工作 另一个偶尔需要与第一个线程执行同步 thread 1 while 1 lock work perform work unlock work thread 2 while 1 unrelated work
  • 如何使用MFC CScrollbar控件?

    我已将水平 CScrollBar 控件放到对话框中 你到底怎么用它 我尝试将手柄移至右侧 但它直接跳回左侧 所以我想我可能需要设置范围 我调用了 SetScrollRange 0 100 它仍然做同样的事情 我在 Google 上找不到任何
  • 通过以太网直接连接笔记本电脑和arduino

    我用 Arduino 和以太网盾做了一个项目 Arduino 托管着一个网站 我可以通过笔记本电脑上的浏览器打开该网站 Arduino 通过以太网连接到路由器 所有这些都工作得很好 现在我必须在学校展示这个项目 为了防止出现令人不快的意外
  • 任何人都可以定义 Windows PE 校验和算法吗?

    我想用 C 实现这个 我看过这里 http www codeproject com KB cpp PEChecksum aspx http www codeproject com KB cpp PEChecksum aspx 并且我知道 I
  • .NET Core 应用程序是否可以从 AWS Certificate Manager 检索证书并在 HttpClient 帖子中使用它?

    我的 Net core 应用程序使用 HttpClient 向外部 Web 服务发出发布请求 外部 Web 服务需要证书进行验证 证书安装在 AWS 中 并且我有一个指向该证书的 ARN 是否可以以编程方式从 AWS Certificate