Openssl 生成签名的PKCS7而不访问PK

Openssl 生成签名的PKCS7而不访问PK,openssl,smartcard,sign,pkcs#7,Openssl,Smartcard,Sign,Pkcs#7,我有一张智能卡,它存储我的私钥并执行有限的加密操作,我需要生成一个PKCS7签名文件。智能卡附带的库不支持PKCS7,但我可以使用它生成签名 考虑到明文负载、证书和签名(而不是私钥),我是否可以使用成熟的开源库(如openssl)来构建PKCS7内容 我知道我可以调用openssl中的各种函数一次执行所有操作,包括签名,但这需要访问私钥,而我的代码无法提取私钥。您可以通过创建一个openssl引擎来实现,该引擎将在需要私钥操作时与卡通信 你的答案基本上包含在问题中;就好像你只是简单地回答了“是”

我有一张智能卡,它存储我的私钥并执行有限的加密操作,我需要生成一个PKCS7签名文件。智能卡附带的库不支持PKCS7,但我可以使用它生成签名

考虑到明文负载、证书和签名(而不是私钥),我是否可以使用成熟的开源库(如openssl)来构建PKCS7内容


我知道我可以调用openssl中的各种函数一次执行所有操作,包括签名,但这需要访问私钥,而我的代码无法提取私钥。

您可以通过创建一个openssl引擎来实现,该引擎将在需要私钥操作时与卡通信

你的答案基本上包含在问题中;就好像你只是简单地回答了“是”。很难回答更具体的问题。OpenSSL有一个非常完善的引擎API,您甚至可以通过将动态加载引擎作为外部库来使用现成的OpenSSL安装。如果将应用程序与OpenSSL链接,可能会更容易。这在很大程度上取决于您将要使用的硬件体系结构、平台等。我使用OpenSSL生成CSR,然后使用配备智能卡的定制硬件建立TLS连接,因此答案是肯定的。如果您需要澄清,请就此问题发表评论。