gpt4 book ai didi

ssl - 使用 PKCS#11 HSM 验证 SSL Web 请求

转载 作者:太空宇宙 更新时间:2023-11-03 13:08:18 24 4
gpt4 key购买 nike

我正在尝试向我编写的网站发出 Web 请求,该请求要求客户端提供证书以进行身份​​验证。

具体来说,我正在尝试编写一个可以发出 Web 请求的 C#(或 Visual C++)应用程序,但在我的 HSM 上使用证书和私钥。

我发现这里有一个类似的问题,但没有收到我需要的答案。

我已经可以:

  • P/调用我的本地 pkcs#11 库(一个 DLL),登录,在 HSM 上查找/创建对象
  • 使用 pkcs#11 接口(interface),我可以读取 HSM 上的 X509 证书

我不能:

  • 从 HSM 导出私钥。它不可导出。

因此,我需要一种从我的应用程序发出 Web 请求并说“对于握手,使用我的 HSM 上的 X509 和私钥对象”的方法。

请不要建议我“检查”NCryptoki、Bouncy CaSTLe 等东西——我已经可以使用它们来制作我的 Windows 应用程序。与 HSM 通信。我需要的是如何制作 Windows 应用程序。在 HSM 上的凭据上下文下发出 Web 请求。

最佳答案

当您通过 pkcs#11 native 调用获得证书时,您没有附加私钥。私钥进行解密,所以我们需要它。要解决这个问题,您有两个选择:

  1. 几乎所有设备在安装过程中都会注册一个加密服务提供程序。例如,您可以在该提供商上包装一个 RSACryptoServiceProvider,并将其分配给证书的 PrivateKey 属性。

  2. 一些设备驱动程序将您的 HSM 中的证书与个人证书存储区同步。如果您从 Windows 商店选择证书,它将自动附加一个加密服务提供程序。所以丢失私钥的问题就没有了。您需要做的就是将证书添加到 ClientCertificates 集合。

您可以想象,如果可用的话,我会推荐第二种选择。

关于ssl - 使用 PKCS#11 HSM 验证 SSL Web 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14247807/

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