«

»

Ara 19 2014

64 Bit Ubuntu Linux ile e-imza çalıştırma

usb-imzaBir süredir fırsat buldukça uğraştığım iş nihayet mutlu sonla tamamlandı. farklı bir bilgisayarda 32 bit Linux’ta doğrudan çalışan e-imza cihazını; 64 bit Ubuntu (aslında Kubuntu) yüklü olan bilgisayarımda bir türlü çalıştıramamıştım. Bugün itibarıyla çalıştı. Detaylar aşağıda:

Bu yazıda bahsedilen sistemler aşağıda kısaca verilmiştir:

  • Kart okuyucu: ACS 38T USB – Beyaz
  • Kart: AKİS Akıllı kart
  • Kart okuyucu sürücüsü: Ubuntu doğrudan tanıyor.
  • Kart sürücüsü: KamuSM sitesinden indirebileceğiniz, sürücü. Ben Ubuntu 12.04 için (başka sürümü yoktu) .deb biçiminde sunulan 64-bitlik 1.6 sürümünü kullandım. Yazının yazıldığı tarih itibarıyla indirme adresi şöyle idi: http://www.akiskart.com.tr/dosyalar/akis_1.6_amd64.deb
  • İşletim sistemi: Kubuntu 14.10 64 bit
  • Java sürümü: openjdk-7
  • Firefox java eklentisi: icedtea-plugin

Kurulum

AKİS (Akıllı İşletim Sistemi) sürücüsünü indirip kurmaya kalktığınızda, bağımlılık kontrolü yapıyor ve sistemde eksik paket varsa kurulması gerektiğini belirtiyor. Mevcut akis’in desteklediği java sürümü openjdk-6 ve openjdk-7 sadece. Güncel sürüm olan 8 ile malesef kurulmadı. Bağımlıklıkları ve akis’i öncelikle kurmalısınız. Burada sorun çıkmıyor zaten.

Akis kurulduktan sonra, çalışıp çalışmadığını  akia  komutu ile test edebilirsiniz. Bir java penceresi açacak ve kart okuyucu cihazını falan gösterecektir. Bu uygulama üzerinden PIN numaranızı girerek, kart içeriğindeki bilgileri görebilir veya PIN numaranızı değiştirebilirsiniz.

Buraya kadar sorun yaşarsanız, önce kart okuyucunun doğru tanınıp tanınmadığını kontrol edebilirsiniz. Bunu yapmak için önce  tail -f /var/log/syslog  komutunu yazıp sonra USB cihazı bilgisayara bağlarsanız, akan mesajlardan USB donanımın durumu ile ilgili bilgi alabilirsiniz. USB cihazda sorun yoksa, yazılımsal gereksinimleri güzden geçirin. Bağımlılık paketleri sistemde yüklü bile olsa, bozulmuş olabilir. Kaldırıp yeniden kurmak işe yarayabilir.

Tarayıcı Üzerinden E-imza Kullanımı

E-imza cihazımızı EBYS (ya da diğer web tabanlı sistemler) ile kullanabilmek için, tarayıcı üzerinde çalıştıramak zorundayız. Java’nın her bişeyden nem kapması sonucunda Java tabanlı uygulamalardan nefret eder hale geldim. Uygulamanın istediği spesific Java sürümünü sağlamazsanız kıllık yapıyor. Her uygulama da farklı Java sürümlerini isteyebiliyor. Birden fazla Java sürümünü birbirine değdirmeden çalıştırabilmek için biraz cambazlık yapmak gerekiyor.

Neyse efendim, konuya döneyim. Ubuntu depolarında hazır gelen Chromium web tarayıcısı ile Java kullanılamıyor(1). Chromium web tarayıcısı, Google’ın Chrome web tarayıcısı aslında. Açık kaynak kodlu olduğu için, aynı tarayıcı, bir çok farklı isimde piyasada görülebiliyor. Javanın kendisi Mozilla Firefox’a yönlendiriyor. Linux’ta Java destekleyen tarayıcı olarak tek alternatif, Firefox.

Firefox’ta Java kullanabilmek için, Java eklentisinin kurulması lazım. Malesef –Java’nın doğru dürüst destek vermemesi yüzünden– Linux’ta bu da kolay değil. Sağolsun birileri Ubuntu deposuna ilgili eklentiyi koymuş.  icedtea-plugin  isimli paketin görevi, Firefox içerisinde Java çalıştırılmasını sağlamak. Çok güzel ancak sorun da tam burada çıkıyor. Aşağıda çözümü var.

Ubuntu Deposundaki Hatalı icedtea Paketi ve Çözümü

Malesef bir bug(2) nedeniyle uzun süredir boşuna uğraşmışım.  apt-get  ile depodan bu paketi kurmaya kalktığımızda, paketin bağımlılığı olan  icedtea-netx  paketini kurmaya çalışırken hata veriyor. Hangi Java sürümüyle, hangi yapılandırma ile denersem deniyeyim, kuramadım paketi. Sonra 1.5.1 sürümünde bug olduğunu okudum. Çözümü ise ilgili paketleri depodan değil, sağlam sürümü (1.5) indirip elle kurmak.

Bug altında çözümü veren mesaj: https://bugs.launchpad.net/ubuntu/+source/icedtea-web/+bug/1385478/comments/6

Üstte adresini verdiğim çözüm mesajında belirtilen 3 tane dosyayı indirip, dpkg ile kurmak gerekiyor özetle. Tabii önceden depodan kurduklarınız varsa, işe önce bunları temizlemekle başlamak gerekiyor.

İlgili paketler başarılı ile kuruldu ise Firefox’u açıp adres satırına  about:plugins  yazarak icedtea eklentisi hakkında bilgileri görebiliyor olmanız lazım. Burada da sorun yoksa; denemek için kamusm üzerinde ya da turkiye.gov.tr sitesine e-imza ile giriş yapabilirsiniz.

Paketlerin Depodan Güncellenmesini Engelleme

Eski sürümü kurduğumuz için, her sistem güncellemesinde bu paketleri yükseltmek isteyecektir. Bu da yine java eklentisinin çalışmaz hale gelmesine sebep olacaktır. Ubuntu’da herhangi bir paketin otomatik güncellenmesini engellemek için,   apt-mark hold <paket_ismi>  komutu kullanabilir.

Bir paketin yeniden otomatik güncellenmesini aktif etmek için  apt-mark unhold <paket_ismi> komutu kullanılabilir.

apt-mark showhold komutu  ile güncellenmemek üzere işaretlenmiş paketleri görebilirsiniz. Örnek:

 

Kaynaklar:

(1): https://java.com/tr/download/faq/chrome.xml

Chrome sürümü 35’ten itibaren NPAPI (Netscape Eklentisi API) desteği Linux platformundan kaldırıldı. Daha fazla bilgi için bkz. Chrome ve NPAPI (blog.chromium.org). Linux üzerinde Java için önerilen tarayıcı Firefox’tur.

(2) https://bugs.launchpad.net/ubuntu/+source/icedtea-web/+bug/1385478

Yorumu formunu geç

  1. Lokman Derya Tufan

    Tebrik ederim. Ama Tübitak’ ın bu konulara el atması gerektiğini düşünüyorum.

    1. Murat Özalp

      Memleket meseleleri bu konuda da geçerli maalesef. Çok zeki insanlar var ama idari engeller de çok.

  2. Cemal Demir

    Serik Belediyesi Bilgi işlem Olarak Kendi Geliştirdiğimiz EBYS yazılımını Bu E imza Sürücüleri Yüzünden Sadece Windows ta kullanabiliyoruz. E imza gerektirmeyen Bütün PCLeri e belediye yazılımını PARDUS çalıştırabilirsem 200 Pardus’e Geçirecem. Ubuntuda Test Ettim Sonuç Başarılı. Ama E imza için halen windowsa bazı pclerde mahkumuz.

  3. yeni

    Ubuntu 14.04 ve üzeri çözümler için firefox’ta about:plugins kısmından icedtea’nin hangi java sürümünü kullandığına bakıp ilgili kütüphaneye libpkcs11wrapper.so dosyasını kopyaladıktan sonra chmod ile iznini 644 yapmak gerekiyor. Ancak bu adımdan sonra turkiye.gov.tr adresine giriş yapılabilir. /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/

  4. Mustafa YILMAZ

    Merhaba Murat bey, ben test Linux makinamda (Linux Mint 17.9) sudo -S apt-get –assume-yes install pcscd libpcsclite1 openjdk-7-jre* icedtea-plugin libccid pcsc-tools komu satırı ile çözdüm sanırım. Denemek gerek.

Bir Cevap Yazın

Bad Behavior has blocked 49 access attempts in the last 7 days.