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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline dimmastiy  
#1 Оставлено : 4 марта 2016 г. 14:02:05(UTC)
dimmastiy

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

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

Добрый день! Перечитал много информации, но так и не получилось реализовать проверку подписи.
Хотелось бы посмотреть какой-нибудь пример наглядный.
Offline cross  
#2 Оставлено : 4 марта 2016 г. 19:03:35(UTC)
Анатолий Беляев

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

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

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 174 раз в 152 постах
https://www.cryptopro.ru...ge/cades_bes_sample.html
тут есть пример подписи.
Какие трудности возникают с проверкой?
Техническую поддержку оказываем тут.
Наша база знаний.
Наша страничка в Instagram.
Offline florentii  
#3 Оставлено : 30 марта 2016 г. 15:54:31(UTC)
florentii

Статус: Активный участник

Группы: Участники
Зарегистрирован: 17.04.2015(UTC)
Сообщений: 31
Молдова
Откуда: Тирасполь

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 2 раз в 2 постах
При проверке например конструкция

var numbersignatur = yield oSignedData.Signers.Count;
alert(numbersignatur);

не возвращает количество подписей - пишет undefined

Полный код функции которую пытаемся использовать:

function VerifySignature_Async() {
cadesplugin.async_spawn(function*(arg) {
var dataToVerify = document.getElementById("DataToSignTxtBox").value;
var sSignedMessage = document.getElementById("SignatureTxtBox").value;

try {
var oSigner = yield cadesplugin.CreateObjectAsync("CAdESCOM.CPSigner");
} catch (err) {
errormes = "Failed to create CAdESCOM.CPSigner: " + err.number;
throw errormes;
}

try {
var oSignedData = yield cadesplugin.CreateObjectAsync("CAdESCOM.CadesSignedData");
} catch (err) {
alert('Failed to create CAdESCOM.CadesSignedData: ' + err.number);
errormes = "Failed to create CAdESCOM.CadesSignedData: " + err.number;
throw errormes;
}

try {
yield oSigner.propset_Options(cadesplugin.CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN);
yield oSignedData.propset_ContentEncoding(cadesplugin.CADESCOM_BASE64_TO_BINARY); //
yield oSignedData.propset_DisplayData(1);
yield oSignedData.propset_Content(dataToVerify);

yield oSignedData.VerifyCades(sSignedMessage, cadesplugin.CADESCOM_CADES_BES);

var ul = document.getElementById("sertif2");
// очищаем елементы

var numbersignatur = yield oSignedData.Signers.Count;

alert(numbersignatur);

for(var numberSignature=1; numberSignature<=numbersignatur; numberSignature++){

var dan=Get_Podpisant((yield oSignedData.Signers.Item(numberSignature).Certificate.SubjectName))+ "\n";
var li = document.createElement("li");
li.appendChild(document.createTextNode(dan));
ul.appendChild(li);
}
}
catch (err) {
errormes = "Не удалось создать подпись из-за ошибки: " + GetErrorMessage(err);
alert(errormes);
throw errormes;
}

}); //cadesplugin.async_spawn
Offline florentii  
#4 Оставлено : 31 марта 2016 г. 10:26:14(UTC)
florentii

Статус: Активный участник

Группы: Участники
Зарегистрирован: 17.04.2015(UTC)
Сообщений: 31
Молдова
Откуда: Тирасполь

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 2 раз в 2 постах
Автор: cross Перейти к цитате
Какие трудности возникают с проверкой?


Мы на основе вашей страницы сделали следующую тестовую страницу:
http://www.cryptopro.ru/...ge/cades_bes_sample.html

У нас возникли следующие проблемы:

1) В синхронном режиме созданная ранее подпись (не важно созданная в синхронном или асинхронном режиме) всегда проходит проверку, не зависимо от того изменено проверяемое сообщение или нет, кроме того даже в самой подписи удается изменять несколько символов, а проверка подписи продолжает осуществляться без ошибок.

2) В асинхронном режиме проверка подписи вообще не осуществляется, после выполнения команд
yield oSignedData.propset_Content(dataToVerify);
yield oSignedData.VerifyCades(sSignedMessage, cadesplugin.CADESCOM_CADES_BES);
вывод
console.log(yield oSignedData.Signers.Count);
возвращает значение undefined

Если есть готовые примеры как правильно следует проверять подпись, то нам было бы очень важно посмотреть на эти примеры.
Offline cross  
#5 Оставлено : 31 марта 2016 г. 16:52:48(UTC)
Анатолий Беляев

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

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

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 174 раз в 152 постах
Цитата:
Мы на основе вашей страницы сделали следующую тестовую страницу:
http://www.cryptopro.ru/...ge/cades_bes_sample.html

У нас возникли следующие проблемы:

1) В синхронном режиме созданная ранее подпись (не важно созданная в синхронном или асинхронном режиме) всегда проходит проверку, не зависимо от того изменено проверяемое сообщение или нет, кроме того даже в самой подписи удается изменять несколько символов, а проверка подписи продолжает осуществляться без ошибок.

2) В асинхронном режиме проверка подписи вообще не осуществляется, после выполнения команд
yield oSignedData.propset_Content(dataToVerify);
yield oSignedData.VerifyCades(sSignedMessage, cadesplugin.CADESCOM_CADES_BES);
вывод
console.log(yield oSignedData.Signers.Count);
возвращает значение undefined

Если есть готовые примеры как правильно следует проверять подпись, то нам было бы очень важно посмотреть на эти примеры.

В асинхронной версии нельзя объеденять несколько вызовов подряд через "." без синхронизации.
oSignedData.Signers.Count - вот так не будет работать. К моменту вызова Count объет Signers еще не создался.
Можно вот так переписать.
var Signers = yield oSignedData.Signers;
console.log(yield Signers.Count);
Техническую поддержку оказываем тут.
Наша база знаний.
Наша страничка в Instagram.
Offline florentii  
#6 Оставлено : 4 апреля 2016 г. 10:07:12(UTC)
florentii

Статус: Активный участник

Группы: Участники
Зарегистрирован: 17.04.2015(UTC)
Сообщений: 31
Молдова
Откуда: Тирасполь

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 2 раз в 2 постах
Автор: cross Перейти к цитате
Какие трудности возникают с проверкой?

Сделали тестовую страницу:
http://pochta.gospmr.org...n2/cades_bes_sample.html

но на ней проверяются все подписи не зависимо от проверяемого сообщения. То есть я подписываю сообщение, потом меняю текст сообщения и пытаюсь проверить подпись - она проверяется.

Отредактировано пользователем 5 апреля 2016 г. 11:33:41(UTC)  | Причина: Не указана

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