| 
	Статус: Участник
 Группы: Участники
Зарегистрирован: 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