Есть портал, на котором осуществляется подписание и отправка документов (плагин крипто-про).
Для генерации тестовых данных нужно массово подписать N хэшей этих документов, для этого решила использовать ту же функцию signHash что используется при нажатии на кнопку в интерфейсе, т.о., получился такой скрипт:
console.log("Мой скрипт"); var cert = tscrypto.certificate.getBySn("7a6093565000ee80e911f10420fa3b3b"); console.log(cert); var hashOrigin = "i2rMVgOspj/xeZZrGT1qvgMqSrfBHQ1XwFiZV/zkiqY="; var hash = atob(hashOrigin).split('').map(function (c) { return ('00' + c.charCodeAt(0).toString(16)).slice(-2); }).join(''); var res = tscrypto.signHash(cert.__zone_symbol__value, hash, 100); console.log(hashOrigin); console.log(hash); return res.__zone_symbol__value.toString();
и вот он вызывается
var PayLoad = chrome.ExecuteScript(js_script);
В результате выполнения в консоли браузера я вижу ошибку функции signHash
Unhandled Promise rejection: Параметр задан неверно. (0x80070057) ; Zone: <root> ; Task: Promise.then ; Value: Параметр задан неверно. (0x80070057) undefined . Если выполнить все команды в этом же браузере , то все отлично отрабатывает. Вывела все параметры скрипта рис3, и сравнила, с теми которые передаются при нажатии на кнопку рис4. все верно.
Как это победить или в какую сторону копать?