Mac M1/M2/M3 İçin PTT KEP E-İmza "Akıllı Kart" ve "Status Code: 1" Hatası Kesin Çözümü

Mac M1/M2/M3 İçin PTT KEP E-İmza "Akıllı Kart" ve "Status Code: 1" Hatası Kesin Çözümü

Apple Silicon (ARM64) mimarili bir Mac kullanıyorsanız, PTT KEP e-imza sürecinde sizi bekleyen üç büyük teknik bariyer vardır:

  1. TÜBİTAK AKİS sürücülerinin yalnızca Intel (x86_64) desteklemesi.
  2. Java 17'nin sıkılaştırılmış güvenlik duvarlarının, uygulamanın çekirdek şifreleme modüllerine erişimini engellemesi (IllegalAccessError).
  3. PTT'nin farklı işlemler için farklı KEP ortamları (domain) kullanması ve arayüzler arası geçişte uygulamanın Status Code: 1 hatasıyla işlemi reddetmesi.

Bu rehberde aracıları devreden çıkarıyor, donanımı ve Java'yı manuel olarak birbirine bağlıyor ve ortam uyuşmazlığı sorununu kökten çözüyoruz.

1. Intel Mimarisini Simüle Etmek

ARM engelini aşmak için Rosetta 2'yi ve Intel (x64) mimarili Java 17'yi (Amazon Corretto) kuruyoruz. Terminali açıp sırasıyla çalıştırın:

# Rosetta 2 kurulumu

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

# Intel (x64) Java 17 kurulumu

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

(Not: Sisteminizde KamuSM üzerinden Mac için indirilmiş AKİS Yönetici sürücüsünün kurulu olduğundan emin olun).

2. "Akıllı Kart Bulunamadı" Hatasının Çözümü (Symlink)

PTT uygulaması, macOS'te kütüphane ararken uzantısız ve yanlış bir dosya ismi (akisp11) arar. Kurduğumuz AKİS sürücüsünü Java'nın aradığı dizinlere bir kısayol (symlink) olarak ekleyip bu kör noktayı aşıyoruz:

sudo ln -sf /usr/local/lib/libakisp11.dylib /Library/Java/JavaVirtualMachines/amazon-corretto-17.jdk/Contents/Home/lib/akisp11


sudo ln -sf /usr/local/lib/libakisp11.dylib /Library/Java/JavaVirtualMachines/amazon-corretto-17.jdk/Contents/Home/bin/akisp11


3. Uygulamayı İndirme ve Domain (Ortam) Seçimi

PTT KEP'te başvuru yapmak ile mevcut KEP adresinden posta göndermek farklı sunucularda çalışır. Web KEP arayüzünden (ptt.hs01.kep.tr) imzalama yaparken, eski başvuru ortamının yapılandırmasını kullanırsanız uygulama işlem kodunuzu tanımaz ve Status Code: 1 hatası verir.


Doğru ve güncel Web KEP JAR paketini indiriyoruz:

curl -o ~/Downloads/pttkep-web-elektronik-imza.jar https://ptt.hs01.kep.tr/download/elektronik-imza.jar

4. Güvenlik Bariyerlerini Aşarak Çalıştırma (Nihai Komut)

İmzalama (şifreleme) sırasındaki IllegalAccessError hatalarını aşmak için kriptografi kilitlerini kıran bayrakları ve doğru ortam parametresini (jnlp.config) ekleyerek uygulamayı başlatıyoruz.

Aşağıdaki komutu tek parça halinde kopyalayıp Terminal'de çalıştırın:

/Library/Java/JavaVirtualMachines/amazon-corretto-17.jdk/Contents/Home/bin/java \
--add-exports jdk.crypto.cryptoki/sun.security.pkcs11.wrapper=ALL-UNNAMED \
--add-exports java.base/sun.security.util=ALL-UNNAMED \
-Dsun.security.smartcardio.library=/System/Library/Frameworks/PCSC.framework/Versions/Current/PCSC \
-Djnlp.config=https://ptt.hs01.kep.tr/download/config.properties \
-jar ~/Downloads/pttkep-web-elektronik-imza.jar

Bu komutla arayüz sorunsuz açılacak, USB donanımınızı tanıyacak ve KEP portalından kopyaladığınız İşlem Kodunu yapıştırdığınızda süreci (Status Code hatası vermeden) başarıyla tamamlayacaktır.