Форум КриптоПро
»
Средства криптографической защиты информации
»
КриптоПро ЭЦП (усовершенствованная ЭЦП)
»
Группа или ресурс не находятся в нужном состоянии для выполнения требуемой операции. 0x8007139f
Статус: Участник
Группы: Участники
Зарегистрирован: 24.08.2018(UTC) Сообщений: 20 Откуда: Санкт-Петербург Сказал(а) «Спасибо»: 9 раз
|
Доброго времени суток, Вы сталкивались с чем то подобным? Можете подсказать. У меня есть очень просто код: function createSign(dataToSign, selectedCertID) { alert('func - start'); var oHashedDataPromise = cadesplugin.CreateObjectAsync("CAdESCOM.HashedData"); oHashedDataPromise.then( function (oHashedData) { var oSignerPromise = cadesplugin.CreateObjectAsync("CAdESCOM.CPSigner"); oSignerPromise.then( function (oSigner) { var oCert = global_selectbox_container[selectedCertID]; oSigner.Certificate = oCert; alert('cert - ok'); var oSignedDataPromise = cadesplugin.CreateObjectAsync("CAdESCOM.CadesSignedData"); oSignedDataPromise.then( function (oSignedData) { oSignedData.Content = dataToSign; oSigner.Option = 1; oSigner.TSAAddress = "http://testca.cryptopro.ru/tsp/"; oSignedData.ContentEncoding = cadesplugin.CADESCOM_BASE64_TO_BINARY; oHashedData.Algorithm = cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411; oHashedData.SetHashValue = dataToSign; sSignedData = oSignedData.SignHash(oHashedData, oSigner, cadesplugin.CADESCOM_CADES_X_LONG_TYPE_1); alert('signer - ok'); document.getElementById("DataToSignTxtBox").innerHTML = sSignedData; }) }); }); } Но он отказывается напрочь работать, в области "sSignedData = oSignedData.SignHash(oHashedData, oSigner, cadesplugin.CADESCOM_CADES_X_LONG_TYPE_1);" он выдает ошибку: " Группа или ресурс не находятся в нужном состоянии для выполнения требуемой операции. 0x8007139f" dataToSign = это массив байт, преобразованный сначала в хэш, потом в base64 для того, чтобы данные для подписи в КриптоПро ЭЦП Browser plug-in не перекодировались в UCS-2 little endian. Подскажите что я делаю не так - хотя бы где искать.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,630 Сказал «Спасибо»: 494 раз Поблагодарили: 2035 раз в 1579 постах
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,630 Сказал «Спасибо»: 494 раз Поблагодарили: 2035 раз в 1579 постах
|
Цитата:oHashedData.Algorithm = cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411; Сертификат с алгоритмом подписи ГОСТ-2001 или 2012? |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 24.08.2018(UTC) Сообщений: 20 Откуда: Санкт-Петербург Сказал(а) «Спасибо»: 9 раз
|
Автор: Андрей Писарев Цитата:oHashedData.Algorithm = cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411; Сертификат с алгоритмом подписи ГОСТ-2001 или 2012? В данный момент 2001 - это просто тестовый вариант,а так предполагается использование и других алгоритмов, но их можно было бы расширить через if
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 24.11.2009(UTC) Сообщений: 965 Откуда: Crypto-Pro
Сказал(а) «Спасибо»: 3 раз Поблагодарили: 174 раз в 152 постах
|
Вы не правильно задаете свойства. Их нужно задавать через метод propset_<property name>(). Который также как и все методы вернет Promise. |
|
1 пользователь поблагодарил Анатолий Беляев за этот пост.
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 24.08.2018(UTC) Сообщений: 20 Откуда: Санкт-Петербург Сказал(а) «Спасибо»: 9 раз
|
Автор: cross Вы не правильно задаете свойства. Их нужно задавать через метод propset_<property name>(). Который также как и все методы вернет Promise. а можно более подробно? пример хотя бы для моего контекста, просто я не понимаю
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 06.10.2017(UTC) Сообщений: 5 Откуда: ЯНАО Поблагодарили: 4 раз в 1 постах
|
Автор: Андрей Писарев Цитата:oHashedData.Algorithm = cadesplugin.CADESCOM_HASH_ALGORITHM_CP_GOST_3411; Сертификат с алгоритмом подписи ГОСТ-2001 или 2012? Подскажите, необходимо ли какие-то дополнительные настройки вносить если используется сертификат 2012 года? У меня такая же ошибка с новыми сертификатами :(
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 06.10.2017(UTC) Сообщений: 5 Откуда: ЯНАО Поблагодарили: 4 раз в 1 постах
|
Отвечу сам себе :)
Ошибка "Группа или ресурс не находятся в нужном состоянии для выполнения требуемой операции. 0x8007139f" в моём случае, возникала после получения новых сертификатов - на ГОСТ 2012, при подписании в формате CADESCOM_CADES_T.
Пытаясь решить проблему, в том числе, попробовал подписать документ без штампа времени. В этом случае, все нормально подписалось. В итоге выяснил, что сертификат службы штампов времени, так же должен быть выпущен по 2012 ГОСТу. Так что проблема была решена указанием нового url для службы TSP
|
|
|
|
Форум КриптоПро
»
Средства криптографической защиты информации
»
КриптоПро ЭЦП (усовершенствованная ЭЦП)
»
Группа или ресурс не находятся в нужном состоянии для выполнения требуемой операции. 0x8007139f
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close