Из-за некоторых ограничений платформы я вынужден генерировать подпись openssl в командной строке.Я выполняю команду openssl sign и с командой openssl verify она проверяет.Но когда я устал подписывать по команде и проверять по php, это не удается.
$filesize = filesize('test.txt');
$fp = fopen('test.txt', 'rb');
$data = fread($fp, $filesize);
$prvKey = 'qa_sig_ec.key';
$command = 'echo -n "'.$data.'" | openssl dgst -sha256 -sign '. $prvKey;
$sig = exec($command);
$filesize2 = filesize(__DIR__."\qa_sig_ec.pub");
$fp2 = fopen(__DIR__."\qa_sig_ec.pub", 'rb');
$publicKey = fread($fp2, $filesize2);
var_dump(openssl_verify($data, $sig, $publicKey, OPENSSL_ALGO_SHA256));
Я считаю, что что-то не так с передачей подписи, потому что команда openssl генерирует двоичный контент и perhpas, когда я передаю его в скриптСломалось.Есть идеи, пожалуйста?