如何将 HSM 加密与 C# 集成?
如何将硬件安全模块加密与 C# 应用程序集成?
How would I integrate Hardware Security Module encryption with a C# application?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如何将硬件安全模块加密与 C# 应用程序集成?
How would I integrate Hardware Security Module encryption with a C# application?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
HSM 通常表示硬件安全模块。这是一种通常会物理保护私钥或秘密密钥的设备,以便它们永远不会进入您计算机的 RAM。大多数 HSM 会为您进行加密和签名,而不仅仅是保存密钥。
可以通过一些 API 来访问 HSM 的加密功能。包括 PKCS#11、Chil (OpenSSL)。 MSCAPI 和 CNG 提供商也使用 HSM。
大多数 HSM 供应商都会为您提供 PKCS#11 库或 CAPI/CNG 提供程序。一旦掌握了这一点,就可以根据已发布的 API 进行编程了。
一般来说,使用 HSM 的过程如下:
不幸的是,CAPI 和 CNG 的托管部分不允许访问第三方提供商,您需要通过 C# 使用 CAPI/CNG HSM。您必须使用 PInvoke 调用直接调用非托管 CAPI/CNG 或 PKCS#11 库代码。
HSM typically means Hardware Security Module. This is a device that will usually physically protect private or secret keys such that they don't ever get into your computer's RAM. Most HSMs will do encryption and signatures for you rather than just holding keys.
Access to a HSM's crypto powers can be via a handful of APIs. Including PKCS#11, Chil (OpenSSL). MSCAPI and CNG provders also exist to use HSMs.
Most HSM vendors will provide you with a PKCS#11 library or CAPI/CNG provider. Once you have this, it is a matter of programming against a published API.
Generally, using a HSM goes somthing along these lines:
Unfortunately, It the managed portion of CAPI and CNG do not allow for access to third-party providers which you would need to use a CAPI/CNG HSM via C#. You will have to call directly into the unmanaged CAPI/CNG or a PKCS#11 library code using PInvoke calls.
如果它是兼容 PKCS #11 的设备,您可以使用 NCryptoki。从他们的网站:
If its a PKCS #11 compliant device, you can use NCryptoki. From their website:
我们使用了 Pkcs11Interop 并且效果非常好。它是一个 Apache 2.0 许可的开源库。据我所知,它是最新的并且仍在维护中。
We used Pkcs11Interop and it worked really well. It is an Apache 2.0 licensed open source library. As far as i see it is quite up to date and still being maintained.