Подпись в JavaApplet и проверка на сервере (C#)
(1 чел.) (1) гость
  • Страница:
  • 1

ТЕМА: Подпись в JavaApplet и проверка на сервере (C#)

Подпись в JavaApplet и проверка на сервере (C#) 4 года, 6 мес. назад #1480

  • dabsystems
  • Новый участник
  • Постов: 2
  • Репутация: 0
Добрый день!

Стоит задача подписывать данные в браузере через JavaApplet с помощью закрытого ключа p12 и проверять правильность подписи на сервере (C#) с помощь открытого сертификата из базы данных.

Стали изучать функционал на примерах.

Клиентская часть
1. В JavaApplet замечательно работает подпись и проверка простых данных (PlainData).
2. Подпись в PKCS7 тоже работает, но проверка не работает, все время пишет Ошибка при постановке подписи.

Хорошо, в браузере нам нужна только подпись, она работает.


Переходим к проверке на сервер. Проверяем, как работает простая подпись в тестовом приложении на C# XMLTest2008 с использование IolaCOM.dll.
Простая подпись
1. Подписываем текст "Test1" простой подписью (CF_DRAFT_DATA), всё ок, только настораживает, что результат на выходе не как в JavaApplet.
2. Проверяем простую подпись, результат ВСЕГДА "подпись не верна", только на английском.
3. Думал, может в примере на C# ошибка, но в примере на Delphi результат точно такой же.

Подпись PKCS7
1. Подписываем текст "Test1" без CF_DRAFT_DATA, всё ок, но результат на выходе не как в JavaApplet с PKCS7.
2. Проверяем подпись PKCS7, подпись верна, отлично!
3. Вставляем подпись из JavaApplet (она отличается от подписи в XMLTest2008) и делаем проверку, подпись тоже верна! Странно, но факт.

Казалось бы, все отлично, подпишем данные в JavaApplet в PKCS7 с помощью закрытого ключа p12, проверим подпись на сервере C# PKCS7 с помощью открытого сертификата.
Но, при тестировании проверки правильности подписи на сервере C# выяснилось, что подпись в PKCS7 проверяется и без сертификата открытого ключа, т.е. подпись из JavaApplet PKCS7 содержит сертификат и все самодостаточно.
Подпись верна, но как выяснить, кем данные были подписаны?


Собственно вопросы:
1. Возможна ли как-то проверка ЭЦП при использовании простой подписи в IolaCOM.dll? Тестовые примеры на C# и Delphi всегда выдают подпись неверна. Тестировали IolaCOM.dll 5.9.0.7 и 6.0.0.1
2. Как вытащить сертификат из подписи PKCS7? Чтобы узнать чей он.
3. Есть ли возможность передавать сертификат в IolaCOM.dll не как путь к файлу сертификата, а как данные, т.к. планируется хранить сертификаты в БД, а не на диске.


Заранее благодарен за любую помощь!

Re: Подпись в JavaApplet и проверка на сервере (C#) 4 года, 6 мес. назад #1482

  • Murat Seisenov
  • Модератор
  • Постов: 391
  • Репутация: 19
Здравствуйте!

Мы не планируем дальнейшую поддержку библиотеки IolaCOM.dll
Запросите на Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра. последнюю версию SDK. В нем содержится библиотека KalkanCrypt, которая позиционируется как замена IolaCOM.
Модератор

Re: Подпись в JavaApplet и проверка на сервере (C#) 4 года, 6 мес. назад #1486

  • dabsystems
  • Новый участник
  • Постов: 2
  • Репутация: 0
Подскажите, пожалуйста, JavaApplet будет совместим с KalkanCrypt?
Т.е. если я подпишу данные секретным ключем p12 в JavaApplet, в KalkanCrypt смогу корректно проверить подпись открытым сертификатом cer?

Re: Подпись в JavaApplet и проверка на сервере (C#) 4 года, 6 мес. назад #1487

  • Murat Seisenov
  • Модератор
  • Постов: 391
  • Репутация: 19
Да, сможете.
Модератор

Re: Подпись в JavaApplet и проверка на сервере (C#) 4 года, 6 мес. назад #1488

  • ugotbug
  • Завсегдатай
  • Постов: 225
  • Репутация: 14
Добрый день.
Да, подписи сформированные текущим Java апплетом будут валидироваться KalkanCrypt.
Кроме того в новом SDK есть обновленный Java апплет, с поддержкой базово функционала, новых и старых объектных идентификаторов (OID). Мы также хотим напомнить, НУЦ рекомендует информационным системам писать свой апплет. Апплет в SDK сделан в первую очередь для примера.
Могущественный обладатель кольца Знаний
  • Страница:
  • 1
FaLang translation system by Faboba