php openssl подписать файл

Я хочу создать подпись с openssl. У меня есть исполняемая команда, подобная следующей, но я не знаю, как перевести ее на PHP.

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

Как вызвать эту команду в PHP?

2 ответа

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)

Другие вопросы по тегам