错误CSP不支持DSA算法

时间:2017-01-23 17:48:38

标签: c# .net signature dsa hsm

尝试设置DSACryptoServiceProvider以用于接受DSA签名的HSM上的DSA签名时出现此错误:

  

"指定的加密服务提供程序(CSP)不支持此密钥算法。"

调用堆栈:

  

at System.Security.Cryptography.Utils.GetKeyPairHelper(CspAlgorithmType keyType,CspParameters parameters,Boolean randomKeyContainer,Int32 dwKeySize,SafeProvHandle& safeProvHandle,SafeKeyHandle& safeKeyHandle)          在System.Security.Cryptography.DSACryptoServiceProvider.GetKeyPair()          在Controller.cs中的ProjektDemoHSM.Controller.setDSAAlgo(Dictionary`2 listProp):第788行

代码:

CSP = new CspParameters(1, "Luna Cryptographic Services for Microsoft Windows");
l.788 : DSAcsp = new DSACryptoServiceProvider(CSP);

我确信CSP接受DSA为:(我省了所有支持的算法列表)

c:\Program Files\SafeNet\LunaClient\KSP>certutil -csp "Luna Cryptographic Services for Microsoft Windows" -csptest   
  Signature Algorithms:
    DSA

  Asymmetric Algorithms:
    DSA

CertUtil: -csptest command completed successfully.

如果有人知道什么可能导致这样的错误,我很有意思。仅供参考,我正在.NET 3.5上运行,并尝试使用HSM Luna SA。我使用RSACryptoServiceProviderECDsaCng没有问题,但是``DSA刚刚工作。提前谢谢!

0 个答案:

没有答案