BG Development


Страници: (4) [1] 2 3 ... последна »  ( Първото ново мнение ) Reply to this topicStart new topicStart Poll

> Документация на StampIT, Цифрово подписване на документи
thrawn
Публикувано на: 04-10-2017, 08:07
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 979
Регистриран на: 17.01.17



Някой разполага ли с документация на StampIT (сървизът за подписване на документи на информационно обслужване)?

Като цяло ме интересува системата за публикуване на документи която ползват от нап (бре, това все го пиша на латиница...) тъй като се налага да я автоматизирам.

Разбирасе, ще се обърна и към тях за информация но все още услугата която трябва да ползвам не е налична.

Това мнение е било редактирано от thrawn на 04-10-2017, 08:17
PMEmail Poster
Top
kierenski
Публикувано на: 04-10-2017, 08:35
Quote Post



Име:
Група: Потребител
Ранг: Посетител

Мнения: 111
Регистриран на: 10.01.16



StampIT използва стандартен PKCS11 сертификат и документация има навсякъде из нета, но не на български.
Като цяло се ползва библиотека която чрез криптографски техники извлича ключ от устройството и предоставя на твоята програма готови мета данни за ключа и дали е валиден.

Какво конкретно те интересува?

Относно НАП начина им на работа, документация само при тях.
PMEmail Poster
Top
thrawn
Публикувано на: 04-10-2017, 09:11
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 979
Регистриран на: 17.01.17



Интересува ме основно сървисът който се инсталира локално.

Архитектурата е горе долу следната - инсталира се едно webstart приложение с етикет spampit което предоставя restful интерфейс (локален !!!) който се ползва от приложния софтуер за фактическото подписване на файловете.
В web страницата на нап има javascript който прави асинхронни заявки към тоя сървъз и изпраща отговорът (подписът, името на файлът и разни други глупости) + самия файл към нап.

Та ме интересува документацията на тоя restful сървиз (след като го имам на готово няма да седна да го пиша я). И разбирасе, дали сървърът на нап изисква някакви специфични данни (освен идентификацията със сертификат + сесийния идентификатор).

---edit---
CODE
"version": "1.0",
"httpMethods": "POST",
"contentTypes": "data",
"signatureTypes": "signature, xmldsig",
"selectorAvailable": false,
"hashAlgorithms": "SHA1",
"services": [
      {
            "root": "signer",
            "name": "Signer Service",
            "desc": "Provides signing services for files and data",
            "version": "0.4",
            "vendor": "Information Services JSC",
            "methods": [
                  "sign",
                  "signSimple",
                  "signFile",
                  "signFileContent"
            ]
      }
]

Това сървизът си го казва доброволно. Вижда се, че предоставя 4 метода + version който изкарва горните данни.

Това мнение е било редактирано от thrawn на 04-10-2017, 09:25
PMEmail Poster
Top
kierenski
Публикувано на: 04-10-2017, 09:54
Quote Post



Име:
Група: Потребител
Ранг: Посетител

Мнения: 111
Регистриран на: 10.01.16



Този сървис единствената му цел е да превежда интерфейса за да може по-стари версии на java и javascript да ползват библиотеката, но от версия 52 на лисицата ползването на библиотеката от браузъра вече е вградено(на всички браузъри) и не е необходимо да се ползват външни средства (даже е забранено което налага преобразуването което са ти дали).

Самия сертификат е един 2048 бита RSA частен ключ (публичния остава при CA сървиса за потвърждание) който е записан на токъна, но токана можеш да го прочетеш само с PKCS11 библиотека защото е кодиран и защитен (за Gemalto е libidprimepkcs11) която ще ти върне всичките данни които си пуснал в JSON примера, само че в стандартния за PKCS11 формат които по-нататък се пращат на НАП чрез техния REST API и те проверяват за автентичност в CA.

Всеки сайт включително НАП те не изискват други данни освен кодирани данни които са ти дадени от CA като plaintext и които са кодирани от теб с частния ключ и кодирания резултат се праща на НАП който го препраща на CA и CA казва на НАП дали е валиден или не сертификатът.

Това мнение е било редактирано от kierenski на 04-10-2017, 10:02
PMEmail Poster
Top
thrawn
Публикувано на: 04-10-2017, 10:07
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 979
Регистриран на: 17.01.17



Не е точно така, но няма смисъл да влизаме в подобни детайли.

Аз не питам за това какво е цифрово подписване и какво прави съответния сървиз а ме интересува дали някой го е ползвал (има документация, все пак ИС често ни спамят с обяви за работа та могат да ударят едно рамо).

Искам да ползвам готовото решение, не защото не мога да си напиша нещо подобно а защото не ми се занимава с подробностите които са силно специфични за тяхната имплементация - ползван хеш алгоритъл, компресия (очевидно ползват), кодиране на данните. Това са все неща които могат да се променят в движение и вместо аз да ги следя постоянно ще ползвам сървиз който те ще си поддържат синхронизиран с текущите им изисквания.

PMEmail Poster
Top
kierenski
Публикувано на: 04-10-2017, 10:20
Quote Post



Име:
Група: Потребител
Ранг: Посетител

Мнения: 111
Регистриран на: 10.01.16



Най вероятно няма да ти дадат информация как работи тяхното API StampIT, а само интерфейса към него.
Отделно те имат проблеми тъй като браузърите забраниха ползването на такива програми за сертификати.
Ако знаеш какви врътки трябваше да правя заради забраната да си подкарам техния сертификат под линукс за да го ползвам иначе не мога да ползвам услугите на НАП и на МИТНИЦИ.

Готово решение няма да тръгне да работи заради забраната която браузърите са наложили за ползване на джава, за това ИО сега правят нов интерфейс който да работи и който не са го измислили още.

Това мнение е било редактирано от kierenski на 04-10-2017, 10:22
PMEmail Poster
Top
thrawn
Публикувано на: 04-10-2017, 10:36
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 979
Регистриран на: 17.01.17



Губи ти се идеята.
Именно защото браузерите спират да поддържат външни плъгини (и не поддържат функционалност за подписване на документи), пък и oracle вече обявиха, че ще разкарат плъгинът от jre-то така или иначе, от ИС са избрали тази архитектура.
В случая НЕ се ползва плъгин или каквото и да било. Ползва се прост cross domain ajax request към споменатия сървиз, който от своя страна ползва web start технологията на oracle.

Вярно, че въпреки всичко са успели да се насерат и услугите са почти недостъпни под linux (в момента нещо му стана на тъпия сървиз и реве, че system tray-ът не се поддържа на KDE-то) но това е друга тема.
PMEmail Poster
Top
kierenski
Публикувано на: 04-10-2017, 10:55
Quote Post



Име:
Група: Потребител
Ранг: Посетител

Мнения: 111
Регистриран на: 10.01.16



Може, аз не ги следя често тези неща и може да съм изтървал нещо. Основното което следя е side-channel-attacks и криптоанализ на различните алгоритми.
PMEmail Poster
Top
thrawn
Публикувано на: 04-10-2017, 11:14
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 979
Регистриран на: 17.01.17



Ето го самия сървиз.
Ако имаш инсталирана java, като кликнеш на линка приложението ще се свали, инсталира и стартира. Позволява да се стартират до три инстанции като всяка слуша за входящи https заявки съответно на портове 8089, 23124 и 53952.

Интересното е, че в отговорът при подписване на файл има поле filecontent с данни кодирани в base64 (и някакъв флаг, че се ползва компресия за нещо). Затова искам да ползвам тоя сървиз, че не се знае какво точно са сътворили в него и дали утре няма да го променят.

Лошото е, че за сега услугата която ми трябва е само нормативен документ та е безсмислено да пускам официално запитване за нещо което все още го няма. Затова за сега само проучвам как им работи системата.

Това мнение е било редактирано от thrawn на 04-10-2017, 11:22
PMEmail Poster
Top
kierenski
Публикувано на: 04-10-2017, 11:40
Quote Post



Име:
Група: Потребител
Ранг: Посетител

Мнения: 111
Регистриран на: 10.01.16



Точно това работи като стандартен прокси сървър чийто поток се кодира от към приложението със TLS сертификати/протокол и се праща JSON форматирани данни, а от другата страна се ползва стандартна pkcs11 библиотека за хардуера. Няма нищо особено.

Ако ще пишеш нещо по-добре изисквай браузъра директно да зареди pkcs11 библиотеката, не е толкова трудно а и работи при всички текущи браузъри без проблем.

Това мнение е било редактирано от kierenski на 04-10-2017, 11:51
PMEmail Poster
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Страници: (4) [1] 2 3 ... последна » Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2015 | BG Development | All Rights Reserved
RSS 2.0