是否有人知道C#代码示例与智能卡、硬件安全模块、TPM芯片(等)交互,这将允许我加密和解密数据?
我的目标是允许我的应用程序支持各种密钥存储,如果管理员决定他们希望私有密钥驻留在这些设备上,我希望能够支持这一点。
是否有一致的或通用的方式访问这些设备?有通过C#的路吗?
发布于 2011-01-19 22:21:32
在Windows世界中,具有特殊硬件的密码学经历了“加密服务提供商”(CSP)。CSP是在操作系统中注册的模块,它提供对这种硬件的访问。
在C#中,您可以查看RSACryptoServiceProvider,它可以使用指定特定CSP的一些参数创建。
非Windows世界倾向于使用PKCS#11来实现这一点。谷歌从C#中找到了一些显然可以使用C# DLL (即密码硬件驱动程序)的软件包;例如pkcs11.net和NCryptoki (前者似乎是开源的,而不是后者)。
https://security.stackexchange.com/questions/1747
复制相似问题