gpt4 book ai didi

c++ - 如何按照 PKCS#11 使用 Microsoft Crypto API 和 USB Dongle

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:30:10 24 4
gpt4 key购买 nike

我有一家公司提供的 safenet 身份验证 USB token ,他们告诉我他们里面有数字公钥证书。他们给了我一个密码和一个软件,通过它我可以看到它可以检测里面的证书。现在我需要访问这个 token 的证书,然后我需要使用我的开发代码进行签名、加密和解密。但是公司没有给我任何 sdk,所以我必须通过 C++ Microsoft CryptoAPI 来做所有事情。我在谷歌上搜索过,但我不确定我的方向是否正确

这段代码没有给我正确的 usb 存储证书句柄

        // Attempt to acquire a handle to the default key container.
bResult = CryptAcquireContext(
&hProv, // Variable to hold returned handle.
NULL, // Use default key container.
MS_DEF_PROV, // Use default CSP.
PROV_RSA_FULL, // Type of provider to acquire.
0);

我认为它应该在智能卡或 token 上提供任何默认连接的证书。我也尝试过 MS_SCARD_PROV,考虑它是否可以让我通过 USB token 进行访问,但它似乎只用于智能卡而不用于 token 。

我非常想完成这项任务,请指导我或告诉我正确的教程(如果您知道的话)。或者建议我应该为此类任务做些什么..

最佳答案

您将同时使用 PKCS#11 和 CryptoAPI 功能。

PKCS#11 将主要用于与硬件 token 对话。每个硬件供应商都会为其硬件 token 实现 PKCS#11 接口(interface)。如果你的是 etoken,那么 safenet 有一个。 safenet 也会有他们的 CryptoAPI CSP您可以用来与 token 对话。

CryptoAPI 提供了丰富的功能来处理 token 中存在的证书。

关于c++ - 如何按照 PKCS#11 使用 Microsoft Crypto API 和 USB Dongle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13320685/

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