Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过C#使用CryptoAPI?_C#_.net_Cryptography_Cryptoapi_Mscapi - Fatal编程技术网

如何通过C#使用CryptoAPI?

如何通过C#使用CryptoAPI?,c#,.net,cryptography,cryptoapi,mscapi,C#,.net,Cryptography,Cryptoapi,Mscapi,有一组CryptoApi函数与加密服务提供商(CSP)一起工作 是的,我知道有System.Cryptography命名空间。但我不需要它们的实现 是否有现成的库为这些函数提供.NET包装器 我认为最好的办法是使用p/Invoke将功能拉入C#应用程序。 这里有一篇关于MSDN的(旧)文章,介绍了在C#中使用P/Invoke和CryptoAPI: 它适用于.Net 1.1,但概念仍然相同。关于此主题,MSDN上有一篇扩展文章: 一篇关于使用.Net的文章 从中提取的一些p/Invoke声明显

有一组CryptoApi函数与加密服务提供商(CSP)一起工作

是的,我知道有System.Cryptography命名空间。但我不需要它们的实现


是否有现成的库为这些函数提供.NET包装器

我认为最好的办法是使用p/Invoke将功能拉入C#应用程序。 这里有一篇关于MSDN的(旧)文章,介绍了在C#中使用P/Invoke和CryptoAPI:


它适用于.Net 1.1,但概念仍然相同。

关于此主题,MSDN上有一篇扩展文章:

一篇关于使用.Net的文章

从中提取的一些p/Invoke声明显示了它的p/Invoke定义:

[snip]代码示例对于SO来说太大[/snip]


System.Security.Cryptography命名空间是Windows CryptoAPI的包装器。好的,我应该使用什么类来处理第三方CSP?
CPAcquireContext
CPCreateHash
CPDecrypt
CPDeriveKey
CPDestroyHash
CPDestroyKey
CPDuplicateHash
CPDuplicateKey
CPEncrypt
CPExportKey
CPGenKey
CPGenRandom
CPGetHashParam
CPGetKeyParam
CPGetProvParam
CPGetUserKey
CPHashData
CPHashSessionKey
CPImportKey
CPReleaseContext
CPSetHashParam
CPSetKeyParam
CPSetProvParam
CPSignHash
CPVerifySignature