gpt4 book ai didi

c# - 在 Azure 应用服务 Web 作业中使用 X509KeyStorageFlags.EphemeralKeySet 时出错

转载 作者:行者123 更新时间:2023-12-03 05:25:01 28 4
gpt4 key购买 nike

我正在尝试在 Azure 应用服务的 Web 作业中实例化 X509Certificate2 对象。该证书是 PFX 文件。

当我尝试像这样实例化时,它无法在 WS 调用中使用该对象:

new X509Certificate2(byteArray, 密码, X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.UserKeySet | X509KeyStorageFlags.EphemeralKeySet)

通过失败,我的意思是它开始抛出:System.Net.WebException:请求已中止:无法创建 SSL/TLS 安全通道。

但是当我这样尝试时,WS 工作正常:

new X509Certificate2(byteArray, 密码, X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.UserKeySet)

唯一的区别是X509KeyStorageFlags.EphemeralKeySet的用户。该应用程序在 .Net Framework 4.7.2 上运行。有谁知道为什么会发生这种情况吗?

一点解释:我们在应用服务中遇到了磁盘空间问题,我们在一些文章和一些 SO 问题/答案中读到,这可能是由事实上,Windows 将读取的所有证书写入磁盘,从而消耗大量空间。

一个例子是 question .

最佳答案

SslStream 在 Windows 上无法使用 EphemeralKeySet 键。根本原因是 Windows 不在进程内执行 TLS,而是在不同的进程中执行所有加密操作。它们当前的功能不会尝试将临时 key 导出/传输到其他进程,因此它在另一端失败,并显示“我找不到私钥”。

关于c# - 在 Azure 应用服务 Web 作业中使用 X509KeyStorageFlags.EphemeralKeySet 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69648515/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com