Apple Silicon (M1/M2/M3) Mac'lerde E-Devlet E-İmza Çökme Sorunu ve Kesin Çözümü

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)

softwareupdate --install-rosetta --agree-to-license

# 2. Intel (x64) mimarili Java 17'yi indirin

curl -sL https://corretto.aws/downloads/latest/amazon-corretto-17-x64-macos-jdk.pkg -o ~/Downloads/corretto-x64.pkg

# 3. ve kurun

sudo installer -pkg ~/Downloads/corretto-x64.pkg -target /

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

curl -o ~/Downloads/elektronik-imza.jar https://static.turkiye.gov.tr/downloads/e-imza/elektronik-imza.jar

# Rosetta üzerinden x64 Java ile uygulamayı başlatın

/Library/Java/JavaVirtualMachines/amazon-corretto-17.jdk/Contents/Home/bin/java -jar ~/Downloads/elektronik-imza.jar

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:

osacompile -e 'do shell script "/Library/Java/JavaVirtualMachines/amazon-corretto-17.jdk/Contents/Home/bin/java -jar ~/Downloads/elektronik-imza.jar > /dev/null 2>&1 &"' -o /Applications/E-Imza.app

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.