Статус: Участник
Группы: Участники
Зарегистрирован: 21.02.2012(UTC) Сообщений: 12 Откуда: Smolensk,Russia
|
Здравствуйте создаю 2 варианта подписи посредством Browser Plugin
function SignCreate(dataToSign,certificate,tsaAddress) { var oSigner = CreateObject("CAdESCOM.CPSigner"); oSigner.Certificate = certificate; oSigner.TSAAddress = tsaAddress; var oSignedData = CreateObject("CAdESCOM.CadesSignedData"); oSignedData.ContentEncoding = 0; //base64 oSignedData.Content = dataToSign;
try { var sSignedMessage = oSignedData.SignCades(oSigner,1,true); //default sign detached } catch (err) { alert("Failed to create signature. Error: " + GetErrorMessage(err)); return; }
return sSignedMessage; }
при подписании строки 1234567890 и валидации ее стандартной функцией из примера по валидации CMS подпись валидна
если подписываю файл как byte[] тем же самым методом то при валидации тем же самым кодом не совпадают хэши B6 D1 52 FE CB CD DF AE A9 5B D5 C5 E3 8F C6 48 EA 9E 09 28 A4 7F 6C 49 6B 2A 4D AA 10 28 3D 79 C3 60 8E 91 C4 71 FC 75 F9 D4 6E 9C 6D 32 18 BB FB B1 22 48 20 B2 D0 43 A3 6E F0 43 81 23 96 D0
проверка через сайт показывает что подпись не верна
не могу понять в чем дело проект встал колом помогите пожалуйста
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,340 Сказал «Спасибо»: 550 раз Поблагодарили: 2212 раз в 1727 постах
|
sadensmol написал:Здравствуйте создаю 2 варианта подписи посредством Browser Plugin
function SignCreate(dataToSign,certificate,tsaAddress) { var oSigner = CreateObject("CAdESCOM.CPSigner"); oSigner.Certificate = certificate; oSigner.TSAAddress = tsaAddress; var oSignedData = CreateObject("CAdESCOM.CadesSignedData"); oSignedData.ContentEncoding = 0; //base64 oSignedData.Content = dataToSign;
try { var sSignedMessage = oSignedData.SignCades(oSigner,1,true); //default sign detached } catch (err) { alert("Failed to create signature. Error: " + GetErrorMessage(err)); return; }
return sSignedMessage; }
при подписании строки 1234567890 и валидации ее стандартной функцией из примера по валидации CMS подпись валидна
если подписываю файл как byte[] тем же самым методом то при валидации тем же самым кодом не совпадают хэши B6 D1 52 FE CB CD DF AE A9 5B D5 C5 E3 8F C6 48 EA 9E 09 28 A4 7F 6C 49 6B 2A 4D AA 10 28 3D 79 C3 60 8E 91 C4 71 FC 75 F9 D4 6E 9C 6D 32 18 BB FB B1 22 48 20 B2 D0 43 A3 6E F0 43 81 23 96 D0
проверка через сайт показывает что подпись не верна
не могу понять в чем дело проект встал колом помогите пожалуйста
1) какое отношение имеет данная проблема к ветке КриптоПро JCP, JavaTLS ? 2) строки\файлы ... "содержимое" файла передается уже в base64? 3) собственно из п. 2) = где "код", считывания файла в память? ... n) ОС, версия плагина ? ОС = MacOS ? Отредактировано пользователем 28 марта 2012 г. 22:54:15(UTC)
| Причина: Не указана |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 21.02.2012(UTC) Сообщений: 12 Откуда: Smolensk,Russia
|
1)ну на JCP проверяется подпись =) если честно то просто в этой теме нашел похожий вопрос
2,3) да файл перед передачей на подпись преобразуется к base64 поскольку могут содержаться невалидные символы в противном случае byte[] encodedDoc = Base64.encodeBase64(FileUtils.readFileToByteArray(new File(slm2.getFilename()))); используется Apache Commons
WindowsXP плагин версии 1.0.87.0 подписываю под FireFox
спасибо что ответили! пока что я вообще не могу понять в чем загвоздка
валидирую byte[] buffer = IOUtils.toByteArray(new FileInputStream(new File("d:\\temp\\111\\file.sig"))); byte[] data = IOUtils.toByteArray(new FileInputStream(new File("d:\\temp\\111\\file.xml"))); buffer = Base64.decodeBase64(buffer); CryptoUtils.verifyCmsSign(buffer, data, null);
если пихать файлы полученные в csptest то выдает ошибку ASN1 некорректный ( это обычно бывает если документ не в base64 подается на примере verifyCmsSign )
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 10.12.2008(UTC) Сообщений: 924 Откуда: Крипто-Про Поблагодарили: 99 раз в 95 постах
|
Особенности подписи при помощи плагина бинарных файлов и проверки полученных подписей другими средствами обсуждались здесь (примерно середина страницы). Насчет кодировки: Цитата:Код:oSignedData.ContentEncoding = 0; //base64
0 - это не base64: Код:CADESCOM_STRING_TO_UCS2LE = 0;
CADESCOM_BASE64_TO_BINARY = 1;
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 21.02.2012(UTC) Сообщений: 12 Откуда: Smolensk,Russia
|
извините все что вижу в доке http://www.cryptopro.ru/...e9a70c23e98b6161d3a.htmlи по логике вещей нумерация начинается с 0 если явно не указано значение или я неправиль читаю документацию? спасибо за ссылку - сейчас буду смотреть действительно если во входном сообщении 10 символов то все нормально понимается поставил 13ьб и уже валадация не проходит
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,340 Сказал «Спасибо»: 550 раз Поблагодарили: 2212 раз в 1727 постах
|
http://rghost.ru/37363605 Цитата:Задание кодировки подписываемых данных
Для того чтобы плагин узнал о способе кодирования данных для подписи, введено новое свойство ContentEncoding. ContentEncoding имеет следующие значения:
Значение Описание CADESCOM_STRING_TO_UCS2LE = 0x00 Данные будут перекодированы в UCS-2 little endian. CADESCOM_BASE64_TO_BINARY = 0x01 Данные будут перекодированы из Base64 в бинарный массив.
По умолчанию свойство ContentEncoding имеет значение CADESCOM_STRING_TO_UCS2LE.
Отредактировано пользователем 2 апреля 2012 г. 14:12:33(UTC)
| Причина: Не указана |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 21.02.2012(UTC) Сообщений: 12 Откуда: Smolensk,Russia
|
Ага. Спасибо Андрей. Совершенно неочевидное место в доке! я уже ближе к цели!! =)
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close