ÖNEMLi EKLEME (23.11.2022): Tarayıcılar Java desteğini bıraktıktan sonra bu yazıda bahsedilen yöntemler iptal oldu.
Bir 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:
1 2 3 4 |
$ apt-mark showhold icedtea-7-plugin icedtea-netx icedtea-netx-common |
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ç ↓
Lokman Derya Tufan
20 Aralık 2014, 11:38 (UTC 2) Bu yoruma bağlantı
Tebrik ederim. Ama Tübitak’ ın bu konulara el atması gerektiğini düşünüyorum.
Murat Özalp
20 Aralık 2014, 13:04 (UTC 2) Bu yoruma bağlantı
Memleket meseleleri bu konuda da geçerli maalesef. Çok zeki insanlar var ama idari engeller de çok.
Cemal Demir
31 Mart 2016, 08:56 (UTC 2) Bu yoruma bağlantı
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.
yeni
01 Nisan 2016, 07:31 (UTC 2) Bu yoruma bağlantı
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/
Mustafa YILMAZ
19 Ekim 2016, 16:17 (UTC 2) Bu yoruma bağlantı
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.