Статус: Участник
Группы: Участники
Зарегистрирован: 26.05.2015(UTC) Сообщений: 13 Откуда: Санкт-Петербург Сказал «Спасибо»: 1 раз Поблагодарили: 5 раз в 2 постах
|
Приветсвую. Есть следующий код (точнее его сокращенная версия), с помощью которого подписывается файл по его hash-коду. Код:var CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME = 1;
var CADESCOM_HASH_ALGORITHM_CP_GOST_3411 = 100;
var CADESCOM_CADES_BES = 1;
function signFileHash (thumbprint, hashFile) {
//search cert
var oCert;
var oStore = createObj('CAPICOM.store');
oStore.Open();
var oCerts = oStore.Certificates.Find(CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME, thumbprint);
if (oCerts.Count > 0) {
oCert = oCerts.Item(1);
}
oStore.Close();
//sign
var signedMessage;
if (oCert) {
var oSigner = createObj('CAdESCOM.CPSigner');
oSigner.Certificate = oCert;
var oHashedData = createObj('CAdESCOM.HashedData');
oHashedData.Algorithm = CADESCOM_HASH_ALGORITHM_CP_GOST_3411;
oHashedData.SetHashValue(hashFile);
var oSignedData = createObj('CAdESCOM.CadesSignedData');
signedMessage = oSignedData.SignHash(oHashedData, oSigner, CADESCOM_CADES_BES);
}
return signedMessage;
}
И соответсвенно вызов этого метода: Код:var signedData = signFileHash('1B7CCAC3EFF6E891715EA6698C42D713790F8ECF', '467EC504F168C4A5406211386A4B0A679C76D7D4F2604809EC57B52C84D53317');
В версии CryptoPRO 3.9.* все работало без сбоев. Проблема возникла при обновлении до версии 4.0.0-4 (OS Ubuntu 15.04). А именно, при вызове Код:signedMessage = oSignedData.SignHash(oHashedData, oSigner, CADESCOM_CADES_BES);
в консоли браузера выскакивает ошибка Код:Error: Error calling method on NPObject!
signedMessage = oSignedData.SignHash(oHashedData, oSigner, CADESCOM_CADES_BES);
Есть все основания полагать, что у этого метода изменился API, но как теперь его вызывать я нигде не нашел. Помогите разобратсья с проблемой.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 26.05.2015(UTC) Сообщений: 13 Откуда: Санкт-Петербург Сказал «Спасибо»: 1 раз Поблагодарили: 5 раз в 2 постах
|
Ребята, хелп. Теперь я вообще перестал что либо понимать. Решил откатить CSP до версии 3.9, чтобы хоть как то работало. Но теперь перестала подпись работать и на версии 3.9. Что сделано не так? Отредактировано пользователем 29 мая 2015 г. 10:44:45(UTC)
| Причина: Не указана
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 26.05.2015(UTC) Сообщений: 13 Откуда: Санкт-Петербург Сказал «Спасибо»: 1 раз Поблагодарили: 5 раз в 2 постах
|
Упс, прошу прощения я за ложный вызов. =) В ходе экспериментов случайно поменял входящие параметры местами, поэтому и не работало. С версией 3.9 все прекрасно работает.
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 24.11.2009(UTC) Сообщений: 965 Откуда: Crypto-Pro
Сказал(а) «Спасибо»: 3 раз Поблагодарили: 174 раз в 152 постах
|
Лицензия на CSP 4.0 была валидной? |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 26.05.2015(UTC) Сообщений: 13 Откуда: Санкт-Петербург Сказал «Спасибо»: 1 раз Поблагодарили: 5 раз в 2 постах
|
Сейчас затрудняюсь ответить на этот вопрос, так как сделал откат с версии 4.0 на 3.9. Могу сказать одно, что используется один и тот же код, один и тот же сертификат и даже проверялся один и тот же файл. Другими словами, при одинаковых условиях, на версии 3.9 работает без проблем, на версии 4.0 происходит сбой на выше приведенном участке кода. Конечно же, напрашивает сам собой дополнительный вопрос "А что пишется в логах?". Были бы логи, я бы возможно попытался разобраться и сам или предоставить больше информаци. Но увы и ах, в логах пусто в обоих случаях.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close