我正在使用此代码对文件进行签名:
openssl_pkcs7_sign($in,$out,
cert.crt,
cert.key,
array(),
PKCS7_NOATTR
);
然而,它在打开时仍然显示为未经验证。
相反,这个openssl命令工作正常:
openssl smime -sign -in in -out out -signer cert.crt -inkey cert.key -certfile ca-bundle -outform der -nodetach
为什么PHP代码不起作用?
答案 0 :(得分:3)
好的,
openssl_pkcs7_sign($in,$out,
cert.crt,
cert.key,
array(),
PKCS7_NOATTR,
"/real/path/of/ca/intermeidate/cert/file.pem"
);
诀窍。最后的$ extracerts arg使用真实路径而不是file://