php-openssl签名文件


php openssl sign file

我想用openssl创建一个签名。我有一个如下所示的可执行命令,但我不知道如何将其翻译成PHP。

openssl cms -sign -inkey key.pem -signer signature.pem -outform DER -in xy.xml 

如何在PHP中调用此命令?

exec('openssl cms -sign -inkey key.pem -signer signature.pem -outform DER -in xy.xml')

使用此命令,php可以调用操作系统的openssl命令,就像在终端上编写命令一样。

如果您想以本机方式(php函数)进行操作,可以查看OpenSSL库http://php.net/manual/en/book.openssl.php和功能标志http://php.net/manual/en/function.openssl-sign.php

openssl_cms_sign('xy.xml', "xy.xml.sign", file_get_contents('signature.pem'), file_get_contents('key.pem'), null, 0, OPENSSL_ENCODING_DER)