3

このコードを使用してファイルに署名しています:

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 コードが機能しないのはなぜですか?

4

1 に答える 1

3

わかった、

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

トリックをしました。最後の $extracerts 引数は、file:// の代わりに実際のパスを使用します

于 2012-11-26T16:11:47.900 に答える