PKCS#7 detached signature. Имеется сертификат в формате cer и он же перекодированный в формат pem. Собственно, как это сделать?
Гугленье на эту тему дает очень мало информации касательно данного вопроса в рамках php. В частности, нашел я php функцию openssl_pkcs7_sign, которая берет строку из файла, подписывает ее и засовывает в другой файл, однако работать она у меня наотрез отказывается, а именно пишет ошибку "error getting private key"(а openssl_error_string() выдает "error:0906D06C:PEM routines:PEM_read_bio:no start line"). Как эту ошибку победить я так и не понял, на всякий случай привожу свой код:
$ok = openssl_pkcs7_sign(realpath("text.txt"), "signed.txt",
'file://'.realpath('cert.pem'),
array ('file://'.realpath('cert.pem'), "secretPass"),
array ()
);
if(!$ok) print $mes = openssl_error_string();
Все файлы существуют и лежат в той же директории где и сам php скрипт. Права на чтение выставлены. Формат сертификата pem верен, строчки "-----BEGIN CERTIFICATE-----" и "-----END CERTIFICATE-----" присутствуют.
Собственно, задача либо победить таки проблему с этой функцией, либо найти альтернативное решение. Может быть был у кого-нибудь подобный опыт?
_____________