Автор Тема: Мога ли да осъдя НАП  (Прочетена 36916 пъти)

v_badev

  • Напреднали
  • *****
  • Публикации: 1355
    • Профил
Re: Мога ли да осъдя НАП
« Отговор #15 -: Feb 12, 2010, 17:49 »
И да, имам (много) общо с електронните услуги на НАП:)
Мен щеше да ме е срам да си призная такова нещо публично :)
В случая на НАП единственото нещо заради което услугата им е достъпна само с Internet Explorer под Windows е че ползват един ActiveX контрол написан на Delphi за подписване. Абсолютно същото нещо повечето банки са успели да го направят със стандартните средства на браузера. За IE се ползва CAPICOM, а за Mozilla window.crypto.signText. Така се покриват 99% от браузърите и 100% от операционните системи, поддържащи хардуерни криптографски устройства.

Принципно може да се направи и Java аплет за подписване, както в Агенцията по вписванията, но там също са го направили некадърно. Явно ползват нещо готово, което не работи под Mac OS X защото има тъпа проверка коя е операционната система. Съотетно още по-тъпият им Java аплет (подписан със световно признат сертификат на b-trust) не знае какво е Mac OS X и отказва да подписва.

@Arvigeus - няма да стане с Wine. IE ще тръгне, ActiveX-а може и той да тръгне, но няма да успееш да подпишеш нищо. Тази част от CryptoAPI просто не е имплементирана в Wine.
Активен

RealEnder

  • Напреднали
  • *****
  • Публикации: 160
  • Distribution: Ubuntu
  • Window Manager: Unity
    • Профил
    • WWW
Re: Мога ли да осъдя НАП
« Отговор #16 -: Feb 12, 2010, 18:14 »
Мен щеше да ме е срам да си призная такова нещо публично :)
Доста надълго и нашироко съм обяснявал защо така са реализирани услугите. Накратко - legacy код. За да се пренапише -> средства. Възлагат ни го - правим го :) Теб за какво точно би те хванал срам?
В случая на НАП единственото нещо заради което услугата им е достъпна само с Internet Explorer под Windows е че ползват един ActiveX контрол написан на Delphi за подписване. Абсолютно същото нещо повечето банки са успели да го направят със стандартните средства на браузера. За IE се ползва CAPICOM, а за Mozilla window.crypto.signText. Така се покриват 99% от браузърите и 100% от операционните системи, поддържащи хардуерни криптографски устройства.
Това просто не е така. Във въпросната контрола има доста код, като подписването е само част от него. Там имаш компресиране, криптиране, логически и форматен контрол на ДДС дневниците (файловете, които се изпращат), FTP клиент и още някои неща. За всичко това браузърът не е достатъчен, а и не трябва. NSS crypto.signText е доста ограничен, като "призвежда" единствено deteched PKCS#7 сигнатура, включвайки всички сертификати по веригата, без базовият. Допълнителни опции няма. Това е доста ограничаващо.
Принципно може да се направи и Java аплет за подписване, както в Агенцията по вписванията, но там също са го направили некадърно. Явно ползват нещо готово, което не работи под Mac OS X защото има тъпа проверка коя е операционната система. Съотетно още по-тъпият им Java аплет (подписан със световно признат сертификат на b-trust) не знае какво е Mac OS X и отказва да подписва.
С java applet ще стане, но остава проблема с пренаписването на останалата част. Освен това, по мое мнение, такъв тежък java applet ще е по-труден за поддръжка и ще създаде повече главоболия на крайните потребители.
@Arvigeus - няма да стане с Wine. IE ще тръгне, ActiveX-а може и той да тръгне, но няма да успееш да подпишеш нищо. Тази част от CryptoAPI просто не е имплементирана в Wine.
И това не е така. Подписването в последните версии на wine работи, но това, което липсва е winscard имплементацията, която да направи CryptoAPI keystore -> PKCS#11 интерфейсът.

Накратко, нещата не винаги са такива, каквито изглеждат на пръв поглед.
Опредлено за останалата част от портала за електронни услуги (не говоря за интернет страницата им!) се опитваме да го правим максимално браузър независим, като си спазаваме стандартите.
Активен

tyuio

  • Гост
Re: Мога ли да осъдя НАП
« Отговор #17 -: Feb 12, 2010, 18:34 »
Аз не смятам че жаба решението ще е по тежко от сегашното от клиентска гледна точка ако се направи кадърно.
Все пак някой имали представа какъв е опита в други страни по този въпрос за да се сравни?
Активен

Kras

  • Напреднали
  • *****
  • Публикации: 155
  • Distribution: Arch
    • Профил
Re: Мога ли да осъдя НАП
« Отговор #18 -: Feb 12, 2010, 21:06 »
А защо не направят от НАП:
1. Да си проверяваш файловете в браузъра - дали са коректни данните т.е. дали нямат грешки и да прави репорт за грешките, та да си ги оправим;
2. След това се подписват файловете с програма, не в брайзъра;
3. Изпращаш така проверените и подписани файлове, чрез браузъра;
4. Ако си тарикат и пропуснеш т. 1 и имаш грешки, да ти връща данните като неприети.
В тази връзка ето на този линк е дискутирано как евентуално може да си подпишеш файл под Линукс: http://forums.bsbg.net/viewtopic.php?f=1&t=3202&start=15

Тогава отговорността за това дали програмата за подписване работи под Линукс ще е в фирмите които предлагат електронен подпис, а те мисля че по-добре ще се справят с тази задача. От НАП и програмистите им(или подизпълнителите) ще се иска само сървърната част за проверка на ел. подпис, пък те ако искат да си я реализират на к'ват си искат ОС?

P.S.: Не съм специалист просто предлагам и питам дали не е възможно гореизложеното да се реализира!
« Последна редакция: Feb 12, 2010, 21:12 от Kras »
Активен

laskov

  • Напреднали
  • *****
  • Публикации: 3166
    • Профил
Re: Мога ли да осъдя НАП
« Отговор #19 -: Feb 12, 2010, 22:45 »
//извън темата: Мисля, че нещата определено отиват на добре, щом такива проблеми се обсъждат тук, в този форум. Чак не ми се вярва, че се случва!  [_]3
Активен

Не си мислете, че понеже Вие мислите правилно, всички мислят като Вас! Затова, когато има избори, идете и гласувайте, за да не сте изненадани после от резултата, и за да не твърди всяка партия, че тя е спечелила, а Б.Б. (С.С., ...) е загубил, а трети да управлява.  Наздраве!  [_]3

plandz

  • Напреднали
  • *****
  • Публикации: 535
  • Distribution: Debian Testing
  • Window Manager: KDE
    • Профил
Re: Мога ли да осъдя НАП
« Отговор #20 -: Feb 12, 2010, 23:18 »
//извън темата: Мисля, че нещата определено отиват на добре, щом такива проблеми се обсъждат тук, в този форум. Чак не ми се вярва, че се случва!  [_]3

Off//
Едва ли отиват на добре,ама карай.Важното е да е весело. ;D
« Последна редакция: Feb 12, 2010, 23:35 от plandz »
Активен

Ако се чувствате добре,не се тревожете.Ще ви мине. - Murphy's Laws

v_badev

  • Напреднали
  • *****
  • Публикации: 1355
    • Профил
Re: Мога ли да осъдя НАП
« Отговор #21 -: Feb 13, 2010, 00:28 »
Доста надълго и нашироко съм обяснявал защо така са реализирани услугите. Накратко - legacy код. За да се пренапише -> средства. Възлагат ни го - правим го :) Теб за какво точно би те хванал срам?
RealEnder, това обяснение съм го изпуснал и не знам колко ви е legacy кода, но този магически ActiveX е основната причина в страшно много счетоводни фирми да ползват нарочно пробит Internet Explorer. Типичният начин по който се решават проблемите при инсталацията му е да се разрешат всички опции за пускане на ActiveX контроли в настройките. B-trust даже разпространяват програма която сваля сама настройките за сигурност на IE за да улеснят клиентите си счетоводители. А това че правите валидация при клиента е просто смешно.
Ясно е че някой ви го е възложил и вие сте го направили защото за това ви плащат. Въпроса е че това не работи добре дори на Windows с IE.

С java applet ще стане, но остава проблема с пренаписването на останалата част. Освен това, по мое мнение, такъв тежък java applet ще е по-труден за поддръжка и ще създаде повече главоболия на крайните потребители.
За Java-та съм напълно съгласен, особено като знам какъв Java код пишат в държавните институции. Все още недоумявам на кой му е хрумнало че трябва в Java аплет да се прави проверка каква е операционната система и ако е непозната да се отказва да подписването.

И това не е така. Подписването в последните версии на wine работи, но това, което липсва е winscard имплементацията, която да направи CryptoAPI keystore -> PKCS#11 интерфейсът.
За да работи подписване със смарт карта трябва да се направи CryptoAPI провайдер извършващ криптографските операции през PKCS#11 или PKCS#15. След това трябва да има начин да кажеш на Wine покажи тази PKCS#11/PKCS#15 библиотека като CryptoAPI провайдер за Windows програмите. Имплементацията на winscard няма да помогне особено за нито едно от двете.

@Kras - файл в линукс може да се подпише чрез Cryptonit или ако предпочиташ конзолата чрез openssl с engine PKCS#11. Големите инструкции на сайта на b-trust показват само как да провериш дали има инсталиран драйвер за четеца.
« Последна редакция: Feb 13, 2010, 00:32 от v_badev »
Активен

dvasilev

  • Напреднали
  • *****
  • Публикации: 200
  • Distribution: Kubuntu, Debian
  • Window Manager: KDE
    • Профил
    • WWW
Re: Мога ли да осъдя НАП
« Отговор #22 -: Feb 13, 2010, 17:53 »
Доста надълго и нашироко съм обяснявал защо така са реализирани услугите. Накратко - legacy код. За да се пренапише -> средства. Възлагат ни го - правим го :) Теб за какво точно би те хванал срам?
Това с legacy кода е доста удобно оправдание. В страницата на НАП се появяват от време на време нови услуги, при които също не се търси многоплатформеност (например декларация 1 няма и една година откакто е въведена). Отделен е въпросът, че изборът на ActiveX контролите е направен на принципа на най-малкото съпротивление. Било то, заради възможности (компетентност), било то заради количество пари за единица вложено време. Разбира се, това не пречи да се искат после допълнително пари, за да се направят нещата като хората. Успокояващото в случая е, че има и доста по-неприятни реализации. Така и не можах да подкарам искането за издаване на удостоверение, което е реализирано в някакъв pdf файл, който трябва да подпишеш без да си наясно със съдържанието му, а след като сглупиш да го направиш, те редиректва към страница, в която те информират, че електронният подпис не бил валиден.
Активен

RealEnder

  • Напреднали
  • *****
  • Публикации: 160
  • Distribution: Ubuntu
  • Window Manager: Unity
    • Профил
    • WWW
Re: Мога ли да осъдя НАП
« Отговор #23 -: Feb 14, 2010, 12:57 »
Здравейте всички,
Ще се опитам да напиша по няколко реда в отговор. Надявам се да разберете правилно защо нещета са в това състояние. Аз самият използваm linux базирани ОС за десктоп от няколко години, а по сървъри от края на 90те. Затова и определено ми се иска нещата да не са в сегашното състояние.
@Kras
Това спокойно може да се постигне с GreaseMonkey скрипт, който шунтира COM обекта за подписване, дава ти възможност да си запишеш като файл това, което трябва да се подпише, подписваш си го с каквото решиш (openssl) и след това го upload-ваш. Това ще работи като цяло за всички услуги, без ДДС-то, където живее "омразната" ви ActiveX контрола. Отново ще наблегна - ако се отворят интерфейсите от НАП, ще може да се реализира всичко. Ето ви подобен паралел - никой не натиска микрософт да си подкара офис пакета под линукс, защото са в монополно положение на пазара на офис пакетите. Натискат ги да отворят файловите си формати.
@laskov, plandz
идеите все някъде трябва да се раждат и обмислят. Иначе постоянно ще се изправяме пред поредните криви имплементации на услуги, които никой не използва. Аз лично съм отворен и положително настроен към всяка помощ. Но разберете, не става да отида в организацията Х и да им предложа "хайде да платите за платформена независимост на клиентите, ще бъде от полза на 0.3% от потребителите ви". Или пък обратното - да планирам при нас ресурс, който след това не мога да защитя финасово.
@v_badev
Има една приказка, че човек като не знае какво да прави, прави каквото знае. Въпросната контрола е подписана по AuthentiCode, маркирана е safe for scripting, не й трябват административни права за изпълнение. Ако някой си направи труда да зачете докуемнтацията, ще намери точно какви специфични настройки трябва да се направят, за да работи както трябва, без да се застрашава сигурността на потребителя. Само, че клиентите бързат и е най-лесно "всичко надолу".
Това, което са направили колегите от Банксервиз не съм го виждал, но предполагам, че не просто сваля всичко на макс - останал съм с впечатлението, че могат и повече.
На това за валидацията искам да обърна специално внимание. Не става въпрос за верификация на подписа при клиента. Това се прави на сървъра. При клиента се прави формален контрол на файловете, които се изпращат - за да можем да му съставим декларация и да имаме една идея по-голяма увереност, че е избрал правилните файлове, не ги разкарваме през Интернет излишно и пр. ВСИЧКИ формални валидации се повтарят и на сървъра, в комплект с още някои други, за които е необходима още информация.
Въпросния java applet, който реферираш в агенцията по вписванията, беше писан(или поне в началото) от Петър Пенчев (roamer), ако чете тук може да сподели какво е наложило това решение. Уверен съм, че има доста добра причина.
Ако имаш опит с кодовото дърво на wine и ти се занимава, може да объдим къде точно е проблема, а и да поработим за решаването му. Не мисля, че в този тред е подходящо да изпадаме в технически подробности.
@dvasilev
Вярвам, забелязал си, че оправдания не търся. Излагам как стоят нещата и посочвам възможните решения. Това с PDF-ите не е писано от нас и съвсем скоро ще бъде заменено с аналогично решение, в унисон с технологичната рамка на НАП. Декларации 1,3 и 6, както и трудовите договори (по чл 62 и 123 от КТ) е услуга, пусната преди 2-3 години. Там реализацията е с COM, който подписва локален файл, който след това се upload-ва. Подходът, за който писах по-горе с GraceMonkey скрипт е приложим директно.
Накрая, ако някой има желание да помогне, вместо да критикува непознавайки пълната картинка, нека пише.
Активен

shoshon

  • Гост
Re: Мога ли да осъдя НАП
« Отговор #24 -: Feb 14, 2010, 16:29 »
@RealEnder
Много съм съгласен. Спомням си, че веднъж се заех да гледам някакъв софтуер на НАП. Когато потърсих в гугъл за документация, се изненадах, форматите са си много добре документирани и си има точни и ясни изисквания. Просто за линукс няма кой да напише такъв софтуер.

Все още не съм сигурен дали трябва.

А това за съденето на НАП...
Активен

tyuio

  • Гост
Re: Мога ли да осъдя НАП
« Отговор #25 -: Feb 14, 2010, 17:24 »
@RealEnder
Много съм съгласен. Спомням си, че веднъж се заех да гледам някакъв софтуер на НАП. Когато потърсих в гугъл за документация, се изненадах, форматите са си много добре документирани и си има точни и ясни изисквания. Просто за линукс няма кой да напише такъв софтуер.

Все още не съм сигурен дали трябва.

А това за съденето на НАП...
Какво ще рече дали трябва. Трябва разбира се. С такава дупка няма кой да се реши да напише сносен счетоводен софт за линукс и бг и то данъчно обезпечен. Няма как бъде предпочетен за работа линукс ако той не удовлетворява едни минимални критерии за разни реално прозаични неща.
@RealEnder  Аз лично бих изкал да помогна, но изобщо не съм запознат с материята за която говорите в детайли за да мога да давам предложения за каквото и да било.
Смятам че липсата на сериозна бизнес алтернатива на уиндоус в Бг обрича Линукс да е една аматъорска ОС дето и за игри да не става. А това може да не бъде така!
Активен

dvasilev

  • Напреднали
  • *****
  • Публикации: 200
  • Distribution: Kubuntu, Debian
  • Window Manager: KDE
    • Профил
    • WWW
Re: Мога ли да осъдя НАП
« Отговор #26 -: Feb 14, 2010, 17:47 »
@RealEnder: Не те обвинявам за нищо, просто и аз излагам фактите. Декларация 1 и 3 не знам кога сте ги разработвали, но услугата от страницата на НАП работи от 27.04.2009 г. (източник). До преди това се подаваха през страницата на НОИ и там нещата бяха различни (в някои отношения по-добре, в други по-зле).

Казваш, че трябва да се помага. Бъди по-конкретен и сподели с какво точно. Все пак съм един от малкото хора в България, които си вършат счетоводните неща под linux и в целия процес ползват windows единствено и само за изпращане на справките към НАП, така че съм заинтересован.
Активен

RealEnder

  • Напреднали
  • *****
  • Публикации: 160
  • Distribution: Ubuntu
  • Window Manager: Unity
    • Профил
    • WWW
Re: Мога ли да осъдя НАП
« Отговор #27 -: Feb 14, 2010, 17:48 »
Ето какво би помогнало:
GarceMonkey експерт - аз самия не съм си играл достатъчно с него, а има хора, които са. Лесно е да се провери какво се подписва, като вместо да сеп одава към COM обекта, да се записва като файл, или ако има възможност, да се подава към command line скрипт, който да връща подписаните данни. Аз мога да подкрепя частта с подписите.
ДДС-то без java applet няма да мине, освен ако НАП не решат да отворят формата на контейнерният файл, който се изготвя. Това за момента е малко вероятно, но не и невъзможно. Ако има сериозни желаещи, мога да говоря с тях за публикуването му.
За самия интерфейс на приложенията, както по-горе писах, спазваме w3c стандартите. Възможно е, обаче, да има и пропуски, тъй като основните тестове се правят с IE, като целева платформа. Нищо не пречи да се разцъква с FF или друг алтернативен браузър и да ми се изпращат проблемите. Ще ги решаваме като част от поддръжката:)
Изобщо, ако някои има идеи за подобрения да сподели.
« Последна редакция: Feb 14, 2010, 17:54 от RealEnder »
Активен

RealEnder

  • Напреднали
  • *****
  • Публикации: 160
  • Distribution: Ubuntu
  • Window Manager: Unity
    • Профил
    • WWW
Re: Мога ли да осъдя НАП
« Отговор #28 -: Feb 14, 2010, 18:00 »
dvasilev, наистина има голям лаг между разработването и пускането на дадена услуга. Това се дължи на различни фактори - забавена интеграция с външни системи, данни, на които се базира услугата, които не са налични, конюнктурни забавяния и пр. Дори и в момента има 4 готови услуги, които не могат да стартират заради подобни неща. Все пак в НАП са заинтерсувани да развиват електронните услуги, за да намалят човекопотока за обслужване на място, както и да редуцират грешките от обработките "на ръка".
« Последна редакция: Feb 14, 2010, 18:08 от RealEnder »
Активен

shoshon

  • Гост
Re: Мога ли да осъдя НАП
« Отговор #29 -: Feb 14, 2010, 21:11 »
Цитат
@RealEnder  Аз лично бих изкал да помогна, но изобщо не съм запознат с материята за която говорите в детайли за да мога да давам предложения за каквото и да било.
Смятам че липсата на сериозна бизнес алтернатива на уиндоус в Бг обрича Линукс да е една аматъорска ОС дето и за игри да не става. А това може да не бъде така!

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

А и би било страхотно ако всички четци за електронни карти работеха под Линукс. Уви, този на лаптопа ми е неизползваем в момента.

Сега ще кажа едно мое мнение. Линукс по принцип си се прави от кадърни хора, но програмисти. Липсват каквито и да е други експерти. Ето например RealEnder има явно някакви процедурни познания, но една птичка пролет не прави. Въпреки това смятам, че с времето нещата ще вървят към промяна, дано да е за добре

Поздрави :)
« Последна редакция: Feb 14, 2010, 21:14 от shoshon »
Активен