powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Perl - какие побочные эффекты могут быть у system?
5 сообщений из 5, страница 1 из 1
Perl - какие побочные эффекты могут быть у system?
    #38352498
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такой sh-скрипт:
Код: plaintext
/data/gost-ssl/bin/openssl smime -sign -in /tmp/request.xml -out /tmp/request.tpl -signer /data/gost-ssl/key/provider.pem -outform DER

Есть такой pl-скрипт (переменные имеют такие же значения, что в предыдущем скрипте):
Код: plaintext
system('/data/gost-ssl/bin/openssl smime -sign -signer /data/gost-ssl/key/provider.pem -outform DER -in /tmp/request.xml -out /tmp/request.sig2');

Почему-то файлы request.sig1 и request.sig2 различаются (размер одинаковый, различается 65 байт из 3029).
Отчего такое может быть?
________________________
Мы смотрим с оптимизмом...
...в оптический прицел.
...
Рейтинг: 0 / 0
Perl - какие побочные эффекты могут быть у system?
    #38353216
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.,

От того, что скрипты разные.
...
Рейтинг: 0 / 0
Perl - какие побочные эффекты могут быть у system?
    #38353751
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В чем же их разница? Порядок аргументов для OpenSSL не важен.
...
Рейтинг: 0 / 0
Perl - какие побочные эффекты могут быть у system?
    #38353752
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.,

Предположу что openssl чувствует переменные окружения. Наверняка они различаются при вызове из консоли и из скрипта. Но вот как openssl на них реагирует (или должен реагировать) - это не подскажу. Может ответ и кроется в этих 65 байтах.
...
Рейтинг: 0 / 0
Perl - какие побочные эффекты могут быть у system?
    #38353757
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оба скрипта (bash и perl) я запускал интерактивно, под одним и тем же пользователем, в одном и том же окружении.

По поводу 65 байтов — это видимо дата и время подписания. Они меняются при каждом подписании.

По поводу ошибки тоже выяснилось.
Скрипт я генерировал в perl-скрипте, который отлаживал на рабочей машине (Windows, ActivePerl), а запускал на сервере (FreeBSD).
При этом xml-файл, который я подписывал, первоначально был сгенерирован в Windows. В качестве разделителей строк там использовался <CR><LF>. Когда же на сервере запускался pl-скрипт, он повторно генерировал xml-файл и в этом файле строки разделялись <LF>.

Веб-сервис, на котором я тестировал подпись ( http://www.gosuslugi.ru/pgu/eds) как выяснилось обладает своими особенностями — если текстовый файл в формате unix (строки разделяются <LF>) подписать и проверить подпись, то подпись будет признана недействительной. Если же текстовый файл преобразовать в windows (строки разделяются <CR><LF>) и подписать, тогда подпись будет признана действительной.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Perl - какие побочные эффекты могут быть у system?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]