首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PKCS#11的PHP中的PKCS#7签名,无需CLI调用

使用PKCS#11的PHP中的PKCS#7签名,无需CLI调用
EN

Stack Overflow用户
提问于 2017-12-12 19:01:59
回答 0查看 784关注 0票数 0

有没有办法创建一个PKCS#7 (S/MIME)签名与PKCS#11兼容的HSM设备(读卡器)使用纯PHP,即没有明确的外壳命令调用,例如使用PHP OpenSSL库或其他胶水?

我可以使用命令行工具openssl和PKCS#11引擎成功创建PKCS#7签名,如下所示:

代码语言:javascript
复制
putenv('PIN='.$secret_card_pin);
shell_exec("export PIN; OPENSSL_CONF=openssl.cnf openssl smime -sign -engine pkcs11 -md sha1 -binary -in {$tmpFileIn} -out {$tmpFileOut} -outform der -keyform engine -inkey id_ed0007 -signer pubcert.pem");

我想要清理这一点,但使用纯PHP似乎是不可能的,因为据我所知,openssl_pkcs7_sign()函数只能与私钥文件一起使用,而不支持pkcs11-engine提供的密钥。我是不是遗漏了什么?

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47771005

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档