我使用pkcs7签署文档,一切正常,问题是验证标志的命令不起作用,总是返回false.我尝试将terminal命令用于文件并正常工作.
签名命令:
openssl_pkcs7_sign(
$tempdoc,
$tempsign,
$this->signature_data['signcert'],
array($this->signature_data['privkey'],
$this->signature_data['password']),
array(),
PKCS7_BINARY | PKCS7_DETACHED);
Run Code Online (Sandbox Code Playgroud)
验证命令:
openssl_pkcs7_verify($tempsign, PKCS7_NOVERIFY)
Run Code Online (Sandbox Code Playgroud)
终端命令:
openssl pkcs7 -inform DER -in signature.pkcs7 -print_certs -text
Run Code Online (Sandbox Code Playgroud)
编辑1
我在我的代码中进行测试,并发现我是否仅使用PKCS7_DETACHED或PKCS7_BINARY创建我的符号正常验证,但两者一起我收到错误.为什么会这样?