Статус: Участник
Группы: Участники
Зарегистрирован: 27.10.2015(UTC) Сообщений: 16
Сказал(а) «Спасибо»: 6 раз
|
Здравствуйте. Использую Browser Plug-in для подписи файлов. После подписи пытаюсь проверить валидность подписи через код: Код:
function Verify(sSignedMessage, dataToVerify) {
var oSignedData = ObjCreator("CAdESCOM.CadesSignedData");
try {
oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
oSignedData.Content = dataToVerify;
oSignedData.VerifyCades(sSignedMessage, CADESCOM_CADES_BES, true);
} catch (err) {
console.log("Ошибка при проверке сигнатуры, причина: " + GetErrorMessage(err));
return false;
}
return true;
}
Подписи, которые я делаю моим сертификатом, возвращают true. Другие - false. Реально ли через Browser Plug-in проверить произвольную подпись, сделанную ЭЦП, которая не установлена на текущем компьютере? Я не вижу в методе выбора сертификата, он не нужен для проверки или как-то выбирается автоматически из установленных?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,719 Сказал «Спасибо»: 500 раз Поблагодарили: 2054 раз в 1594 постах
|
ЭЦП = ЭП - электронная (цифровая) подпись. Сертификат - это не ЭЦП. С его помощью делают ЭП. Варианты: а) все верно, так и есть. Некорректные подписи. б) неправильно подаются входные данные для плагина (кодировка\тип подписи (присоединенная\открепленная)). Причина (GetErrorMessage(err)) - останется в тайне, как и примеры "плохих" подписей? Сертификат передавать не нужно, он ищется в CMS (во входных данных, помимо подписи есть сертификат(ы), которыми можно проверить подпись(и) и т.п.) |
|
1 пользователь поблагодарил Андрей * за этот пост.
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 27.10.2015(UTC) Сообщений: 16
Сказал(а) «Спасибо»: 6 раз
|
Спасибо за ответ. GetErrorMessage(err) выдаёт: Ошибка при проверке сигнатуры, причина: Error calling method on NPObject! а) Возвращается false даже для подписи, которая прошла проверку здесь: http://www.gosuslugi.ru/pgu/eds/б) Подпись открепленная, а где задаётся кодировка? Для моей же подписи всё срабатывает. Не очень понял про Цитата:CMS (во входных данных, помимо подписи есть сертификат(ы), которыми можно проверить подпись(и) и т.п.) Кто-то подписал документ своим сертификатом. Допустим, подпись верна. Я, в свою очередь, имею base64 этого документа и подпись. При передаче их в этот метод должно возвращаться true для меня (и любого проверяющего) или только для того, у кого установлен исходный сертификат?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,719 Сказал «Спасибо»: 500 раз Поблагодарили: 2054 раз в 1594 постах
|
>подпись в текущем контексте - это CMS CAdES. Содержит значение подписи, алгоритм, информацию о сертификате, которым можно ее проверить, а также может содержать: сертификаты, CRL (!), (не)подписанные атрибуты (время подписания\ответы OCSP\TSP ...) cms подпись что это |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 27.10.2015(UTC) Сообщений: 16
Сказал(а) «Спасибо»: 6 раз
|
Цитата: информацию о сертификате, которым можно ее проверить
То есть, если у меня нет этого сертификата, я не могу проверить подлинность подписи? Я порядком запутался.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,719 Сказал «Спасибо»: 500 раз Поблагодарили: 2054 раз в 1594 постах
|
Автор: v_decadence Цитата: информацию о сертификате, которым можно ее проверить
То есть, если у меня нет этого сертификата, я не могу проверить подлинность подписи? Я порядком запутался. Обычно, сертификат уже включен в "подпись". |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 27.10.2015(UTC) Сообщений: 16
Сказал(а) «Спасибо»: 6 раз
|
А в чём тогда может быть проблема в следующей ситуации: метод возвращает true для моей подписи для меня и тех, у кого установлен мой сертификат, но false для тех, у кого просто стоит плагин без установленных сертификатов. Второй равен 1, так же как и при создании подписи: var sSignedMessage = oSignedData.SignCades(oSigner, CADESCOM_CADES_BES, true); Третий параметр == true, Вид подписи: отделенная (true) На сайте http://www.gosuslugi.ru/pgu/eds/ моя подпись проходит проверку. Ума не приложу, что тут ещё можно поменять.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,719 Сказал «Спасибо»: 500 раз Поблагодарили: 2054 раз в 1594 постах
|
Автор: v_decadence А в чём тогда может быть проблема в следующей ситуации: метод возвращает true для моей подписи для меня и тех, у кого установлен мой сертификат, но false для тех, у кого просто стоит плагин без установленных сертификатов.
Второй равен 1, так же как и при создании подписи: var sSignedMessage = oSignedData.SignCades(oSigner, CADESCOM_CADES_BES, true); Третий параметр == true, Вид подписи: отделенная (true) На сайте http://www.gosuslugi.ru/pgu/eds/ моя подпись проходит проверку. Ума не приложу, что тут ещё можно поменять. КриптоПРО CSP у тех, надеюсь, установлен? Когда все таки будут примеры хороших\плохих подписей? На сайте: http://www.gosuslugi.ru/pgu/eds - выбираете Цитата: — электронного документа. ЭП — отсоединенная, в формате PKCS#7
? Потому что... не слышал, чтобы сервис научили работать с base64. |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 27.10.2015(UTC) Сообщений: 16
Сказал(а) «Спасибо»: 6 раз
|
Установлен.
>> не слышал, чтобы сервис научили работать с base64. Сервис работает с файлом, с base64 работает browser plugin.
Андрей, скинул вам в ЛС архив с документами и подписями к ним. В txt файле пояснения.
Спасибо.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 12,719 Сказал «Спасибо»: 500 раз Поблагодарили: 2054 раз в 1594 постах
|
Автор: v_decadence Установлен.
>> не слышал, чтобы сервис научили работать с base64. Сервис работает с файлом, с base64 работает browser plugin.
Андрей, скинул вам в ЛС архив с документами и подписями к ним. В txt файле пояснения.
Спасибо. Корневой сертификат: Qualified GIS CA - установить в доверенные корневые и еще раз проверить. |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close