HSM通常表示硬件安全模块。这是一种通常会物理保护私钥或秘密密钥的设备,这样它们就不会进入您计算机的 RAM。大多数 HSM 会为您进行加密和签名,而不仅仅是保存密钥。
可以通过少数 API 访问 HSM 的加密功能。包括PKCS#11、Chil (OpenSSL)。MSCAPI 和 CNG 供应商也存在使用 HSM。
大多数 HSM 供应商会为您提供 PKCS#11 库或 CAPI/CNG 提供程序。一旦你有了这个,那就是针对已发布的 API 进行编程的问题。
通常,使用 HSM 会遵循以下几点:
provider = HSM.Connect()
keyhandle = provider.LoadKey("my_rsa_key")
signature = provider.Sign( keyhandle, "Sha1WithRSA", "myData" )
provider.UnloadKey( keyhandle )
Run Code Online (Sandbox Code Playgroud)
不幸的是,CAPI 和 CNG 的托管部分不允许访问第三方提供商,您需要通过 C# 使用 CAPI/CNG HSM。您必须使用 PInvoke 调用直接调用非托管 CAPI/CNG 或 PKCS#11 库代码。
| 归档时间: |
|
| 查看次数: |
7924 次 |
| 最近记录: |