Кроме как внешним вызовом, думаю, сейчас Node JS не сможет подписать файлы средствами Крипто Про CSP.
1) Консольная утилита "cryptcp -signf" как раз делает отделенную подпись в формате PKCS#7. Покупается у Крипто Про.
2) на Java + Крипто Про JCP написать jar с обертками функций
3) на C# под Крипто Про.NET опять же написать обертки и реализовать как rest-сервис или exe-шник для вызова.
4) на C/C++ написать то же, что в п. 3) или dll/so. Это даже дешевле, т.к. не надо покупать ничего кроме CSP. Но это посложней.
Ещё как идея - использовать для Node JS версию OpenSSL с поддержкой ГОСТ и набора параметров от Крипто Про. Тогда Node JS будет нативно работать из модуля crypto. Возможно, придётся компилировать Node JS из исходников.
Я ещё не отговорил использовать Node JS для вашей задачи? :)
Вряд ли мой совет актуален, но в поисковике часто вылазит эта тема, так что может кому пригодится.