Android Key Verifier Nedir ve Android APK İmzasını Neden Kontrol Eder?

Kerem Aydın·7 Temmuz 2026·⏱3 dk

Kısaca: Android Key Verifier tek bir dosya değil, APK'nın dijital imzasını ve anahtarların kaynağını kontrol eden mekanizma ve sistem bileşenlerinden oluşan bir bütündür (basit sertifika karşılaştırmasından donanımsal doğrulamaya kadar). Bu, uygulama değiştirmelerini önlemek, güvenli güncellemeler sağlamak ve uygulamalar arasında yetki ayrımı yapmak için gereklidir.

"Key Verifier" Nerelerde Karşılaşılır ve Hangi Görevleri Çözer?

  • Sistem kurulum bileşeni: Kurulum sırasında PackageManager, yeni APK'nın imzasını daha önce yüklü sürümle karşılaştırır ve uyuşmayan güncellemeleri engeller.
  • Benzer isimli satıcı hizmetleri: Üreticiler, anahtar yönetimi ve doğrulama politikaları için kendi servislerini ekleyebilir.
  • Anahtar Doğrulama (Key Attestation): Özel anahtarın güvenli bir modülde (TEE/StrongBox) oluşturulup saklandığının kontrol edilmesi. Sunucu, doğrulama zincirini kontrol eder.
  • Mağaza koruması ve yerel politikalar: İmza, yayıncının kimliğini belirlemek ve izinler ile sharedUserId verilirken güven sağlamak için kullanılır.

Hızlı özet gerekirse: İmza, uygulamanın bütünlüğünü korur ve güncellemenin aynı geliştiriciden geldiğini garanti eder.

Pratikte Nasıl Çalışır? (Adımlar)

  1. Geliştirici, APK'yı özel bir anahtarla imzalar (keystore → apksigner). Modern imzalama şemalarının (v2/v3+) kullanılması önerilir.
  2. Kurulum sırasında sistem sertifikayı çıkarır ve bunu bilinenlerle (güncellemeler için) karşılaştırır veya harici bir doğrulama ister (yapılandırılmışsa).
  3. Anahtar Doğrulama (Key Attestation) kullanıldığında, cihaz anahtar hakkında meta veriler içeren bir sertifika zinciri verir; sunucu kökleri ve nitelikleri (örneğin, donanım destekli) doğrular.
  4. İmza uyuşmazlığı durumunda kurulum engellenir ve birçok sistem kontrolü paketi güvenilir olmayan olarak işaretler.

İmzayı Kontrol Etmek İçin Pratik Komutlar

  • Bilgisayarda (Android SDK):
apksigner verify --print-certs path/to/app.apk

Bu, hangi imzalama şemalarının bulunduğunu ve sertifika parmak izlerini (SHA‑256, SHA‑1) gösterir.

  • Cihazda (hızlı yöntem):
adb shell dumpsys package com.example.app | grep -i certificate

Sonuç Android sürümüne bağlıdır; güvenilir bir kontrol için APK'yı dışa aktarıp PC'de kontrol etmeniz önerilir.

Eğer sertifika parmak izi geliştirici tarafından resmi olarak yayınlananla eşleşmiyorsa, APK yüklemeyin.

Geliştiriciler İçin Önemli Olanlar

  • Sürümleri her zaman kararlı bir anahtarla imzalayın ve parmak izlerini (SHA‑256) CI/dokümantasyonda saklayın.
  • Anahtar rotasyonunu resmi mekanizmalar üzerinden planlayın ve test edin; gerçek cihazlarda güncelleme uyumluluğunu kontrol edin.
  • Anahtar Doğrulama (Key Attestation) kullanıyorsanız, sunucu tarafında zincir doğrulamasını uygulayın ve güvenilir kökleri zamanında güncelleyin.

Kullanıcılar İçin Önemli Olanlar

  • İmza, uygulama değiştirmelerine ve kötü amaçlı güncellemelere karşı koruma sağlar — sistem kontrollerini devre dışı bırakmayın.
  • "KeyVerifier" adlı sistem paketleri genellikle güvenlik için kritiktir; bunları devre dışı bırakmak uygulamaların çalışmasını bozabilir (özellikle bankacılık veya kurumsal uygulamalar).
  • Dış kaynaklardan APK indirirken, sertifika parmak izini geliştiricinin yayınladığıyla karşılaştırın.

Sık Yapılan Hatalar

  • Özel APK'ları yüklemek için imza kontrolünü "atlatmaya" çalışmak — bu, kararsızlığa ve güvenlik açıklarına yol açar.
  • Yanlış anahtar rotasyonu: Anahtar değişimine izin veren mekanizmaları dahil etmeyi unuturlar ve kullanıcılar güncelleme yapamaz.
  • Zincir doğrulaması olmadan sadece istemci taraflı doğrulamaya güvenmek — yanlış güven riski taşır.

SSS

  • Kullanıcılara anahtar parmak izini belirtmek gerekir mi?
    Tercihen evet: Kullanıcıların APK'yı karşılaştırabilmesi için SHA‑256 parmak izini resmi web sitesinde veya sürüm notlarında yayınlayın.

  • Anahtar Doğrulama (Key Attestation) atlatılabilir mi?
    Teorik olarak rootlu/kompromize edilmiş cihazlarda mümkündür, ancak donanım destekli keystore'a sahip güvenli cihazlarda bu çok daha zordur.

  • İmza nedeniyle güncelleme yüklenmiyorsa ne yapılmalı?
    Geliştiricinin anahtarını değiştirip değiştirmeyeceğini kontrol edin; geliştiriciyle iletişime geçin ve sertifika parmak izini ile anahtar rotasyon politikasını teyit edin.

Gerekirse, apksigner çıktısının analizini içeren adım adım bir kılavuz hazırlayabilir veya belirli bir APK'yı sertifika parmak izine göre kontrol etmenize yardımcı olabilirim.