gpt4 book ai didi

c# - 如何在没有 PIN 提示的情况下通过智能卡读卡器访问 PKI 证书的私钥?

转载 作者:太空宇宙 更新时间:2023-11-03 12:54:37 25 4
gpt4 key购买 nike

我需要访问存储在卡中的 PKI 证书的私钥。我可以通过智能卡读卡器访问它。每当我尝试使用私钥时,第一次我总是必须在 PIN 提示符中输入 PIN 码。

是否可以在没有 PIN 提示的情况下以编程方式输入 PIN 并使用私钥?我需要创建 WCF 服务,该服务将使用 PKI 证书对输入数据进行签名,并将它们签名后返回给用户。

以这种方式,我目前尝试使用 C# 使用 PKI 证书对数据进行签名:

var cmsSigner = new CmsSigner(x509certificate2); // certificate fetched from store
var contentInfo = new ContentInfo(dataToSign);
var signedCms = new SignedCms(contentInfo, true);
signedCms.ComputeSignature(cmsSigner, false);

PIN 提示总是在第一个 ComputeSignature 方法调用时打开。如何通过 PIN 直接访问私钥,避免通过提示手动输入 PIN?

最佳答案

归结为两种情况:

  1. 硬件 CSP(加密服务提供商)遵守 Microsoft 定义的 API 并正确实现 CspParameters;
  2. 当需要私钥操作时,硬件 CSP 本身会为 PIN 生成一个弹出窗口。

在第一种情况下,您应该阅读 How to: Access Hardware Encryption Devices然后尝试通过 a KeyPassword给 CSP。

在后一种情况下,可能需要联系创建 CSP 的公司并询问哪些选项可用。幸运的是,此选项通常不再实现。

关于c# - 如何在没有 PIN 提示的情况下通过智能卡读卡器访问 PKI 证书的私钥?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34360966/

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