是否可以让引擎生成密钥对,让应用程序“使用”私钥(例如签名)而不实际暴露密钥?例如,openssl 会返回某种引用,但不会返回密钥本身。此外,应该有一种方法来存储密钥对(以及任何相关的证书链)并在以后检索它们。我们正在考虑将所有内容存储在 pkcs12 结构中。
你能给我一些指示如何在 C 中做到这一点吗?
这可以通过使用OpenSSL 支持的硬件安全模块 ( http://en.wikipedia.org/wiki/Hardware_Security_Module ) 来实现。
我过去曾成功地将 nCipher HSM 与 OpenSSL 一起使用,但它们并不是唯一受支持的供应商。