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

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline v_decadence  
#1 Оставлено : 11 декабря 2015 г. 17:05:15(UTC)
v_decadence

Статус: Участник

Группы: Участники
Зарегистрирован: 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 проверить произвольную подпись, сделанную ЭЦП, которая не установлена на текущем компьютере?
Я не вижу в методе выбора сертификата, он не нужен для проверки или как-то выбирается автоматически из установленных?
Offline Андрей Писарев  
#2 Оставлено : 11 декабря 2015 г. 17:21:07(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,630
Мужчина
Российская Федерация

Сказал «Спасибо»: 494 раз
Поблагодарили: 2035 раз в 1579 постах
ЭЦП = ЭП - электронная (цифровая) подпись.
Сертификат - это не ЭЦП. С его помощью делают ЭП.

Цитата:

Другие - false.


Варианты:
а) все верно, так и есть. Некорректные подписи.
б) неправильно подаются входные данные для плагина (кодировка\тип подписи (присоединенная\открепленная)).

Причина (GetErrorMessage(err)) - останется в тайне, как и примеры "плохих" подписей?

Сертификат передавать не нужно, он ищется в CMS
(во входных данных, помимо подписи есть сертификат(ы), которыми можно проверить подпись(и) и т.п.)
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
v_decadence оставлено 11.12.2015(UTC)
Offline v_decadence  
#3 Оставлено : 11 декабря 2015 г. 17:29:30(UTC)
v_decadence

Статус: Участник

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

Сказал(а) «Спасибо»: 6 раз
Спасибо за ответ.

GetErrorMessage(err) выдаёт:
Ошибка при проверке сигнатуры, причина: Error calling method on NPObject!

а) Возвращается false даже для подписи, которая прошла проверку здесь: http://www.gosuslugi.ru/pgu/eds/
б) Подпись открепленная, а где задаётся кодировка? Для моей же подписи всё срабатывает.

Не очень понял про
Цитата:
CMS (во входных данных, помимо подписи есть сертификат(ы), которыми можно проверить подпись(и) и т.п.)


Кто-то подписал документ своим сертификатом. Допустим, подпись верна.
Я, в свою очередь, имею base64 этого документа и подпись. При передаче их в этот метод должно возвращаться true для меня (и любого проверяющего) или только для того, у кого установлен исходный сертификат?
Offline Андрей Писарев  
#4 Оставлено : 11 декабря 2015 г. 17:42:43(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,630
Мужчина
Российская Федерация

Сказал «Спасибо»: 494 раз
Поблагодарили: 2035 раз в 1579 постах
>подпись
в текущем контексте - это CMS CAdES.
Содержит значение подписи, алгоритм, информацию о сертификате, которым можно ее проверить, а также может содержать:
сертификаты, CRL (!), (не)подписанные атрибуты (время подписания\ответы OCSP\TSP ...)


cms подпись что это
Техническую поддержку оказываем тут
Наша база знаний
Offline v_decadence  
#5 Оставлено : 11 декабря 2015 г. 17:48:59(UTC)
v_decadence

Статус: Участник

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

Сказал(а) «Спасибо»: 6 раз
Цитата:

информацию о сертификате, которым можно ее проверить


То есть, если у меня нет этого сертификата, я не могу проверить подлинность подписи?
Я порядком запутался.

Offline Андрей Писарев  
#6 Оставлено : 11 декабря 2015 г. 17:51:24(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,630
Мужчина
Российская Федерация

Сказал «Спасибо»: 494 раз
Поблагодарили: 2035 раз в 1579 постах
Автор: v_decadence Перейти к цитате
Цитата:

информацию о сертификате, которым можно ее проверить


То есть, если у меня нет этого сертификата, я не могу проверить подлинность подписи?
Я порядком запутался.



Обычно, сертификат уже включен в "подпись".
Техническую поддержку оказываем тут
Наша база знаний
Offline v_decadence  
#7 Оставлено : 11 декабря 2015 г. 18:01:52(UTC)
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/ моя подпись проходит проверку.

Ума не приложу, что тут ещё можно поменять.
Offline Андрей Писарев  
#8 Оставлено : 12 декабря 2015 г. 7:52:30(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,630
Мужчина
Российская Федерация

Сказал «Спасибо»: 494 раз
Поблагодарили: 2035 раз в 1579 постах
Автор: 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.

Техническую поддержку оказываем тут
Наша база знаний
Offline v_decadence  
#9 Оставлено : 23 декабря 2015 г. 12:01:19(UTC)
v_decadence

Статус: Участник

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

Сказал(а) «Спасибо»: 6 раз
Установлен.

>> не слышал, чтобы сервис научили работать с base64.
Сервис работает с файлом, с base64 работает browser plugin.

Андрей, скинул вам в ЛС архив с документами и подписями к ним.
В txt файле пояснения.

Спасибо.
Offline Андрей Писарев  
#10 Оставлено : 25 декабря 2015 г. 15:30:33(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,630
Мужчина
Российская Федерация

Сказал «Спасибо»: 494 раз
Поблагодарили: 2035 раз в 1579 постах
Автор: v_decadence Перейти к цитате
Установлен.

>> не слышал, чтобы сервис научили работать с base64.
Сервис работает с файлом, с base64 работает browser plugin.

Андрей, скинул вам в ЛС архив с документами и подписями к ним.
В txt файле пояснения.

Спасибо.


Корневой сертификат: Qualified GIS CA - установить в доверенные корневые и еще раз проверить.
Техническую поддержку оказываем тут
Наша база знаний
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
2 Страницы12>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.