Статус: Участник
Группы: Участники
Зарегистрирован: 14.04.2015(UTC) Сообщений: 29
Сказал(а) «Спасибо»: 9 раз Поблагодарили: 6 раз в 5 постах
|
Обнаружилось ряд проблем... - Созданная подпись при помощи NMAPI плагина не проходит проверку средствами ресурса госуслуг (http://www.gosuslugi.ru/pgu/eds/)
Рассмотрим на конкртеном примере вашей тестовой страницы:
- Подписываю текст "test_text_for_test", получаю подпись в BASE64.
- Текст и полученную подпись сохраняю в текстовых файлах (файлы
file.txt (1kb) загружен 1 раз(а). и sign_nmapi.txt (7kb) загружен 1 раз(а).).
- На странице госуслуг выбираю проверуку "— электронного документа. ЭП — отсоединенная, в формате PKCS#7", загружаю файлы указанны выше.
- И получаю "ЭП 1: НЕ ВЕРНА":

- Аналогичные действия произвожу на NPAPI версии плагина (открыв свою тестовую страницу в Firefox), получаю новую подпись (
sign_npapi_my.txt (7kb) загружен 2 раз(а).) и также проверю - "ЭП 1: ВЕРНА". Что любопытно, на вашей тестовой странице NPAPI также создает не корректную подпись.
- Корректная, валидная подпись не проходит проверку на NMAPI версии плгина.
- На своей тестовой старнице, на NPAPI плагине (Firefox) создаю подпись (тестовый текст такой же - "test_text_for_test"). Проверяю встроеными методами плагина и на ресурсе госуслуг - подпись валидна
sign_npapi_my.txt (7kb) загружен 2 раз(а)..
- Проверяю на NMAPI плагине и получаю такой результат:
Цитата:The hash value is not correct. (0x80091007)
- Проверку делаю так:
Код:
cadesplugin.async_spawn(function *() { //cadesplugin.async_spawn
try {
var oSignedData = yield cadesplugin.CreateObjectAsync("CAdESCOM.CadesSignedData");
oSignedData.propset_ContentEncoding = CADESCOM_BASE64_TO_BINARY;
oSignedData.propset_Content = dataToVerify;
verify = yield oSignedData.VerifyCades(signatureBody, CADESCOM_CADES_BES, true);
return success(verify);
}
catch (ex) {
verify.error = "Failed to verify signature. Error: " + GetErrorMessage(ex);
return success(verify);
}
});
- В DebugView вижу такое:
Цитата: [2380] cades.dll: {2384} /CadesVerifyDetachedMessage/ cades.cpp(2808) : (pVerifyPara=0x0012FBCC, dwSignerIndex=0, pbDetachedSignBlob=0x02525F70, cbDetachedSignBlob=4862, cToBeSigned=1, rgpbToBeSigned=0x0012FBE4, rgcbToBeSigned=0x0012FBE8, ppVerificationInfo=0x0012FC18) [2380] cades.dll: {2384} /CadesMsgVerifySignatureImpl/ cades.cpp(1746) : Input parameters checked [2380] cades.dll: {2384} /CadesMsgVerifySignatureImplNamespace::VerifyMessageSignature/ cades.cpp(1643) : Signature verification started [2380] cades.dll: {2384} /CadesMsgVerifySignatureImplNamespace::VerifyMessageSignature/ cades.cpp(1652) : Exception thrown: _hr [2380] cades.dll: {2384} /CadesVerifyDetachedMessage/ cades.cpp(2829) : COleException, m_sc=0x80091007 [2380] cades.dll: {2384} /CadesVerifyDetachedMessage/ cades.cpp(2841) : (res=0, GetLastError=0x80091007 [2380] cades.dll: {2384} /CadesFreeVerificationInfo/ cades.cpp(2857) : (pVerificationInfo=0x0169BD28) [2380] cades.dll: {2384} /CadesFreeVerificationInfo/ cades.cpp(2885) : (res=1, GetLastError=0x80091007
- Лог фоновой страницы:
backround_log.txt (9kb) загружен 4 раз(а).
Данные о тестовой среде:
- Windows XP SP3 x86
- Версия плагина: 2.0.12235
- Версия CSP: 3.6.7777
- Версия Chrome: 45.0.2454.85 m
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 04.09.2015(UTC) Сообщений: 2  Откуда: Спб Сказал(а) «Спасибо»: 1 раз
|
у кого-нибудь сейчас работает эта тестовая страница под Chrome (45.0.2454.85 m) ? Версия расширения CryptoPro Extension 1.0.12 Смотрел под отладкой - в chrome-extension://iifchhfnnmpdbibifmljnfjhpififfog/nmcades_plugin_api.js доходит до 138 строчки отправка сообщения Код:window.postMessage( object_messsage, "*");
и похоже не приходит ответ, чтобы исполнился then у promise объекта (смотреть ниже 138 строчки) Код:return requestPromise.then(function (result) {
obj = {};
obj['objid'] = result.data.value;
obj.CreateObjectAsync = CallMethod.bind(obj, "CreateObject");
return obj;
});
Что бы это было? И наверно еще есть смысл добавить в then функцию обработки ошибки... PS : Эта же тестовая страница под IE 11 сейчас прекрасно работает - значит cades plugin и CSP работают. PPS : проверено на нескольких компьютерах - такое же поведение
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 14.04.2015(UTC) Сообщений: 29
Сказал(а) «Спасибо»: 9 раз Поблагодарили: 6 раз в 5 постах
|
zverx, попробуйте обновить плагин, у меня (2.0.12235) - тестовая страница работает, хотя и создает не валидуню подпись (смотрите выше).
|
 1 пользователь поблагодарил IOFeed за этот пост.
|
zverx оставлено 04.09.2015(UTC)
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 24.11.2009(UTC) Сообщений: 965 Откуда: Crypto-Pro
Сказал(а) «Спасибо»: 3 раз Поблагодарили: 174 раз в 152 постах
|
Автор: IOFeed  Обнаружилось ряд проблем... - Созданная подпись при помощи NMAPI плагина не проходит проверку средствами ресурса госуслуг (http://www.gosuslugi.ru/pgu/eds/)
Рассмотрим на конкртеном примере вашей тестовой страницы:
- Подписываю текст "test_text_for_test", получаю подпись в BASE64.
- Текст и полученную подпись сохраняю в текстовых файлах (файлы
file.txt (1kb) загружен 1 раз(а). и sign_nmapi.txt (7kb) загружен 1 раз(а).).
- На странице госуслуг выбираю проверуку "— электронного документа. ЭП — отсоединенная, в формате PKCS#7", загружаю файлы указанны выше.
- И получаю "ЭП 1: НЕ ВЕРНА":

- Аналогичные действия произвожу на NPAPI версии плагина (открыв свою тестовую страницу в Firefox), получаю новую подпись (
sign_npapi_my.txt (7kb) загружен 2 раз(а).) и также проверю - "ЭП 1: ВЕРНА". Что любопытно, на вашей тестовой странице NPAPI также создает не корректную подпись.
- Корректная, валидная подпись не проходит проверку на NMAPI версии плгина.
- На своей тестовой старнице, на NPAPI плагине (Firefox) создаю подпись (тестовый текст такой же - "test_text_for_test"). Проверяю встроеными методами плагина и на ресурсе госуслуг - подпись валидна
sign_npapi_my.txt (7kb) загружен 2 раз(а)..
- Проверяю на NMAPI плагине и получаю такой результат:
Цитата:The hash value is not correct. (0x80091007)
- Проверку делаю так:
Код:
cadesplugin.async_spawn(function *() { //cadesplugin.async_spawn
try {
var oSignedData = yield cadesplugin.CreateObjectAsync("CAdESCOM.CadesSignedData");
oSignedData.propset_ContentEncoding = CADESCOM_BASE64_TO_BINARY;
oSignedData.propset_Content = dataToVerify;
verify = yield oSignedData.VerifyCades(signatureBody, CADESCOM_CADES_BES, true);
return success(verify);
}
catch (ex) {
verify.error = "Failed to verify signature. Error: " + GetErrorMessage(ex);
return success(verify);
}
});
- В DebugView вижу такое:
Цитата: [2380] cades.dll: {2384} /CadesVerifyDetachedMessage/ cades.cpp(2808) : (pVerifyPara=0x0012FBCC, dwSignerIndex=0, pbDetachedSignBlob=0x02525F70, cbDetachedSignBlob=4862, cToBeSigned=1, rgpbToBeSigned=0x0012FBE4, rgcbToBeSigned=0x0012FBE8, ppVerificationInfo=0x0012FC18) [2380] cades.dll: {2384} /CadesMsgVerifySignatureImpl/ cades.cpp(1746) : Input parameters checked [2380] cades.dll: {2384} /CadesMsgVerifySignatureImplNamespace::VerifyMessageSignature/ cades.cpp(1643) : Signature verification started [2380] cades.dll: {2384} /CadesMsgVerifySignatureImplNamespace::VerifyMessageSignature/ cades.cpp(1652) : Exception thrown: _hr [2380] cades.dll: {2384} /CadesVerifyDetachedMessage/ cades.cpp(2829) : COleException, m_sc=0x80091007 [2380] cades.dll: {2384} /CadesVerifyDetachedMessage/ cades.cpp(2841) : (res=0, GetLastError=0x80091007 [2380] cades.dll: {2384} /CadesFreeVerificationInfo/ cades.cpp(2857) : (pVerificationInfo=0x0169BD28) [2380] cades.dll: {2384} /CadesFreeVerificationInfo/ cades.cpp(2885) : (res=1, GetLastError=0x80091007
- Лог фоновой страницы:
backround_log.txt (9kb) загружен 4 раз(а).
Данные о тестовой среде:
- Windows XP SP3 x86
- Версия плагина: 2.0.12235
- Версия CSP: 3.6.7777
- Версия Chrome: 45.0.2454.85 m
1. Текст в демо странице при подписи воспринимается как UCS2 и потом подписывает. Если вы его сохранили просто в файл => подпись не проверится. 2. Код которым вы проверяете не корректный. propset_* это методы. Их завершения тоже надо ждать. Вы в итоге проверяете detached подпись с нулевым контентом => подпись не верна. |
|
 1 пользователь поблагодарил Анатолий Беляев за этот пост.
|
IOFeed оставлено 04.09.2015(UTC)
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 26.09.2012(UTC) Сообщений: 34   Сказал «Спасибо»: 1 раз
|
Автор: Смирнов  Автор: paradoxm   IE 10 падает Опишите подробнее условия возникновения ошибки, т.к. у нас не воспроизводится. Условия самые обычные. Установлен самый свежий плагин, на страницу помещен файл cadesplugin_api.js. Заходим в ИЕ 10 на страницу и вот эта ошибка.
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 24.11.2009(UTC) Сообщений: 965 Откуда: Crypto-Pro
Сказал(а) «Спасибо»: 3 раз Поблагодарили: 174 раз в 152 постах
|
Автор: paradoxm  Автор: Смирнов  Автор: paradoxm   IE 10 падает Опишите подробнее условия возникновения ошибки, т.к. у нас не воспроизводится. Условия самые обычные. Установлен самый свежий плагин, на страницу помещен файл cadesplugin_api.js. Заходим в ИЕ 10 на страницу и вот эта ошибка. На странице http://www.cryptopro.ru/...ge/cades_bes_sample.html тоже такая ошибка? |
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 24.11.2009(UTC) Сообщений: 965 Откуда: Crypto-Pro
Сказал(а) «Спасибо»: 3 раз Поблагодарили: 174 раз в 152 постах
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 04.09.2015(UTC) Сообщений: 2  Откуда: Спб Сказал(а) «Спасибо»: 1 раз
|
Автор: IOFeed  zverx, попробуйте обновить плагин, у меня (2.0.12235) - тестовая страница работает, хотя и создает не валидуню подпись (смотрите выше). Спасибо - помогло Подпись у меня в своем проекте кстати валидируется КриптоАрмом и КриптоНет нормально. Отредактировано пользователем 4 сентября 2015 г. 13:03:17(UTC)
| Причина: Не указана
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 14.04.2015(UTC) Сообщений: 29
Сказал(а) «Спасибо»: 9 раз Поблагодарили: 6 раз в 5 постах
|
Автор: cross  1. Текст в демо странице при подписи воспринимается как UCS2 и потом подписывает. Если вы его сохранили просто в файл => подпись не проверится. 2. Код которым вы проверяете не корректный. propset_* это методы. Их завершения тоже надо ждать. Вы в итоге проверяете detached подпись с нулевым контентом => подпись не верна.
cross, большое спасибо, теперь все работает!
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 14.04.2015(UTC) Сообщений: 29
Сказал(а) «Спасибо»: 9 раз Поблагодарили: 6 раз в 5 постах
|
Автор: zverx  Подпись у меня в своем проекте кстати валидируется КриптоАрмом и КриптоНет нормально.
Моя ошибка... уже разобрался
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close