有没有办法创建一个PKCS#7 (S/MIME)签名与PKCS#11兼容的HSM设备(读卡器)使用纯PHP,即没有明确的外壳命令调用,例如使用PHP OpenSSL库或其他胶水?
我可以使用命令行工具openssl和PKCS#11引擎成功创建PKCS#7签名,如下所示:
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提供的密钥。我是不是遗漏了什么?
https://stackoverflow.com/questions/47771005
复制相似问题