我正在使用此代码签署文件:

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代码不能工作?

最佳答案

好啊,

openssl_pkcs7_sign($in,$out,
     cert.crt,
     cert.key,
     array(),
     PKCS7_NOATTR,
     "/real/path/of/ca/intermeidate/cert/file.pem"
        );

成功了。最后一个$extercerts arg使用实际路径而不是文件://

09-27 03:03
查看更多