Поменялся алгоритм хэширования и старая бесплатная утилитка перестала с ним работать. Штатными средствами шиндовс достать контейнер не получится - разные алгоритмы хэширования.
У мепня прокатило вот такое:
Ставим крипто про 4 (триальная работает пару недель).
Используя утилитку из набора 1 раз подписываем запрос командой вида:
C:\"Program files"\"Crypto Pro"\CSP\csptest.exe -sfsign -sign -detached -add -in <путь к фалу>request.xml -out <путь к фалу>request.bin -my <имя владельца сертификата>@example.ru
Потом перекидываем в нужную дерикторию в линуксе файл request.bin и убираем из скрипта подписывание, которое в перл-скрипте выглядело примерно так:
system ("/gost-ssl/bin/openssl smime -sign -in /gost-ssl/rzs/request.xml -out /gost-ssl/rzs/request.bin". " -signer /gost-ssl/rzs/provider.pem -outform DER -nodetach");
После этого у нас остается генерация только XML-файла для запроса, а подпись всегда используем полученную из винды.
Никаких проблем.
Есть вариант еще сделать это все под виндой - тоже проверно и работает, но это же не наш метод? А покупать утильку за 2990 на 1год + 14 дней совсем не хочется.