Apple Silicon (M1/M2/M3) Mac'lerde E-Devlet E-İmza Çökme Sorunu ve Kesin Çözümü
Apple Silicon (ARM64) işlemcili bir Mac kullanıyorsanız, E-Devlet e-imza (.jnlp) uygulamasını açmaya çalıştığınızda uygulamanın aniden kapanması (SIGABRT / AWT-EventQueue hatası) kaçınılmazdır.
Kök Neden: TÜBİTAK ve e-imza sağlayıcıları tarafından donanımı okumak için kullanılan yerel akıllı kart (AKİS) sürücüleri (libakis.dylib vb.) yalnızca Intel (x86_64) mimarisi için derlenmiştir. ARM tabanlı native bir Java sürümü bu C/C++ kütüphanelerini JNI üzerinden çağırdığı an, donanım mimarisi uyuşmazlığından dolayı uygulama patlar.
Çözüm: Süreci OpenWebStart gibi aracı arayüzlerden arındırmak ve e-imzanın çekirdek .jar paketini Rosetta 2 üzerinden çalışan saf bir Intel (x64) Java ile doğrudan başlatmak.
1. Ortamın Hazırlanması
Terminali açın ve Intel komut setini simüle edecek Rosetta 2 ile birlikte Intel mimarili Java 17'yi (Amazon Corretto) kurun:
# 1. Rosetta 2 kurulumu (sistemde kuruluysa hata vermeden geçer)
# 2. Intel (x64) mimarili Java 17'yi indirin
# 3. ve kurun
2. Uygulamanın Çalıştırılması
JNLP dosyalarıyla uğraşmadan, uygulamanın asıl paketini indirip doğrudan kurduğumuz Intel Java'nın tam yoluyla tetikleyin:
# E-Devlet E-İmza JAR paketini indirin
# Rosetta üzerinden x64 Java ile uygulamayı başlatın
Uygulama grafik arayüzü çökmeden açılacak ve USB e-imza token donanımınızı sorunsuz okuyacaktır.
3. Tek Tıkla Çalışan Mac Uygulamasına Dönüştürme (Otomasyon)
Her defasında terminale komut girmemek için bu yapıyı standart bir .app dosyasına dönüştürebilirsiniz. Terminalde şu kodu çalıştırın:
Bu komut "Uygulamalar" klasörünüze E-Imza.app adında yerel bir uygulama oluşturur. Artık doğrudan Spotlight (Cmd + Space) veya Raycast üzerinden aratıp tek tıkla kullanabilirsiniz.