Verify signature - certificate not found.
(1 чел.) (1) гость
  • Страница:
  • 1

ТЕМА: Verify signature - certificate not found.

Verify signature - certificate not found. 5 года назад #1051

  • ten.eugeniy
  • Новый участник
  • Постов: 6
  • Репутация: 0
Добрый день.
При проверке подписи данных методом IIolaCOM2.VerifyData в VerifyInfo записывается информация:
Verify signature - certificate not found.
При чём неважно, что именно находится в подписи. Насколько я понимаю, это сообщение говорит не о том, что сама подпись неверная.
Пользуемся SDK, в котором в changelog последняя запись 2013-11-05.
Что может быть причиной этой ошибки?

Кстати, GetLastError показывает 0.
Изменено: 5 года назад от ten.eugeniy.

Re: Verify signature - certificate not found. 5 года назад #1052

  • Murat Seisenov
  • Модератор
  • Постов: 391
  • Репутация: 19
Рекомендую запросить обновленный SDK на Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.

Ошибка говорит о том, что не найден сертификат для проверки подписи.
Если при подписи и проверке не устанавливаете флаг SF_WITH_CERTS (добавлять сертификат в подпись), то для проверки Вам необходимо отдельно передать сертификат подписавшего. И при проверке установить соответствующие значения свойств CertType, CertPath.

Покажите кусок кода как вы подписываете и проверяете.
Модератор

Re: Verify signature - certificate not found. 5 года назад #1053

  • ten.eugeniy
  • Новый участник
  • Постов: 6
  • Репутация: 0
верифицируем подписи с SF_WITH_CERTS. в ASN структуре подписи видим сам сертификат.
private const IOLACOM_OPERFLAGS VerifyFlags = IOLACOM_OPERFLAGS.CF_IN2_BASE64 | IOLACOM_OPERFLAGS.SF_WITH_CERTS | IOLACOM_OPERFLAGS.SF_DETACHED_DATA;
...
string outData = null;
string outSign = null;
string importInfo = null;
string verifyInfo = null;

var result = iolaCom2.VerifyData("", (int) VerifyFlags, inData, inSign, ref outData, ref outSign, ref importInfo, ref verifyInfo);

попробуем запросить SDK по Вашей рекомендации

Re: Verify signature - certificate not found. 5 года назад #1054

  • Murat Seisenov
  • Модератор
  • Постов: 391
  • Репутация: 19
А как подписываете тоже напишите кусок кода.
Модератор

Re: Verify signature - certificate not found. 5 года назад #1055

  • ten.eugeniy
  • Новый участник
  • Постов: 6
  • Репутация: 0
как оказалось, это из-за того, что с подписью проводились страшные манипуляции для получения формата Pkcs7. для этого использовался метод kz.softkey.iola.applet.SignatureRoutine.signPlainData() из примеров на Java. результат затем оборачивался в шаблон Pkcs7.
если использовать метод kz.softkey.iola.applet.SignatureRoutine.signPkcs7(), то результат валидации ожидаемый

Re: Verify signature - certificate not found. 5 года назад #1056

  • ten.eugeniy
  • Новый участник
  • Постов: 6
  • Репутация: 0
есть другая проблема:
каким образом из класса SignatureRoutine можно получить подпись без вложенного сертификата?
        Security.addProvider(new IolaProvider());
        SignatureRoutine signatureRoutine = SignatureRoutine.getInstance();
        String signature = signatureRoutine.signPkcs7(privateKey, certificate, data, false);

такой способ выдает структуру со вложенным сертификатом
Изменено: 5 года назад от ten.eugeniy.
  • Страница:
  • 1
FaLang translation system by Faboba