如何通过c#使用CryptoAPI

本文关键字:CryptoAPI 使用 何通过 | 更新日期: 2023-09-27 18:01:22

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

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

是的,我知道有系统。密码学的名称空间。但是我不需要他们的实现。

是否有现成的库为这些函数提供。net包装器?

如何通过c#使用CryptoAPI

MSDN上已经有一篇关于这个主题的扩展文章:

使用CAPICOM和p/Invoke扩展。net加密

关于在。net中使用CryptoAPI证书存储的文章。

一些p/Invoke声明摘自这篇博客文章,它显示了p/Invoke的定义:

[snip]代码样本太大,所以[/snip]

我认为你最好的选择是使用p/Invoke将功能拉入你的c#应用程序。这是MSDN上一篇关于在c#中使用P/Invoke和CryptoAPI的(旧)文章:

使用CAPICOM和p/Invoke扩展。net加密

它是为。net 1.1准备的,但是概念还是一样的