Wine 5.17 için ACR39U ICC Akıllı kart okuyucu desteği hakkında

Sağlık Bakanlığında pardus göçü kapsamında EBYS, ÇKYS gibi yazılımların pardus üzerinde çalıştırılması üzerine bizim kurumda da tarafımca test işlemleri gerçekleştirilmektedir. EBYS yazılımının linux sürümü olmadığı için ve EBYS’nin web uygulamasının çoğu kullanıcıda sarı sayfaya düşmesinden dolayı yani hata vermesinden dolayı EBYS’nin windows uygulamasını pardus üzerinde çalıştırmak elzem hale gelmiştir. Pardus üzerine wine 5.17 kurarak ve birtakım ayarlamalar yaparak EBYS’nin windows sürümünü pardusta wine 5.17 üzerinde başarılı ve tam kapasite çalıştırdım ancak bu uygulamada e-imza kullanmak şu an için mümkün değil.

Wine ortamı donanımlara doğrudan ulaşamıyor ve windows sürücülerini desteklemiyor. Haliyle wine üzerinde çalışan EBYS e-imza modülünü göremiyor.

pardus’ta e-imza modülüni çalıştırıp firefox üzerinden imzalama yapabiliyorum ya da jar formatında java sürümü bulunan kamu uygulamalarında (e-devlet uygulaması gibi) e-imza kullanabiliyorum ama wine ortamına e-imza modülünü bir türlü tanıtamadım. haliyle şu ana kadar yapageldiğim tüm denemelerin bir anlamı kalmayacak. e-imza olmadan EBYS uygulamasını kullanmanın bir önemi olmayacak.

kullandığım kart okuyucu ile ilgili windows ortamından ekran alıntıları:

01
02
03

pardus ortamında uçbirimde pscs_scan çıktısı:

Using reader plug'n play mechanism
Scanning present readers...
0: ACS ACR39U ICC Reader 00 00
 
Tue Sep 22 15:12:49 2020
 Reader 0: ACS ACR39U ICC Reader 00 00
  Event number: 0
  Card state: Card inserted, 
  ATR: 3B 9F 96 81 31 FE 45 80 67 55 45 4B 41 45 12 93 31 80 73 B3 A1 80 6B

ATR: 3B 9F 96 81 31 FE 45 80 67 55 45 4B 41 45 12 93 31 80 73 B3 A1 80 6B
+ TS = 3B --> Direct Convention
+ T0 = 9F, Y(1): 1001, K: 15 (historical bytes)
  TA(1) = 96 --> Fi=512, Di=32, 16 cycles/ETU
    250000 bits/s at 4 MHz, fMax for Fi = 5 MHz => 312500 bits/s
  TD(1) = 81 --> Y(i+1) = 1000, Protocol T = 1 
-----
  TD(2) = 31 --> Y(i+1) = 0011, Protocol T = 1 
-----
  TA(3) = FE --> IFSC: 254
  TB(3) = 45 --> Block Waiting Integer: 4 - Character Waiting Integer: 5
+ Historical bytes: 80 67 55 45 4B 41 45 12 93 31 80 73 B3 A1 80
  Category indicator byte: 80 (compact TLV data object)
    Tag: 6, len: 7 (pre-issuing data)
      Data: 55 45 4B 41 45 12 93
    Tag: 3, len: 1 (card service data byte)
      Card service data byte: 80
        - Application selection: by full DF name
        - EF.DIR and EF.ATR access services: by GET RECORD(s) command
        - Card with MF
    Tag: 7, len: 3 (card capabilities)
      Selection methods: B3
        - DF selection by full DF name
        - DF selection by path
        - DF selection by file identifier
        - Record number supported
        - Record identifier supported
      Data coding byte: A1
        - EF of TLV structure supported
        - Behaviour of write functions: proprietary
        - Value 'FF' for the first byte of BER-TLV tag fields: invalid
        - Data unit in quartets: 2
      Command chaining, length fields and logical channels: 80
        - Command chaining
        - Logical channel number assignment: No logical channel
        - Maximum number of logical channels: 1
+ TCK = 6B (correct checksum)

Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
3B 9F 96 81 31 FE 45 80 67 55 45 4B 41 45 12 93 31 80 73 B3 A1 80 6B
	AKiS v1.3 on infineon chip
 |   

donanımın pardustaki yolu: /dev/bus/usb/001/003
Pardus üzerinde uçbirimde devadm info -a -p $(udevadm info -q path -n /dev/bus/usb/001/003) çıktısı:

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '//devices/pci0000:00/0000:00:14.0/usb1/1-3':
    KERNEL=="1-3"
    SUBSYSTEM=="usb"
    DRIVER=="usb"
    ATTR{maxchild}=="0"
    ATTR{version}==" 2.00"
    ATTR{manufacturer}=="ACS"
    ATTR{authorized}=="1"
    ATTR{bNumInterfaces}==" 1"
    ATTR{bNumConfigurations}=="1"
    ATTR{avoid_reset_quirk}=="0"
    ATTR{quirks}=="0x0"
    ATTR{urbnum}=="52"
    ATTR{bmAttributes}=="80"
    ATTR{bDeviceClass}=="00"
    ATTR{product}=="ACR39U ICC Reader"
    ATTR{idProduct}=="b100"
    ATTR{ltm_capable}=="no"
    ATTR{bDeviceProtocol}=="00"
    ATTR{speed}=="12"
    ATTR{idVendor}=="072f"
    ATTR{bMaxPacketSize0}=="16"
    ATTR{devpath}=="3"
    ATTR{bDeviceSubClass}=="00"
    ATTR{bMaxPower}=="120mA"
    ATTR{rx_lanes}=="1"
    ATTR{configuration}=="CCID"
    ATTR{busnum}=="1"
    ATTR{removable}=="removable"
    ATTR{devnum}=="3"
    ATTR{bConfigurationValue}=="1"
    ATTR{tx_lanes}=="1"
    ATTR{bcdDevice}=="0216"

  looking at parent device '//devices/pci0000:00/0000:00:14.0/usb1':
    KERNELS=="usb1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{devnum}=="1"
    ATTRS{bcdDevice}=="0419"
    ATTRS{interface_authorized_default}=="1"
    ATTRS{serial}=="0000:00:14.0"
    ATTRS{idProduct}=="0002"
    ATTRS{tx_lanes}=="1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{devpath}=="0"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{speed}=="480"
    ATTRS{rx_lanes}=="1"
    ATTRS{configuration}==""
    ATTRS{manufacturer}=="Linux 4.19.0-10-amd64 xhci-hcd"
    ATTRS{authorized}=="1"
    ATTRS{authorized_default}=="1"
    ATTRS{bmAttributes}=="e0"
    ATTRS{maxchild}=="16"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{removable}=="unknown"
    ATTRS{bDeviceProtocol}=="01"
    ATTRS{idVendor}=="1d6b"
    ATTRS{quirks}=="0x0"
    ATTRS{product}=="xHCI Host Controller"
    ATTRS{bMaxPower}=="0mA"
    ATTRS{urbnum}=="293"
    ATTRS{version}==" 2.00"
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{busnum}=="1"
    ATTRS{ltm_capable}=="no"
    ATTRS{avoid_reset_quirk}=="0"

  looking at parent device '//devices/pci0000:00/0000:00:14.0':
    KERNELS=="0000:00:14.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="xhci_hcd"
    ATTRS{local_cpulist}=="0-7"
    ATTRS{revision}=="0x31"
    ATTRS{ari_enabled}=="0"
    ATTRS{subsystem_device}=="0x8058"
    ATTRS{class}=="0x0c0330"
    ATTRS{numa_node}=="-1"
    ATTRS{subsystem_vendor}=="0x103c"
    ATTRS{broken_parity_status}=="0"
    ATTRS{local_cpus}=="ff"
    ATTRS{vendor}=="0x8086"
    ATTRS{irq}=="125"
    ATTRS{device}=="0xa12f"
    ATTRS{dma_mask_bits}=="64"
    ATTRS{driver_override}=="(null)"
    ATTRS{msi_bus}=="1"
    ATTRS{consistent_dma_mask_bits}=="64"
    ATTRS{enable}=="1"
    ATTRS{d3cold_allowed}=="1"

  looking at parent device '//devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""

wineprefix içerisine donanım yolunun sembolik linkini ln -s koduyla ekledim ayrıca wine ortamında regeditte de port ayarlarını yaptım ama yine başarılı olamadım.

konunun uzmanı olan arkadaşlardan destek talep ediyorum.

saygılar

1 Beğeni

Pardus Bilgi Bankasındaki Sağlık Bakanlığı Uygulamaları linkini inceleyebilirsiniz.

1 Beğeni

siz yazdıklarımı tam okumadınız galiba cüneyt bey. ben bu adımları zaten yapmıştım. pardus’ta e-imza modülüni çalıştırıp firefox üzerinden imzalama yapabiliyorum ya da jar formatında java sürümü bulunan kamu uygulamalarında (e-devlet uygulaması gibi) e-imza kullanabiliyorum diye zaten belirtmişim. kamusm sistemine e-imza ile giriş, e-devlete e-imza ile giriş, online e-imzalama gibi şeylerde sorun yaşamıyorum. EBYS’nin web uygulamasına girişte hata sayfasına düşüyor. bu hata sayfası benim ayarlarımın eksik olduğu anlamına gelmiyor. bahsettiğim hata sayfası web erişim yetkisidir ve çoğu kullanıcıya bu yetki verilmediği için web uygulamasına girişte hata sayfasına düşüyor.

Bu durumda mecburen EBYS’nin windows uygulamasını pardus’ta çalıştırmamız gerekmektedir.

ben zaten bahsettiğiniz adımları daha önce uygulamıştım. yine de cevabınız için teşekkürler ama sorunum için halen yardım bekliyorum

hata sayfası:

Bu hata sayfası yetki eksikliği de değil. Bu hata sayfası, siteyi yapanların bazı sayfaların görüntülenme biçimlerini ve tasarımlarını düzgün yapmadığı anlamına geliyor. Sayfanın derlenmesinde hata var. Sorun yetkiyle ilgili olsaydı daha farklı hata mesajları görünürdü ama bu görünmezdi. Ancak maalesef bu hatayı, siteyi üretenler dışında kimse düzeltemez.

Üzgünüm, diğer kısımlarda yardımcı olamıyorum.

Cevabınız için teşekkürler Yusuf bey ama bazı kişiler bu hatayı almadan sisteme giriş yapabiliyorlar. Bazı kullanıcıların bu hatayı alıp bazılarının almamasını web erşim yetkisi eksikliği olarak yorumladık. google chrome ve firefox üzerinde, windows ve pardus üzerinde de aynı hatayı aldım.

bu durumda windows uygulamasını wine yardımıyla çalıştırmak durumundayız. şu an başka yol yok maalesef

1 Beğeni

Uçbirimde WINARCH=win32 WINEPREFIX=$HOME/.PlayOnLinux/wineprefix/ebys32 wine javaw -jar ‘C:\Program Files\AKIS\AKiA\akia.jar’ komutunun çıktısı:

002c:fixme:winediag:LdrInitializeThunk wine-staging 5.17 is a testing version containing experimental patches.
002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
003c:err:service:process_send_command service protocol error - failed to write pipe!
003c:fixme:service:scmdatabase_autostart_services Auto-start service L"AdobeARMservice" failed to start: 1053
002c:fixme:ntdll:EtwRegisterTraceGuidsA (3D9A3737, 3D9E2CF0, {0cfe0455-93ba-440d-a3fe-553973d0b723}, 1, 0066E994, (null), (null), 3D9E2CF8): stub
002c:fixme:ntdll:EtwRegisterTraceGuidsA (3D9A3737, 3D9E2D10, {797fabac-7b58-4796-b924-d51178a59ce4}, 1, 0066E994, (null), (null), 3D9E2D18): stub
002c:fixme:ntdll:EtwEventRegister ({43d1a55c-76d6-4f7e-995c-64c711e5cafe}, 3D9CDFA8, 00000000, 3D9E2500) stub.
002c:fixme:ntdll:EtwEventRegister ({9e3b3947-ca5d-4614-91a2-7b624e0e7244}, 3D9A3BD9, 3D9E4348, 3D9E4278) stub.
002c:fixme:ntdll:EtwEventEnabled (deadbeef, 3D945920): stub
002c:fixme:ntdll:EtwEventEnabled (deadbeef, 3D951D88): stub
002c:fixme:ntdll:EtwEventUnregister (deadbeef) stub.
0024:fixme:heap:RtlSetHeapInformation 00000000 1 00000000 0 stub
00f0:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
00f0:fixme:font:freetype_SelectFont Untranslated charset 255
00f0:fixme:dwmapi:DwmIsCompositionEnabled 00CBED20
initPkcs11
00f0:fixme:winscard:SCardEstablishContext (0,00000000,00000000,00CBF708) stub
00f0:fixme:winscard:SCardReleaseContext (0) stub
Module name: C:\windows\system32\akisp11.dll
refresh *************
011c:fixme:imm:ImmGetOpenStatus (0099C968): semi-stub
0128:fixme:winscard:SCardEstablishContext (0,00000000,00000000,1576EED4) stub
0128:fixme:winscard:SCardEstablishContext (0,00000000,00000000,1576EEE4) stub
refresh *************
refresh *************
011c:fixme:imm:ImmReleaseContext (0002006A, 0099C968): stub
refresh *************
refresh *************
refresh *************
refresh *************
refresh *************
refresh *************

Benzer sorun bizde de yaşanıyordu. https://yazilimdestek.saglik.gov.tr/ adresine bildirim yaptık sonrasında sorunumuz düzeldi. Bu internet adresinden yada 0312 248 51 51 numaralı hattan iletişime geçerseniz size bu konuda yardımcı olacaklardır. Ayrıca e-imza ile giriş yetkisi yoksa e-imza il sorumlusuna söylerseniz kullanıcı grup seçeneklerinde kullanıcı adı şifre + eimza ile girişi aktif edebilir.

1 Beğeni

Sorunu Mounir IDRASSI Bey’in yardımıyla çözdüm. Bana sorunumu çözmemde yardım eden Mounir IDRASSI beye teşekkür ediyorum. Mounir IDRASSİ Bey’in yıllar önce hazırladığı S4Card4Wine isimli patch yazılımını wine üzerinde uyguladım ve mutlu son.

Artık Pardus üzerinde EBYS’nin Masaüstü yazılımını kullanabiliyor ve imza atabiliyorum.

Biz de faydalanabilir miyiz bu patchden?

1 Beğeni

Gerekli ayarları yaptıktan sonra kurumumda hizmete sunup ardından yayınlamayı düşünüyorum. ilk önce bizim kurumda deneyeceğiz sonra gerekli ayarları yapıp yayınlamayı düşünüyorum

2 Beğeni

Bu konu son cevaptan 8 gün sonra otomatik olarak kapatıldı. Yeni cevap girilmesine izin verilmiyor.