Електронното банкиране на Fibank / ПИБ

С оглед на предната ми публикация беше ясно, че една от причините, поради които си извадих електронен подпис е възможността за използване на услугата електронно банкиране. Електронните услуги в България поначало са под всякаква критика (с изключение донякъде точно на банковия отрасъл), но няма да задълбавам в тази насока.

Вместо това, ще напиша малко размисли относно електронното банкиране на Fibank. Не пиша това с упрек, макар и да е дразнещо, а с идеята за конструктивна критика. Fibank са доста активни в социалните мрежи и вероятно ще попаднат тук рано или късно (дори ще взема да ги ping-на в twitter).

Според блога си, са сред пионерите на виртуалното банкиране в България. Предполагам, че това наистина е така. Чел съм доста хвалби касаещи тяхното Интернет банкиране по блогове и ред сайтове, чувал съм ги и лично от приятели и познати, но сега, когато го (имам идея да го) ползвам по-активно намирам някои липси.

  • Не виждам каква е логиката в това, да мога да открия сметка или депозит чрез електронното банкиране, но да не мога да я закрия и да трябва да отида лично до някой клон.
  • Защо има два различни сайта my.fibank.bg и e-fibank.bg. Не можеше ли когато не използваш сертификат e-fibank.bg да е с ограничената функционалност на my.fibank.bg?
  • Защо не мога да регистрирам телефона си за получаване на информация, а е необходимо да попълвам декларация / заявление лично в някой клон.

Според този кратък цитат от техния сайт:

За да се регистрирате е необходимо единствено да попълните и представите подписан формуляр, в най-удобния клон на Първа инвестиционна банка в цялата страна.
За промяна на данните на регистрацията Ви, например при промяна на GSM номера, по който желаете да получавате SMS известия, също е необходимо да представите подписан формуляр за промяната.

Тук не става ясно еднозначно дали подписването на въпросните формуляри е възможно с електронен подпис. Според Денонощната им поддръжка най-вероятно  не е. Не бяха сигурни и ме посъветваха да се обадя в централният им офис в работно време. Нещо повече, според информацията тук:

Всички клиенти на Виртуалния банков клон на Fibank – физически и юридически лица, получават автоматично безплатнo SMS съобщение за всеки техен превод, извършен през Виртуалния банков клон.
В случай че не желаете да се възползвате от тази възможност на услугата, можете да заявите отказ от получаване на SMS известия, като подадете лично молба в клон на Fibank.

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

Не че имам против да се насладя на красивите момичета по фронт офисите им. Но когато свободното ти време е ограничено, висенето на опашки по клоновете не е кой знае колко привлекателно. Още повече, ако нямаш клон на банката наблизо (макар че вероятно са банката с най-много клонове) или пък не можеш да го посетиш в работно време (все пак то вероятно съвпада с твоето такова, макар и по МОЛ-овете да има изключения). Все пак дори и те са посочили тези неща, като една от основните прични за използване на електронно банкиране.

Може би грешката е в мен, но под виртуален банков клон и електронно банкиране, моето виждане е, че в общи линии би трябвало да мога да правя всичко, което мога да направя и във физически клон на банката. Мога да предположа, че това не е възможно и има услуги, които налагат личното ми присъствие. Но наистина не ми е понятна причината за това да мога да извърша дадена услуга, но не ѝ нейната противположност. Вероятно защото не съм от Лондон.

УЕП (UES) от Infonotary на Fedora 16 и Firefox 7/8

От дълго време се каня да си извадя електронен подпис, но все го отлагах. Напоследък обаче се стигна до момент, в който това стана наложително. Понеже естествено, ще го ползвам под Linux направих кратко проучване първо онлайн, а след това и сред познати. Имаше положителни мнения както за Инфонотари, така и за Банксервиз. Аз се спрях на първите по две причини – на пръв поглед по-добрата документация, и нещо доста по-тривиално, по-големият брой офиси на Инфонотари, в случая имаше такъв точно срещу моя офис.

От това, което прочетох се надявах да ми се падне Omnikey четец, но в избраният от мен офис на ЦКБ такива нямаше – единствената опция беше ACS. Понеже напоследък съм мързелив, а и ми трябваше спешно рискувах и го взех. Последното след попълването на един тон документация от момичето в офиса, което беше леко неориентирано, изглежда нямаше кой знае какъв опит с издаване на сертификати, но с малко помощ от приятели (с цената от две телефонни обаждания) все пак се справи.

И така, за мен остана да изчакам края на работния ден, да се прибера и да видя какво ще се получи. Ами смело мога да заявя, че четецът работи out of the box с ccid драйверът по подразбиране.

pcscd сървисът е стартиран:

[Nick@Pegasus ~]$ systemctl status pcscd.service
pcscd.service - PC/SC Smart Card Daemon
Loaded: loaded (/lib/systemd/system/pcscd.service; disabled)
Active: active (running) since Tue, 22 Nov 2011 20:56:10 +0200; 2h 9min ago
Main PID: 8758 (pcscd)
CGroup: name=systemd:/system/pcscd.service
└ 8758 /usr/sbin/pcscd -f

Исталирани са следните пакети:

[Nick@Pegasus ~]$ yum list pcsc-*
Installed Packages
pcsc-lite.x86_64                        1.7.4-6.fc16                  @fedora
pcsc-lite-ccid.x86_64                   1.4.5-1.fc16                  @fedora
pcsc-lite-devel.x86_64                  1.7.4-6.fc16                  @fedora
pcsc-lite-libs.x86_64                   1.7.4-6.fc16                  @fedora
[Nick@Pegasus ~]$ yum whatprovides pcsc-lite
pcsc-lite-1.7.4-6.fc16.x86_64 : PC/SC Lite smart card framework and applications
Repo        : fedora
[Nick@Pegasus ~]$ yum whatprovides pcsc-lite-ccid
pcsc-lite-ccid-1.4.5-1.fc16.x86_64 : Generic USB CCID smart card reader driver
Repo        : fedora

Ето и как се разпознава самият четец (dmesg output):

[787202.753102] usb 1-1.5.4: new full speed USB device number 13 using ehci_hcd
[787202.841264] usb 1-1.5.4: New USB device found, idVendor=072f, idProduct=90cc
[787202.841267] usb 1-1.5.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[787202.841269] usb 1-1.5.4: Product: CCID USB Reader
[787202.841270] usb 1-1.5.4: Manufacturer: ACS
[789782.064529] usb 1-1.5.4: USB disconnect, device number 13

И малко по-подробно (lsusb -vd):

lsusb -vd 072f:90cc
 
Bus 001 Device 015: ID 072f:90cc Advanced Card Systems, Ltd ACR38 SmartCard Reader
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         8
  idVendor           0x072f Advanced Card Systems, Ltd
  idProduct          0x90cc ACR38 SmartCard Reader
  bcdDevice            1.00
  iManufacturer           1 ACS
  iProduct                2 CCID USB Reader
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           93
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass        11 Chip/SmartCard
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              0
      ChipCard Interface Descriptor:
        bLength                54
        bDescriptorType        33
        bcdCCID              1.00
        nMaxSlotIndex           0
        bVoltageSupport         7  5.0V 3.0V 1.8V
        dwProtocols             3  T=0 T=1
        dwDefaultClock       4000
        dwMaxiumumClock      4000
        bNumClockSupported      0
        dwDataRate          10752 bps
        dwMaxDataRate      344100 bps
        bNumDataRatesSupp.      0
        dwMaxIFSD             247
        dwSyncProtocols  00000000
        dwMechanical     00000000
        dwFeatures       00010030
          Auto clock change
          Auto baud rate change
          TPDU level exchange
        dwMaxCCIDMsgLen       271
        bClassGetResponse      00
        bClassEnvelope         00
        wlcdLayout           none
        bPINSupport             0
        bMaxCCIDBusySlots       1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              16
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
Device Status:     0x0000
  (Bus Powered)

Моделът на картата ми е T&S DS/2048 (L), което налага инсталирането на два допълнителни пакета от хранилището на Инфонотари, a именно – bit4id-ipki и infonotary-scardmanager.

Остава само настройката на browser-а, който в случая е firefox. Сертификатът може да се инсталира директно от линка изпратен от Инфонотари чрез e-mail, а за улеснение на конфигурацията може да се добави следният firefox add-on – InfoNotary Configurator for Mozilla, . Ако при отварянето на тестовият линк (тестът може да бъде направен и от Preferences –> Signature Test на добавката на Инфонотари), отговорът е Data Accepted, то всичко е наред и можем да подписваме на воля.

Допълнителна информация:

Загубих доста време да разбера какъв е точният модел на четеца. Както може да се види от output-а по-горе то се разпознава като ACR38. На капачето му обаче е изписано ACR38T, а според една от техническите спецификации на сайта на производителя, а и според външният му вид, то това е ACR38DT. Според същата спецификация, въпросният четец работи с ccid, само ако е с firmware 1.12, и явно моят е такъв. В противен случай вероятно ще се наложи инсталирането на vendor драйверите.

Ето как изглежда на практика:

Полезни линкове (дадени са и в текста по-горе):

  1. Използване на квалифициран електронен подпис в Mozilla Firefox за Linux
  2. Използване на хранилищата на InfoNotary
  3. InfoNotary Configurator for Mozilla
  4. Инсталация на драйвери за четец и смарт карта в Linux

Умишлено не посочвам линк към „Инсталация на драйвери за четец и смарт карта в Linux“. Въпреки, че статията е относително актуална, то в нея има някои неточности, които могат да доведат до объркване. Освен това е и доста Ubuntu ориентирана. Но това, не е кой знае какъв проблем, освен че имената на пакетите във Fedora са други.  Проблемът е друг, че по начинът, по който е написан краят на статията, може да се остане с впечатлението, че е нужно да се инсталира и OpenSC. Това не е необходимо! OpenSC, въпреки че разпознава правилно четеца, зарежда и използва CNS драйвера. Освен това, ACS липсва от списъкa с поддържаният от проекта хардуер, но пък е споменат в списъкът с поддържани устройства от CCID.

И така в резюме: ACS ACR38DT от Инфонотари работи под Fedora 16 с Firefox 7, без да е необходимо да се инсталират допълните драйвери за картовия четец.

Рдакция /24.11.2011/: Статията във wiki-то на Инфонотари е редактирана, и е доста по-точна в момента. Така че включвам и линк-а към нея.

Fedora 16 Verne

Във вторник излезе 16-тата версия на Fedora с кодово название Verne. За разлика от предната 15-та, този път има доста промени, подобрения и нови неща, като може би най-отличителните са Grub2, както и продължаващата миграция от SysV към systemd.  Ето и някои други заслужаващи внимание новости:

  • Chrony заменя ntpd като основен метод за синхронизация на време
  • ext4 отдавна е част от дистрибуцията, но сега ext4 драйвера се използва за монтирането и на ext2 и ext3 дялове.
  • 1000 System accounts – преместване на границата между потребителски и системни акаунти от UID/GID 500, на UID/GID 1000
  • Gnome 3.2
  • KDE 4.7
  • Много подобрения и добавени приложения свързани със виртуализацията и облачните услуги

Екипът на Fedora прави хубав жест с решението да посвети Verne  на големият Денис Ричи.

Повече подробности могат да бъдат намерени в Release Notes, Feature List и официалният анонс.

По стара лична традиция upgrade-нах от 15-та към 16-та версия посредством yum. Въпреки че не е сред официално препоръчваните начини за update, си остава най-удобният за мен. Процедурата е следната:

Импортиране на ключа:

rpm --import https://fedoraproject.org/static/A82BA4B7.txt

Update на yum:

yum update yum

Изчистване на кеш-а:

yum clean all

И самия update:

yum --releasever=16 --disableplugin=presto distro-sync

Имаше малко проблеми със счупени зависимости, та се наложи преди това да премахна:

yum -y remove kino, libnih, libmtp-hal

След това всичко мина гладко и можеше да се насладя на добрата работа на Artwork тима.

Verne

Човек и добре да живее, се мести…

След близо шест години работа във фирмата, в която така да се каже започнах IT кариерата си, реших да напусна. Понякога човек има нужда от промяна, от рестарт, макар и да не е имало изрична причина да го правя. Напротив, разделяме се като приятели. Просто, се отвори чудесна възможност, да работя за една от двете международни фирми, чиято визия за работата ми харесва. Коя е тя?

Kannel daily svn snapshot rpm

Currently the current kannel version in epel is 1.4.3 /which according to kannel.org is the latest stable release/. However if you want to use sqlbox and smppbox, the only option is to use svn. So I decided to build my custom kannel rpm by using the source tarball from the daily svn snapshot. My kannel.spec is based on the file from the epel rpm for 1.4.3 version. The changes are minimal:

--- kannel.epel.spec    2011-10-28 16:29:01.000000000 +0300
+++ kannel.spec 2011-10-28 16:31:48.000000000 +0300
@@ -1,18 +1,18 @@
 Summary: WAP and SMS gateway
 Name: kannel
-Version: 1.4.3
-Release: 5%{?dist}
+Version: 1.5.0
+Release: 20111028%{?dist}
 License: BSD
 Group: System Environment/Daemons
 URL: http://www.kannel.org/
-Source0: http://www.kannel.org/download/%{version}/gateway-%{version}.tar.bz2
+Source0: http://www.kannel.org/download/kannel-snapshot.tar.gz
 Source1: kannel.logrotate
 Source2: kannel.init
 Source3: kannel.conf
 Source4: gw-config
 # TODO: a corresponding configure.in patch could be upstreamable?
-Patch0: gateway-1.4.3-ssldetect.patch
-Patch1: gateway-1.4.1-typesh.patch
+#Patch0: gateway-1.4.3-ssldetect.patch
+#Patch1: gateway-1.4.1-typesh.patch
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
 BuildRequires: bison, byacc, flex, ghostscript
 BuildRequires: libxml2-devel, openssl-devel, zlib-devel, pcre-devel
@@ -69,9 +69,9 @@
 
 %prep
-%setup -q -n gateway-%{version}
-%patch0 -p1 -b .ssldetect
-%patch1 -p1 -b .typesh
+%setup -q -n kannel-snapshot
+#%patch0 -p1 -b .ssldetect
+#%patch1 -p1 -b .typesh
 %{__chmod} -c -x gwlib/html-entities.def # for -debuginfo, as of 1.4.3
 
@@ -147,6 +147,7 @@
 %{_bindir}/seewbmp
 %{_bindir}/wmlsc
 %{_bindir}/wmlsdasm
+%{_bindir}/decode_emimsg
 %{_sbindir}/*
 %{_mandir}/man?/*
 %attr(0750,kannel,kannel) %dir %{_var}/log/kannel/
@@ -164,6 +165,9 @@

I assumed that the two patches applied to version 1.4.3 are not necessary, because they probably are part of the svn code.

There was a build error on the first run:

RPM build errors:
Installed (but unpackaged) file(s) found: /usr/bin/decode_emimsg

so I had to add „%{_bindir}/decode_emimsg“ in the %files section.
The spec file expect the availability of the following files in the SOURCE directory: kannel.logrotate, kannel.init, kannel.conf, gw-config

The kannel.spec file can be found here.
The command used to build the rpm is:

rpmbuild -ba kannel.spec

Another way to do the trick:
http://www.blogalex.com/archives/23

Stop ACTA