Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline sdesystemcom  
#1 Оставлено : 10 апреля 2016 г. 15:27:49(UTC)
sdesystemcom

Статус: Новичок

Группы: Участники
Зарегистрирован: 05.04.2016(UTC)
Сообщений: 3

Здравствуйте,
я проверяю одну и ту же усовершенствованную подпись с Crome и FireFox:
Код FireFox sync:
var oSignedData =cadesplugin.CreateObject("CAdESCOM.CadesSignedData");
oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
oSignedData.Content = sBase64Data;
console.log('Data hash:'+sBase64Data.HashCode()+' Sign hash:'+this.SignData.HashCode());
oSignedData.VerifyCades(this.SignData, cadesplugin.CADESCOM_CADES_X_LONG_TYPE_1,true);
Код Crome async:
var oSignedData =yield cadesplugin.CreateObjectAsync("CAdESCOM.CadesSignedData");
yield oSignedData.propset_ContentEncoding = CADESCOM_BASE64_TO_BINARY;
yield oSignedData.propset_Content = SignedData;
console.log('Data hash:'+SignedData.HashCode()+' Sign hash:'+SignData.HashCode());
yield oSignedData.VerifyCades(SignData, cadesplugin.CADESCOM_CADES_X_LONG_TYPE_1,true);
Хэши данных перед вызовом функции:

Data hash:1675979829 Sign hash:998160787 FireFox
Data hash:1675979829 Sign hash:998160787 Crome

В результате FireFox успешно проверяет подпись, а Crome дает ошибку Hash value is not correct (0x80091007)
лог:
00000001 0.00000000 [7576] cades.dll: CPTraceGeneral: (pVerifyPara=0x0029F4DC, dwSignerIndex=0, pbDetachedSignBlob=0x01B58198, cbDetachedSignBlob=9050, cToBeSigned=1, rgpbToBeSigned=0x0029F4F8, rgcbToBeSigned=0x0029F4FC, ppVerificationInfo=0x0029F52C)
00000002 0.00010727 [7576] cades.dll: CPTraceGeneral: Input parameters checked
00000003 0.02421571 [7576] cades.dll: CPTraceGeneral: Signature verification started
00000004 0.02433787 [7576] cades.dll: CPTraceGeneral: Exception thrown: _hr
00000005 0.02484703 [7576] cades.dll: CPTraceGeneral: COleException, m_sc=0x80091007
00000006 0.02489425 [7576] cades.dll: CPTraceGeneral: (res=0, GetLastError=0x80091007
00000007 0.02494096 [7576] cades.dll: CPTraceGeneral: (pVerificationInfo=0x000D8730)
00000008 0.02498870 [7576] cades.dll: CPTraceGeneral: (res=1, GetLastError=0x80091007
00000009 17.96262741 [1752] cprevchk.dll: CPTraceGeneral: In DllCanUnloadNow

Windows7(32bit)
Browser plugin 2.0.12438
CSP 3.9.8001 KC1
Лог Firefox прилагаю как файл. FireFoxLogOK.LOG (25kb) загружен 3 раз(а).
И в целом я в свой велосипед встраиваю для цифровой подписи Ваш плагин. Это нормально, что я 2.0 встраиваю, а то версия 1.х по факту только по FireFox работает?


Offline cross  
#2 Оставлено : 25 апреля 2016 г. 9:56:37(UTC)
Анатолий Беляев

Статус: Сотрудник

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 965
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 174 раз в 152 постах
Не видя данные которые вы передаете в content трудно сказать почему не проверилось, но заметно что в первом случае вы передали sBase64Data (предположу что это base64 кодированные данные как и должно быть) а во втором yield oSignedData.propset_Content = SignedData; просто данные. Их тоже надо в base64 кодировать.

PS:Вот этот *.HashCode()
Data hash:1675979829 Sign hash:998160787 FireFox
Data hash:1675979829 Sign hash:998160787 Crome
не имеет отношения к hash значениям в подписи.
Техническую поддержку оказываем тут.
Наша база знаний.
Наша страничка в Instagram.
Offline sdesystemcom  
#3 Оставлено : 25 апреля 2016 г. 10:00:17(UTC)
sdesystemcom

Статус: Новичок

Группы: Участники
Зарегистрирован: 05.04.2016(UTC)
Сообщений: 3

Эти хэши как раз говорят, что на вход обеих функций поданы идентичные данные.
Приложить файл и подпись?
Offline cross  
#4 Оставлено : 25 апреля 2016 г. 10:41:14(UTC)
Анатолий Беляев

Статус: Сотрудник

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 965
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 174 раз в 152 постах
Цитата:
Эти хэши как раз говорят, что на вход обеих функций поданы идентичные данные.

Это не верное утверждение.
Это хеши по строкам в переменных, то что в функции попало это немного другое :).
Если вы обратите внимание на пример из SDK (который вы привели в статье на хабре) то увидите что oSignedData.propset_ContentEncoding и oSignedData.propset_Content являются методами а не свойствами => при проверке подписи у вас не те входные данные.
Техническую поддержку оказываем тут.
Наша база знаний.
Наша страничка в Instagram.
Offline sdesystemcom  
#5 Оставлено : 25 апреля 2016 г. 10:49:13(UTC)
sdesystemcom

Статус: Новичок

Группы: Участники
Зарегистрирован: 05.04.2016(UTC)
Сообщений: 3

Это я олень(
Точно, надо как методы вызывать, я уже на это попадал, когда подпись создавал.
Извиняюсь, что загрузил своими ошибками.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (2)
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.