PKCS11证书

问题描述 投票:2回答:6

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

c# .net security certificate digital-certificate
6个回答
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)。


2
投票

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


1
投票

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


0
投票

我不是.NET专家,但根据谷歌PKIblackbox有一个.NET工具包,它说PCKS#11。然后存在一些PKCS#11-CSP包装器,允许通过CryptoAPI访问PKCS#11模块,因为我认为.NET世界有许多帮助器。其中一个包装是CSP11


0
投票

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

    [DllImport("cryptoki.dll")]
    static extern ushort C_Initialize(int reserved);

0
投票

Windows和.NET凭借其签署的Windows平台,拥有它自己的PKCS#11的替代品。

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

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.