在.net中使用HSM加密,不使用PKCS11

本文关键字:PKCS11 加密 HSM net | 更新日期: 2023-09-27 18:16:06

我正在开发一个应用程序执行加密操作(为客户演示的目的)使用HSM在。net 3.5没有pkcs# 11,在c#(加密命名空间)

  1. 我已经找到了HSM的CSP(与certutil -csp "HSM's CSP Provider name found in regedit" -csptest)支持的算法,其中一些在Cryptography namespace (RC2, RC4, DESX对称算法)中没有CryptoServiceProvider;MD4, MD2, AES-GMAC哈希算法),但它们在MS文档中被列为支持:https://msdn.microsoft.com/en-us/library/windows/desktop/bb931354(v=vs.85).aspx。有人知道如何使用这些来执行操作吗?也就是说,有没有可能选择一个没有特殊CSP类的算法呢?

  2. 我有一个类似的问题与随机数生成。我的HSM支持以下RNG算法:RNG, FIPS186DSARNG, DUALECRNG(发现方式与1中的算法相同)。在c#中是否有一种方法可以用指定的算法生成随机数?

  3. 我最后想保存生成的对称密钥直接在HSM上,但密码命名空间只有非对称密钥的KeyContainers。

提前感谢任何对这些问题有想法的人!编辑:添加。net框架版本,3.5

在.net中使用HSM加密,不使用PKCS11

pkcs# 11接口优于CSP接口,例如CSP接口不支持对称密钥的持久性。在。net 4.6.2加密类中有一些改进,但它们都是与CNG相关的。

我的建议:如果你需要RSA以外的任何东西,请使用pkcs# 11