如何通过 C# 使用 CryptoAPI?
有一组 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
是的,我知道有 System.Cryptography 命名空间。但我不需要他们的实现。
是否有任何现成的库可以为这些函数提供 .NET 包装器?
There is a group of CryptoApi functions which works with crypto service providers (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
Yes, I know that there is System.Cryptography namespace. But I don't need their implementations.
Is there any ready library which provides a .NET wrapper to these functions?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
MSDN 上有一篇关于此主题的扩展文章:
Extending .NET Cryptography with CAPICOM and P/Invoke
关于使用 CryptoAPI 证书存储。
一些 P/Invoke 声明取自 这篇博文显示了它的 p/Invoke 定义:
There has been an extended article on MSDN about this topic:
Extending .NET Cryptography with CAPICOM and P/Invoke
An article on using CryptoAPI Certificate Stores from .Net.
Some P/Invoke declarations lifted from this blog post that shows the p/Invoke definitions for it:
我认为最好的选择是使用 P/Invoke 将功能引入到您的 C# 应用程序中。
以下是 MSDN 上有关在 C# 中使用 P/Invoke 和 CryptoAPI 的(旧)文章:
扩展使用 CAPICOM 和 P/Invoke 的 .NET 加密
它适用于 .Net 1.1,但概念仍然相同。
I think your best bet is to use P/Invoke to pull the functionality into your C# application.
Here's an (old) article on MSDN about using P/Invoke and CryptoAPI in C#:
Extending .NET Cryptography with CAPICOM and P/Invoke
It's for .Net 1.1, but the concepts are still the same.