✍️
E-İmza Rehberi Bireysel ve Kurumsal Elektronik İmza Portalı

Chrome 118 güncellemesinden sonra E-imza uygulaması (E-imza tr) WebSocket bağlantısı kuramıyor, 'localhost:8080 erişilemedi' diyor, Edge'de sorun yok

E-İmza TR / ArkSigner masaüstü e-imza uygulamasını kullanarak web portalları üzerinden evrak imzalarken, Google Chrome tarayıcımın 118 sürümüne otomatik güncellenmesinin ardından "localhost:8080 erişilemedi" veya "Yerel imza servisiyle bağlantı kurulamadı" hatası almaya başladım. Bilgisayarımda e-imza arka plan servisi aktif olarak çalışıyor, 8080 portu açık ve aynı portali Microsoft Edge veya Mozilla Firefox ile açtığımda e-imza uygulaması hiçbir sorun olmadan WebSocket bağlantısını kurup imzalamayı tamamlıyor. Bu engelleme Chrome 118 ile getirilen yeni bir güvenlik politikasından mı kaynaklanmaktadır ve Edge'de çalışan bu yerel iletişimi Chrome üzerinde nasıl yeniden çalışır hale getirebilirim?
Durum: Çözüldü Kategori: Soru-Cevap

2 Cevap

✓

Google Chrome'un 118 sürümü ve sonrasında yerel e-imza istemcilerinin (E-İmza TR, ArkSigner, Kamu SM vb.) web portallarıyla iletişim kuramaması, W3C tarafından standartlaştırılan ve Chromium ekibi tarafından kademeli olarak katılaştırılan Private Network Access (PNA - Özel Ağ Erişimi) ve Localhost Karışık İçerik (Mixed Content) güvenlik kısıtlamalarından kaynaklanmaktadır.

1. Web Tabanlı E-İmza Mimarisi ve Teknik Sorunun Kaynağı:
Tarayıcılarda Java NPAPI eklentilerinin kaldırılmasının ardından, BTK teknik kriterlerine uygun olarak geliştirilen web tabanlı e-imza çözümleri yerel bir masaüstü arka plan servisi kurar. Bu servis işletim sisteminde yerel bir soket açarak (örneğin http://127.0.0.1:8080 veya wss://localhost:8080) dinlemede kalır ve USB token içerisindeki PKCS#11 kütüphanesiyle (akisp11.dll, eTPKCS11.dll) konuşur. Web sitesindeki JavaScript kodu bu yerel sokete WebSocket veya HTTP fetch çağrısı yaparak imza işlemlerini yürütür.

Chrome 118 güncellemesi ile birlikte şu güvenlik mekanizmaları sıkılaştırılmıştır:

  • PNA Ön Denetim (Preflight) İstekleri: Genel internet alanındaki güvenli bir web sitesi (https://kamu-portali.gov.tr), istemcinin yerel ağına (localhost / 127.0.0.1) bir istek göndermek istediğinde, Chrome artık arka planda özel bir HTTP OPTIONS ön denetim sorgusu fırlatır ve sunucudan Access-Control-Request-Private-Network: true başlığını yanıtlamasını bekler.
  • Eski sürüm yerel e-imza istemcileri bu özel PNA başlığına yanıt verecek mimariye sahip olmadığından, Chrome 118 WebSocket el sıkışmasını (handshake) başlamadan 'Network Error / Connection Blocked' diyerek iptal eder.
  • Microsoft Edge'de Neden Sorunsuz Çalışıyor? Edge tarayıcısı Chromium çekirdeğini kullansa da, Microsoft kurumsal uyumluluk ilkeleri gereği yerel döngü (loopback) ve PNA kısıtlamalarını Chrome kadar agresif devreye almamakta; Windows Schannel sertifika havuzunu daha esnek değerlendirmektedir.

2. Kalıcı ve Güvenli Çözüm Adımları:

  1. E-İmza Masaüstü Uygulamasını Güncelleyin (Kesin Çözüm):
    E-İmza TR veya ArkSigner sağlayıcınızın resmi web sitesine giderek Chrome 118+ ve PNA uyumlu en güncel sürümü (genellikle v2.3+ veya v3.x) indirip kurun. Güncel sürümler yerel HTTP sunucusunda Access-Control-Allow-Private-Network: true ve Access-Control-Allow-Origin: * başlıklarını doğru biçimde döndürmektedir.
  2. Chrome Bayraklarını (Flags) Geçici Olarak Yapılandırın:
    Yazılım güncellemesini hemen yapamıyorsanız acil imzalarınız için Chrome adres çubuğuna şunları yazarak ayarları değiştirin:
    • chrome://flags/#private-network-access-respect-preflight-results-short-circuit → Disabled yapın.
    • chrome://flags/#allow-insecure-localhost → Enabled yapın.
    • Tarayıcının sağ altındaki 'Relaunch' butonuna basarak Chrome'u yeniden başlatın.
  3. Yerel SSL Kök Sertifikasını Kontrol Edin:
    Eğer imza aracı wss://localhost:8080 üzerinden şifreli WebSocket kullanıyorsa, aracın oluşturduğu yerel geliştirici kök sertifikası Chrome tarafından geçersiz sayılmış olabilir. Klavyeden Win + R tuşlarına basıp certmgr.msc yazın. Güvenilen Kök Sertifika Yetkilileri > Sertifikalar altında e-imza sağlayıcınızın yerel kök sertifikasının bulunup bulunmadığını ve süresini doğrulayın.
  4. Port Dinleme Durumunu Teyit Edin:
    PowerShell konsolunu açıp netstat -ano | findstr :8080 komutunu verin. Servisin LISTENING modunda olduğundan emin olun. Başka bir uygulama (örneğin Tomcat, Apache veya proxy yazılımları) 8080 portunu ele geçirmişse servis çakışmasını giderin.

5070 Sayılı Elektronik İmza Kanunu ve BTK teknik kriterleri kapsamında, tarayıcı bağımsız e-imza mimarilerinin güvenliği yerel PKCS#11 katmanı ile tarayıcı arasındaki TLS bütünlüğüne emanettir. Yukarıdaki adımlar güvenlik zafiyeti yaratmaksızın Chrome üzerindeki imzalama kanalınızı yeniden etkinleştirecektir.

Yanıtlayan
Kıdemli Ağ ve Sistem Güvenliği Uzmanı R.

Kurumsal şirket ağlarında yüzlerce bilgisayarda bu sorun Chrome 118 dağıtımı sonrası aniden patlak verdiğinde her makinede bayrak (flag) değiştirmek sürdürülebilir değildir. Bunun yerine Active Directory Group Policy (GPO) veya yerel kayıt defteri üzerinden merkezi politika uygulanabilir.

Kayıt Defteri Düzenleyicisi'nde (regedit) HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome anahtarı altına giderek InsecurePrivateNetworkRequestsAllowedForUrls adında bir String Array (REG_MULTI_SZ) oluşturup değer olarak kurumunuzun imza attığı portalları (örneğin https://*.turkiye.gov.tr, https://*.gib.gov.tr) ekleyebilirsiniz. Bu sayede Chrome genel güvenliği bozmadan yalnızca yetkili web portalları için yerel 8080 erişimine izin verir.

Yanıtlayan
Sistem Yöneticisi D.