3

Dot NET 是否支持 HSM 设备的 PKCS11 证书。如果没有,是否有任何其他支持 pkcs11 证书的第三方实用程序可用?

4

6 回答 6

3

对于 PKCS11,您可以使用开源Pkcs11Interop。它工作正常,并且包含大量带有使用示例的单元测试。

于 2015-07-06T07:46:47.440 回答
2

这个库可以满足您的需要: http ://www.ncryptoki.com

于 2011-04-11T11:00:53.410 回答
1

不确定您所说的“HSM 设备”是什么意思,因此您需要检查您的具体要求。

否则 .NET确实支持 PKCS9,但核心 .NET 中没有 PKCS11 的迹象(对于前 System.Security.Cryptography.Pkcs命名空间)。

在核心 .NET 之外,还有一些搜索结果(例如http://msdn.microsoft.com/en-us/library/microsoft.clm.shared.profiletemplates.smartcardprovidertype(VS.85).aspx)。

于 2009-09-09T11:50:50.193 回答
1

您可以使用以下语句轻松地从 .net 调用 PKCS11 API:

    [DllImport("cryptoki.dll")]
    static extern ushort C_Initialize(int reserved);
于 2016-09-09T07:11:38.643 回答
1

Windows 和 .NET 由于它被签名为 Windows 平台,因此有自己的 PKCS#11 替代品。

在 .NET 本身中有 System.Security.Cryptography 具有密钥存储提供程序的概念,在 Windows 中有 CryptoAPI 及其加密服务提供程序及其较小的子集,称为为智能卡设计的微型驱动程序。

在这两种情况下,基于相关加密 API 构建的应用程序都可以访问与它们集成的硬件安全模块等加密设备。

所有供应商都将提供与这些提供商模型中的一个或多个的集成,因此如果您感兴趣,您可以在不使用 PKCS#11 的情况下使用这些设备。

如果您出于某种原因需要使用 PKCS#11,并且在某些情况下可能需要,您应该查看https://www.pkcs11interop.net/,因为它为提供的本机 PKCS#11 库提供了托管包装器由 HSM 供应商提供。

如果您沿着这条路线走,您可以使用 SoftHSM ( https://www.opendnssec.org/softhsm/ ) 进行测试,如果您手边没有这样的设备,如果您继续使用 Windows 加密 API,您可以使用Windows 中包含的虚拟智能卡解决方案,这将做一个合理的工作,近似于物理 HSM 遇到的问题。

于 2017-12-23T19:37:21.520 回答
0

我不是 .NET 专家,但根据 Google PKIblackbox的说法,PKIblackbox有一个可以说 PCKS#11 的 .NET 工具包。然后存在一些 PKCS#11-CSP 包装器,它们允许通过 CryptoAPI 访问 PKCS#11 模块,因为我认为 .NET 世界有很多助手。此类包装器之一是CSP11

于 2009-09-14T20:14:10.613 回答