Android Uygulama İmzalama ve İmza Doğrulama


Uygulama İmzalama

Uygulama İmzalama, bir APK (Android Paketi)'nin, uygulamanın geliştiricisini benzersiz bir şekilde tanımlayan özel bir anahtar ile imzalandığı süreçtir. Bu süreç, uygulamanın, imzalandıktan sonra üzerinde oynama yapılmadan ilan edilen geliştiriciden geldiğini garanti eder. İşte ayrıntılı bir döküm:

Bir Anahtar Deposu Oluşturma

  • Geliştiriciler, bir anahtar deposu oluştururlar, kriptografik anahtarları içeren ikili bir dosya. Bu anahtar deposu, APK'yi imzalamak için kullanılan özel bir anahtarı içerir.
  • Anahtar deposu, yetkisiz erişimi önlemek için güvenli bir parola ile korunur.

APK'yi İmzalama

  • Derleme işlemi sırasında veya sonrasında, APK anahtar deposunda depolanan özel anahtar kullanılarak imzalanır.
  • Bu işlem, benzersiz bir APK içeriği özeti oluşturan bir karma işlevi tarafından bir dijital imza üretir.
  • Özet, geliştiricinin özel anahtarıyla şifrelenir ve sonuç APK içinde saklanır.

Sertifika Dahil Etme

  • APK, imzalama için kullanılan özel anahtara karşılık gelen ortak anahtarı içeren bir sertifikayı içerir.
  • Bu sertifika, yükleme sürecinde dijital imzanın doğrulanması için kullanılır.

Uygulama İmzalamanın Önemi Nedir?

  • Otantikliğini Sağlar: Uygulamanın geliştiricisinin kimliğini doğrular.
  • Bütünlüğünü Korur: Uygulamanın imzalandıktan beri üzerinde oynama yapılmadığını garanti eder.
  • Güvenli Güncellemeleri Destekler: Güncellemelerin orijinal geliştiriciden geldiğini garanti eder, çünkü güncellemeler aynı anahtarla imzalanmalıdır.

İmza Doğrulama

İmza Doğrulama, Android işletim sisteminin APK'nin bütünlüğünü ve otantikliğini yüklemeden önce dijital imzasını kontrol ettiği süreçtir. İşte bir Reddit gönderisi: Bir APK'nin imzasını / otantikliğini nasıl kolayca doğrulayabilirsiniz? ve tekrar buraya gelerek nasıl doğrulama çalıştığını okuyun:

Sertifikanın Çıkarılması

Bir APK indirildiğinde ve yükleme başlatıldığında, cihaz APK'den çıkarılan sertifikayı taşır.

İmzanın Şifresini Çözmek

  • Cihaz, APK'ye gömülü olan dijital imzanın şifresini çözmek için sertifikadan çıkarılan ortak anahtarı kullanır.
  • Şifre çözme, imzalama işlemi sırasında üretilen orijinal karma (özet) çıkarır.

Karma Oluşturma

Bağımsız olarak, cihaz, APK'nin içeriğinin kendi karmasını oluşturur. Bu, imzalama işlemi sırasında kullanılan aynı karma işlevi kullanılarak yapılır.

Karmaların Karşılaştırılması

  • Cihaz, bağımsız olarak üretilen karma ile dijital imzadan çözülmüş karmayı karşılaştırır.
  • Eşleşme: Karmalar eşleşirse, APK otantik ve üzerinde oynama yapılmamış olarak doğrulanır ve yükleme devam edebilir.
  • Eşleşmeme: Karmalar eşleşmezse, APK'nin imzalandıktan beri değiştirildiğini gösterir ve yükleme engellenir.

İmza Doğrulamanın Önemi Nedir?

  • Otantikliği Doğrular: APK'nin belirtilen geliştirici tarafından imzalandığını garanti eder.
  • Bütünlüğü Korur: APK'nin imzalandığından beri değiştirilmediğini doğrular.
  • Kullanıcıları Korur: Potansiyel olarak kötü niyetli APK'lerin yüklenmesini engeller.

Bir Uygulamanın Birden Fazla İmzası Varsa, Hangi İmzayı Seçmeliyim?

Çoğu uygulama tek bir geçerli imzaya sahiptir, ancak bazıları daha fazla olabilir. Güncelleme hatalarını önlemek için APK'nin imzasını cihazınızda zaten yüklü olanla eşleştirmeniz gereklidir.

Birden Fazla İmzanın Nedenleri

  • Anahtar Dönüşümü: Android 9, geliştiricilerin imza anahtarlarını değiştirmesine izin verir, bu APK İmza Şeması v3 nedeniyle olur.
  • Dağıtım Kanalları: Farklı kaynaklardan gelen uygulamalar örneğin Play Store, Github farklı imzalara sahip olabilir.
  • Sistem Uygulamaları: Sistem uygulamalarının imza anahtarları cihaz veya işletim sistemi sürümüne göre değişebilir.
  • Açıklanamayan Durumlar: Google’un Files ve Play services gibi bazı uygulamalar basitçe birden fazla imzaya sahiptir.

Doğru İmzayı Nasıl Tanıyabilirim:

  1. AndroidFreeware’in, android izinlerini kontrol eden, tehlikeli Bayraklar & Filtreleri tespit eden, md5, sha1, sha256 kontrol toplamlarını hesaplayan ve VirusTotal antivirüs kontrolleri gerçekleştiren bir APK Denetleyici'si vardır.
  2. Uygulama imzalarını görüntülemek için My APK gibi araçlar kullanın.
  3. Deneme ve Hata yaklaşımını kullanın. Güncelleme çalışana kadar farklı APK'leri yükleyin, ardından gelecekteki güncellemeler için doğru imzayı hatırlayın.
  4. Mevcut imzayı bulmak için uygulamayı APKMirror'a ML Yöneticisi kullanarak yükleyin.
  5. Bazı masaüstü araçları APK dosyasının imzasını bulabilir. Bunlar arasında apksigner Google tarafından, keytool IBM tarafından ve print-apk-signature Warren Bank tarafından bulunanlar vardır.

İçindekiler