Android Uygulama İmzalama: Anahtar Kaybolursa Ne Olur?

Haberci

SEO UZMANI
Yönetici
Katılım
21 May 2023
Mesajlar
777
Tepki
17
Puan
18
1060




Bilgisayar değişti, proje klasörü yedekten geri geldi ama içindeki .jks dosyası yok. Yeni sürümü yükleyince Play Console "yanlış anahtarla imzalanmış" diyor. İlk akla gelen soru şu: uygulama artık güncellenemez mi?

Aşağıda uygulamayı imzalayan iki ayrı anahtarın ne işe yaradığını, hangisinin sizde hangisinin Google'da durduğunu, kaybolan anahtarın sıfırlanıp sıfırlanamayacağını ve sertifika parmak izlerinin nerede kullanıldığını resmî belgelerden çıkarıyoruz.

İki anahtar, iki ayrı iş​


Android geliştirici belgesi Play uygulama imzalamanın iki anahtar kullandığını söylüyor: uygulama imzalama anahtarı ve yükleme anahtarı.

Uygulama imzalama anahtarı, kullanıcının cihazına kurulan paketleri imzalayan anahtar. Belgenin kritik cümlesi burada: Android'in güvenli güncelleme modelinin bir parçası olarak bu anahtar uygulamanın ömrü boyunca değişmiyor.

Yükleme anahtarı ise Play Console'a yüklemeden önce paketi imzaladığınız anahtar. Google bu imzayla kimliğinizi doğruluyor, ardından dağıtım için paketi kendi elindeki uygulama imzalama anahtarıyla imzalıyor.

İkisini ayrı tutmanın nedeni de yazılı: ayrı bir yükleme anahtarı kullandığınızda, anahtar kaybolur veya ele geçerse sıfırlama talep edebiliyorsunuz. Belge, iki anahtarın farklı olmasını güvenlik önerisi olarak veriyor.

Anahtar kaybolursa ne oluyor?​


Cevap hangi anahtarı kaybettiğinize bağlı. Belge, Play uygulama imzalama kullanırken yükleme anahtarını kaybederseniz ya da anahtar ele geçerse Play Console üzerinden sıfırlama talep edebileceğinizi söylüyor.

Kullanıcı tarafında bir kesinti de olmuyor: uygulama imzalama anahtarınız Google tarafından güvence altına alındığı için, yükleme anahtarını değiştirseniz bile kullanıcılar uygulamanızı güncellemeye devam ediyor.

Tersi durumun sonucu ağır. Play Console yardım belgesi, uygulama imzalama anahtarını Play uygulama imzalama olmadan kendiniz yönetiyorsanız ve kaybederseniz bu anahtarın sıfırlanamayacağını yazıyor.

  • Yükleme anahtarı: Sizde durur, kaybolursa sıfırlanabilir.
  • Uygulama imzalama anahtarı: Play uygulama imzalamada Google'da durur.
  • Kendi yönetiyorsanız: Kaybedilen imzalama anahtarının karşılığı yok.

Püf nokta' Alıntı:
Anahtar deposunu proje klasörüyle aynı yerde tutmayın; kod yedeğiyle birlikte kaybolan en yaygın dosya o.

Anahtarlar nerede, hangi biçimde duruyor?​


Belge dosya türlerini de tanımlıyor. Java anahtar depoları, yani .jks veya .keystore uzantılı dosyalar, sertifika ve özel anahtarların tutulduğu ikili dosyalar.

Açık anahtar sertifikası ise .der ya da .pem dosyası; içinde açık anahtar ile karşılık gelen özel anahtarı elinde tutan sahibi tanımlayan bilgiler bulunuyor.

Play Console yardım belgesi teknik gereklilikleri veriyor: yükleme anahtarı Java anahtar deposunda saklanan, 2048 bit veya daha büyük bir RSA anahtarı olmak zorunda. Google'ın ürettiği uygulama imzalama anahtarları RSA 4096 bit; kendi sağladığınız anahtar ise RSA 2048 bit veya üzeri olmalı.

Yeni uygulamalarda varsayılan da değişmiş durumda: yeni uygulama oluşturduğunuzda Google'ın ürettiği anahtarlarla kuantuma hazır melez imzalamaya otomatik olarak dâhil ediliyorsunuz. Bu düzenek klasik RSA 4096 bit anahtarı, kuantum sonrası ML-DSA-65 anahtarıyla birleştiriyor; Android 17 ve üzeri cihazlar uygulamayı APK imza şeması v3.2 ile doğruluyor, eski sürümler klasik imza bloklarıyla doğrulamayı sürdürüyor.

Sertifika parmak izi ne işe yarıyor?​


Anahtarların bir de dışa dönük yüzü var. Belge, uygulama imzalama anahtarının ve yükleme anahtarının sertifikasını Play Console'daki uygulama imzalama sayfasından indirebileceğinizi söylüyor.

Bu sertifika paylaşılmak üzere: özel anahtarınızı içermiyor ve API sağlayıcılarına açık anahtar kaydetmek için kullanılıyor. Parmak izi ise sertifikanın kısa ve benzersiz gösterimi; API sağlayıcıları çoğu zaman paket adıyla birlikte bunu istiyor.

MD5, SHA-1 ve SHA-256 parmak izleri aynı sayfada bulunuyor. Harita, oturum açma ya da bildirim servislerini bağlarken doğru parmak izini kaydetmemek, uygulamanın yayında çalışmamasının sık görülen nedenlerinden biri. Anahtarları uygulama içinde saklamanın neden riskli olduğunu API anahtarı yazımızda anlatmıştık.

Kurulum tarafında Google, paketlerinizi uygulama imzalama anahtarıyla imzalarken apksigner aracını kullanıyor ve manifest dosyasına iki damga ekliyor. Belge bu damgaların amacını, paketlerin özgün imzalayana güvenli biçimde izlenebilir olmasını sağlamak diye açıklıyor.

Sürüm çıkarma zincirini baştan kurmak isterseniz Android uygulama geliştirme yazımızda araçları, uygulamanın hangi maliyet kalemlerini doğurduğunu ise mobil uygulama fiyatları yazımızda toplamıştık.

Sık Sorulan Sorular​


Uygulama imzalama anahtarı değişebilir mi?
Android'in güvenli güncelleme modelinde imzalama anahtarı uygulamanın ömrü boyunca değişmiyor.

Yükleme anahtarımı kaybedersem ne olur?
Play uygulama imzalama kullanıyorsanız Play Console üzerinden yükleme anahtarı sıfırlaması talep edebiliyorsunuz.

Anahtarı kendim yönetirsem kaybolursa sıfırlanır mı?
Hayır. Belge, kendi yönettiğiniz uygulama imzalama anahtarının kaybedilmesi hâlinde sıfırlanamayacağını yazıyor.

Yükleme anahtarı hangi ölçütleri karşılamalı?
Java anahtar deposunda saklanan, 2048 bit veya daha büyük bir RSA anahtarı olmalı.

Sertifika parmak izini paylaşmak güvenli mi?
Sertifika özel anahtarı içermiyor ve API sağlayıcılarına kaydedilmek üzere paylaşılmak için tasarlanmış.

Özetle​


Uygulamanın kimliği tek bir dosyaya değil, iki ayrı anahtara bağlı. Cihazdaki kurulumu doğrulayan uygulama imzalama anahtarı ömür boyu sabit kalıyor; sizin elinizdeki yükleme anahtarı ise değiştirilebilir ve kaybolursa sıfırlanabilir. Bu ayrım, kaybolan bir anahtar deposunu felaket olmaktan çıkarıyor. Ancak imzalama anahtarını kendiniz yönetmeyi seçtiyseniz aynı güvence yok. Sertifikalar ve parmak izleri ise paylaşılmak için var; özel anahtarı değil, kimliği taşıyorlar.

Anahtar deponuzun yedeği kod deposundan ayrı bir yerde duruyor mu?

Güncelleme: 5 Eylül 2026. Android uygulama imzalama kılavuzu ve Play Console uygulama imzalama belgesi kontrol edildi.



Dijital Dünyanıza Yön Veren Pusula
 

Ekli dosyalar

  • banner_07.jpg
    banner_07.jpg
    6.9 KB · Görüntüleme: 0
Geri
Üst