Kamu SM Akis Akıllı Kart Sürücüsü Deb Modifikasyonu

Konumuz e-imza ile evrak imzalama konusunda sıkça yaşanan driver sorunu. Kamu SM tarafından dağıtılan farklı türde e-imza kitleri bulunmaktadır. Bu tür yapıları işletim sistemi bağımlılığından kurtarmak için JAVA ortamında geliştiriyorlar. Bu driverlardan birisi de AKİS. Web sayfasında farklı türde işletim sistemi desteği olsa da maalesef güncel değiller (http://www.akiskart.com.tr/tr/destek.html)

En güncel Debian versiyonu: “akis_2.0_amd64.deb”. Bu versiyon kurulum esnasında aşağıdaki bağımlılıkları istiyor (detayları aşama aşama anlatacağım merak etmeyin 🙂 ) :

libccid, pcscd ve java (oracle-java8-jre,oracle-java7-jre,openjdk-11-jre,openjdk-8-jre,openjdk-7-jre,openjdk-6-jre)

Java versiyonları eski kaldığı için bu yazılımı kurmaya çalıştığınızda java versiyon hatası alıyorsunuz. Şimdi bu deb dosyasını daha üst bir versiyonda nasıl çalıştıracağımıza bir bakalım (bendeki versiyon OpenJDK-14.0.2).

Önce kalan bağımlılıkların kurulduğundan emin olun.

sudo apt install libccid pcscd

JAVA versiyonunuzu kontrol edin yoksa güncel bir versiyonu kurun. AKİS 2.0 ile birçok problem çözülmüş görünüyor. Önceki versiyonlarda JAVAdaki bazı fonksiyonların iptal edilmiş olması üst versiyonlarda çalışma sorunu yaratıyordu. 2.0 ile bu hatalar düzeltilmiş fakat kurulum esnasındaki bağımlılık listesinin güncelleştirilmesi işi unutulmuş.

java -version

Çıktısı

openjdk version “14.0.2” 2020-07-14
OpenJDK Runtime Environment (build 14.0.2+12-Ubuntu-1)
OpenJDK 64-Bit Server VM (build 14.0.2+12-Ubuntu-1, mixed mode, sharing)

Önce http://www.akiskart.com.tr/tr/destek.html sayfasından dosyayı çekmek ile başlayalım. İndirme link (Şu an için güncel versiyon olan: http://www.akiskart.com.tr/dosyalar/akis_2.0_amd64.tar)

Tar dosyasını açalım

Arşivden çıkan bu deb dosyası java versiyon problemi aldığımız deb dosyasıdır. Hatayı görelim ve operasyona başlayalım.

Deb dosyası hiyerarşik olarak sıkıştırılmış bir dosya yapısındadır. Kendi içerisinde bağımlılıkları kontrol edebileceği bir mekanizmanın yanı sıra, kurulum öncesi ve sonrası yapılacaklarla ilgili süreçleri ( preinst, postinst, prerm, postrm scripts) de tanımlayabilmektedir.

İlk önce sıkıştırılmış bu deb dosyasını açmakla başlayalım.

dpkg-deb -R akis_2.0_amd64.deb akis

Buradaki deb dosyasının içeriğini “akis” isimli bir klasörün altına çıkarıyoruz. Klasör otomatik olarak oluşturulacak. Klasör içerisindeki yapıya baktığımızda ise DEBIAN ve usr isimli iki yeni klasör oluştuğunu görebilirsiniz. Klasör sayısı, programın dosyalarını yazılacağı lokasyonlarla farklılık gösterebilir.

DEBIAN klasörü, kurulum anındaki iş ve işlemler için kullanılıyor. Diğer klasörler ise programın kendisini yazmak istediği yollar ve içindeki yapıları tutmakta. DEBIAN klasörü altında yer alan md5sums dosyası içerisinde her bir dosyanın md5 karşılıklarını (checksum) bulabilirsiniz.

nano, gedit, vi, vim vb bir editör ile “control” dosyasını editliyoruz ve bağımlılıklara versiyonumuzu ekliyoruz. pipe işareti (“|”) veya anlamında kullanılmaktadır. Bağımlılıklar virgül ayracı ile ayrılmaktadır.

Depends: libccid, libc6, libpcsclite1, pcscd, oracle-java8-jre | oracle-java7-jre | openjdk-11-jre | openjdk-8-jre | openjdk-7-jre | openjdk-6-jre | openjdk-14-jdk

Yeniden paketliyoruz..

dpkg-deb -b akis akis_fixed.deb

Oluşturduğumuz dosyayı kuruyoruz.

sudo dpkg -i akis_fixed.deb

akia ile terminalden arayüzü çağırıyoruz.

Mutlu Son 🙂

Share