Play Uygulama İmzalama özelliğini kullanmak

Play Uygulama İmzalama özelliğini kullandığınızda, Google, uygulamanızın imzalama anahtarını sizin için yönetir, korur ve uygulama paketlerinizden oluşturulan optimize edilmiş dağıtım APK'larını imzalamak için kullanır. Play Uygulama İmzalama, uygulama imzalama anahtarınızı Google'ın güvenli altyapısında saklar ve güvenliği artırmak için yükseltme seçenekleri sunar.

Play Uygulama İmzalama'yı kullanmak için hesap sahibi veya Üretim sürümüne yayınlama, cihazları hariç tutma ve Play Uygulama İmzalama'yı kullanma izinlerine sahip bir kullanıcı olmanız, ayrıca Play Uygulama İmzalama Hizmet Şartları'nı kabul etmeniz gerekir.

İşleyiş şekli

Play Uygulama İmzalama'yı kullandığınızda, anahtarlarınız Google'ın kendi anahtarlarını depolamak için kullandığı güvenli altyapıda saklanır. Anahtarlar Google’ın Anahtar Yönetim Hizmeti tarafından korunur. Google'ın altyapısı hakkında daha fazla bilgi edinmek isterseniz Google Cloud Güvenliği Hakkında Teknik Belge'yi okuyabilirsiniz.

Android uygulamaları özel bir anahtarla imzalanır. Uygulama güncellemelerinin güvenilir olduğundan emin olmak için her özel anahtarın ilişkili bir genel sertifikası vardır. Cihazlar ve hizmetler, uygulama güncellemesinin güvenilir bir kaynağa ait olduğunu doğrulamak için bu genel sertifikayı kullanır. Cihazların güncellemeyi kabul etmesi için güncellemenin imzasının, yüklü uygulamanın imzasıyla eşleşmesi gerekir. Uygulama imzalama anahtarınızın yönetimini Google'a bırakmak, bu süreci daha güvenli hale getirir.

Not: Ağustos 2021'den önce oluşturulmuş uygulamalar için Play Uygulama İmzalama kullanmak ve Android App Bundle ile yayınlamak yerine APK yüklemeye ve kendi anahtarlarınızı yönetmeye devam edebilirsiniz. Ancak anahtar deponuzu kaybederseniz veya anahtar deponuzun güvenliği ihlal edilirse yeni paket adıyla yeni bir uygulama yayınlamadan uygulamanızı güncelleyemezsiniz. Play, bu uygulamalar için Play Uygulama İmzalama özelliğini kullanmayı ve uygulama paketlerine geçmeyi tavsiye eder.

Anahtarlar, yapılar ve araçlarla ilgili açıklamalar
Terim Açıklama
Uygulama imzalama anahtarı

Bir kullanıcının cihazına gönderilen APK'ları imzalamak için Google Play tarafından kullanılan anahtardır. Play Uygulama İmzalama'yı kullandığınızda mevcut bir uygulama imzalama anahtarını yükleyebilir ya da Google'ın sizin için bir anahtar oluşturmasını sağlayabilirsiniz.

Uygulama imzalama anahtarınızı gizli tutmanız gerekir, ancak uygulamanızın genel sertifikasını başkalarıyla paylaşabilirsiniz.

Yükleme anahtarı

Uygulama paketinizi Google Play'e yüklemeden önce imzalamak için kullandığınız anahtardır. Yükleme anahtarınızı gizli tutmanız gerekir, ancak uygulamanızın genel sertifikasını başkalarıyla paylaşabilirsiniz. Güvenlik nedeniyle, uygulama imzalama anahtarıyla yükleme anahtarının birbirinden farklı olmasını sağlamanızı tavsiye ederiz.

Yükleme anahtarı oluşturmanın iki yolu vardır:

  • Uygulama imzalama anahtarınızı kullanma: Google'ın uygulama imzalama anahtarı oluşturmasını seçerseniz ilk sürümünüz için kullandığınız anahtar aynı zamanda yükleme anahtarınız olur.
  • Ayrı bir yükleme anahtarı kullanma: Kendi uygulama imzalama anahtarınızı sağlarsanız daha yüksek güvenlik için yeni bir yükleme anahtarı oluşturma seçeneğine sahip olursunuz. Yeni bir yükleme anahtarı oluşturmazsanız sürümleri imzalarken yükleme anahtarınız olarak uygulama imzalama anahtarınızı kullanırsınız.
Sertifika (.der veya .pem)

Sertifika, anahtarın sahibiyle ilgili bazı ekstra tanımlama bilgilerinin yanı sıra bir ortak anahtar içerir. Ortak anahtar sertifikası, herhangi bir kişinin, uygulama paketini veya APK'yı kimin imzaladığını doğrulamasını sağlar. Bu sertifika özel anahtarınızı içermediğinden başkalarıyla paylaşılmasında sakınca yoktur.

Anahtarlarınızı API sağlayıcılara kaydetmek isterseniz uygulama imzalama anahtarınızın ve yükleme anahtarınızın genel sertifikasını Play Console'daki Play Uygulama İmzalama (Sürüm > Kurulum > Uygulama bütünlüğü) sayfasından indirebilirsiniz. Ortak anahtar sertifikası herkesle paylaşılabilir. Özel anahtarınızı içermez.

Sertifika dijital parmak izi

API sağlayıcıların, hizmetlerini kullanmak isteyen bir uygulamayı kaydetmek için genellikle paket adı ile birlikte talep ettiği, bir sertifikanın kısa ve benzersiz temsilidir.

Yükleme ve uygulama imzalama sertifikalarının MD5, SHA-1 ve SHA-256 parmak izlerini Play Console'daki Play Uygulama İmzalama (Sürüm > Kurulum > Uygulama bütünlüğü) sayfasında bulabilirsiniz. Aynı sayfada orijinal sertifikayı (.der) indirerek de diğer parmak izlerini hesaplayabilirsiniz.

Java anahtar deposu (.jks veya .keystore) Güvenlik sertifikalarının ve özel anahtarların depolandığı bir veri havuzudur.
Play Şifreleme Özel Anahtarı (PEPK) aracı

Özel anahtarları Java anahtar deposundan dışa aktarmak ve Google Play'e iletmek üzere şifrelemek için kullanılan bir araçtır.

Google'ın kullanacağı uygulama imzalama anahtarını sağlarken, anahtarınızı (ve gerekiyorsa genel sertifikasını) dışa aktarıp yükleme seçeneğini belirleyin ve ilgili talimatları uygulayarak aracı indirip kullanın. İsterseniz PEPK aracının açık kaynak kodunu indirebilir, inceleyebilir ve kullanabilirsiniz.

Uygulama imzalama işlemi

İşlem şöyle gerçekleşir:

  1. App bundle'ınızı imzalayın ve Play Console​LINK'a yükleyin.
  2. Google, uygulama paketinizden optimize edilmiş APK'lar oluşturur ve bunları uygulama imzalama anahtarıyla imzalar.
  3. Google, apksigner aracını kullanarak uygulamanızın manifest dosyasına iki damga (com.android.stamp.source ve com.android.stamp.type) ekler ve ardından uygulama imzalama anahtarınızla APK'ları imzalar. apksigner ile eklenen damgalar, APK'ların kimin tarafından imzalandığı bilgisine ulaşılabilmesini sağlar.
  4. Google, kullanıcılara imzalanmış APK'lar teslim eder.

Play Uygulama İmzalama'yı yapılandırma

Ağustos 2021'den sonra oluşturulan uygulamalar için talimatlar

1. Adım: Yükleme anahtarı oluşturun

  1. Talimatları uygulayarak bir yükleme anahtarı oluşturun.
  2. Uygulama paketinizi, yükleme anahtarıyla imzalayın.

2. Adım: Sürümünüzü hazırlayın

  1. Sürümünüzü hazırlama ve kullanıma sunma ile ilgili talimatları uygulayın.
  2. Bir sürüm kanalı seçtikten sonra, uygulamanızın Play Uygulama İmzalama durumu "Uygulama bütünlüğü" bölümünde görünür.
  3. Google tarafından oluşturulan bir uygulama imzalama anahtarıyla devam etmek için uygulama paketinizi yükleyin. Alternatif olarak, aşağıdaki seçeneklere erişmek için Uygulama imzalama anahtarını değiştir seçeneğini belirleyebilirsiniz:
    • Google tarafından oluşturulan bir uygulama imzalama anahtarı kullanma: Yeni uygulamaların %90'ından fazlası, Google tarafından oluşturulan uygulama imzalama anahtarlarını kullanıyor. Google tarafından oluşturulan anahtarlar kullanmak, kaybolma veya ele geçirilme karşısında koruma sağlar (anahtar indirilebilir değildir). Bu seçeneği tercih ederseniz diğer dağıtım kanalları için farklı bir anahtar kullanabilir veya Uygulama paketi gezgini'nden Google tarafından oluşturulan anahtarla imzalanmış dağıtım APK'ları indirebilirsiniz.
    • Farklı bir uygulama imzalama anahtarı kullanma: Uygulama imzalama anahtarını seçmek, geliştirici hesabınızdaki başka bir uygulamayla aynı anahtarı kullanabilmenize veya daha fazla esneklik için uygulama imzalama anahtarınızın yerel bir kopyasını bulundurmanıza imkan sağlar. Örneğin, uygulamanız bazı cihazlarda önceden yüklenmiş olduğu için kullanacağınız anahtar halihazırda belirlenmiş olabilir. Google'ın sunucularının dışında anahtarınızın bir kopyasını bulundurmak, yerel kopyanın açığa çıkması halinde riski artırır. Farklı bir anahtar kullanmak aşağıdaki seçenekleri değerlendirebilirsiniz:
      • Bu geliştirici hesabında başka uygulama ile aynı uygulama imzalama anahtarını kullanın
      • Java anahtar deposundan bir anahtar dışa aktarıp yükleyin
      • Bir anahtarı dışa aktarıp yükleyin (Java anahtar deposu kullanmadan)
  4. Sürümünüzü hazırlamak ve kullanıma sunmak için kalan talimatları tamamlayın.

Not: Devam etmek için Hizmet Şartları'nı kabul etmeniz ve uygulama imzalamaya kaydolmanız gerekir.

3. Adım: Uygulama imzalama anahtarınızı API sağlayıcılara kaydedin

Uygulamanız herhangi bir API kullanıyorsa genellikle, kimlik doğrulama amacıyla sertifikanın dijital parmak izini kullanarak bu API'lerle uygulama imzalama anahtarınızı kaydetmeniz gerekir. Aşağıda, sertifikayı nerede bulacağınız açıklanmaktadır:

  1. Play Console'u açıp Play Uygulama İmzalama sayfasına (Sürüm > Kurulum > Uygulama bütünlüğü) gidin.
  2. "Uygulama imzalama anahtarı sertifikası" bölümüne gidip uygulama imzalama sertifikanızın parmak izlerini (MD5, SHA-1 ve SHA-256) kopyalayın.
    • API sağlayıcının farklı türde bir dijital parmak izi gerektirmesi halinde orijinal sertifikayı .der biçiminde indirebilir ve API sağlayıcının gerektirdiği dönüştürme araçlarını kullanarak dönüştürebilirsiniz.
Uygulama imzalama anahtarı koşulları

Google tarafından oluşturulan bir anahtar kullandığınızda, Google, otomatik olarak 4096 bit boyutunda, şifreleme açısından güçlü bir RSA anahtarı oluşturur. Kendi uygulama imzalama anahtarınızı yüklemeyi tercih ederseniz anahtarınız en az 1024 bit boyutunda bir RSA anahtarı olmalıdır.

Ağustos 2021'den önce oluşturulan uygulamalar için talimatlar

1. Adım: Play Uygulama İmzalama'yı yapılandırın

  1. Play Console'u açıp Play Uygulama İmzalama sayfasına (Sürüm > Kurulum > Uygulama bütünlüğü) gidin.
  2. Henüz yapmadıysanız Play Uygulama İmzalama Hizmet Şartları'nı inceleyin ve Kabul et'i seçin.

2. Adım: Orijinal anahtarınızın bir kopyasını Google'a gönderin ve bir yükleme anahtarı oluşturun

  1. Orijinal uygulama imzalama anahtarınızı bulun.
  2. Play Console'u açıp Play Uygulama İmzalama sayfasına (Sürüm > Kurulum > Uygulama bütünlüğü) gidin.
  3. Yayınlama sürecinize en uygun dışa aktarma ve yükleme seçeneğini belirleyip mevcut bir uygulama imzalama anahtarı yükleyin.

3. Adım: Yükleme anahtarı oluşturun (isteğe bağlı olup önerilir)

  1. Bir yükleme anahtarı oluşturun ve sertifikayı Google Play'e yükleyin.
    • İsterseniz uygulama imzalama anahtarını yükleme anahtarınız olarak kullanmaya devam edebilirsiniz.
  2. Uygulama imzalama sertifikanızın dijital parmak izlerini (MD5, SHA-1 ve SHA-256) kopyalayın.
    • Test amaçlı olarak, yükleme anahtarınızın sertifikasını, sertifikanın dijital parmak izini ve uygulama imzalama anahtarını kullanarak API sağlayıcılara kaydetmeniz gerekebilir.

4. Adım: Sıradaki uygulama güncellemenizi yükleme anahtarıyla imzalayın

Uygulamanız için güncellemeler yayınladığınızda bunları yükleme anahtarınızla imzalamanız gerekir.

  • Yeni bir yükleme anahtarı oluşturmadıysanız: Uygulama paketlerini Google Play'e yüklemeden önce imzalamak için orijinal uygulama imzalama anahtarınızı kullanmaya devam edin. Orijinal uygulama imzalama anahtarınızı kaybederseniz yeni bir yükleme anahtarı oluşturabilir ve Google'a kaydederek uygulamanızı güncellemeye devam edebilirsiniz.
  • Yeni bir yükleme anahtarı oluşturduysanız: Uygulama paketlerini Google Play'e yüklemeden önce imzalamak için yeni yükleme anahtarınızı kullanın. Google, kimliğinizi doğrulamak için yükleme anahtarını kullanır. Yükleme anahtarınızı kaybederseniz destek ekibiyle iletişime geçerek yükleme anahtarınızın sıfırlanmasını sağlayabilirsiniz.

Yükleme anahtarı oluşturma ve anahtar depolarını güncelleme

Daha fazla güvenlik için, uygulamanızı uygulama imzalama anahtarınızla değil, yeni bir yükleme anahtarıyla imzalamanız önerilir.

Yükleme anahtarını, Play Uygulama İmzalama'ya kaydolurken veya daha sonra Play Uygulama İmzalama sayfasını (Sürüm > Kurulum > Uygulama bütünlüğü) ziyaret ederek oluşturabilirsiniz.

Yükleme anahtarının nasıl oluşturulacağı aşağıda açıklanmıştır:

  1. Android Developers sitesindeki talimatları uygulayın. Anahtarınızı güvenli bir yerde saklayın.
  2. Yükleme anahtarının sertifikasını PEM biçiminde dışa aktarın. Aşağıdaki altı çizili bağımsız değişkenlerin yerine başkalarını koyun:
    • $ keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem
  3. Yayınlama sürecinde sizden istendiğinde, Google'a kaydetmek için sertifikayı yükleyin.

Yükleme anahtarı kullandığınızda:

  • Yükleme anahtarınız yalnızca Google'da kayıtlı olur ve uygulama oluşturucunun kimliğini doğrulamak için kullanılır.
  • Yüklediğiniz APK'lar kullanıcılara gönderilmeden önce imzanız APK'lardan kaldırılır.
Yükleme anahtarı koşulları
  • 2.048 bit veya daha yüksek bir RSA anahtarı olmalıdır.
Anahtar depolarını güncelleme

Yükleme anahtarı oluşturduktan sonra, aşağıda belirtilen yerleri kontrol etmeniz ve güncellemeniz önerilir:

  • Yerel makineler
  • Fiziksel erişiminizin olduğu kilitli sunucu (değişik ACL'ler)
  • Bulut makinesi (değişik ACL'ler)
  • Özel gizli veri yönetim hizmetleri
  • (Git) veri havuzları

Yeni yüklemeler için uygulama imzalama anahtarınızı yeni sürüme geçirme

Bazı durumlarda bir uygulama imzalama anahtarını yeni sürüme geçirmeyi isteyebilirsiniz. Yeni anahtarınız, yeni yüklemeleri ve uygulama güncellemelerini imzalamak için kullanılır. Eski uygulama imzalama anahtarınız, anahtarın yeni sürümüne geçmeden önce uygulamanızı indiren kullanıcıların güncellemelerini imzalamak için kullanılmaya devam eder.

Her uygulamanın uygulama imzalama anahtarı, uygulamanın kullanım süresi içerisinde yalnızca bir kez yeni sürüme geçirilebilir. Çok düşük bir ihtimalle de olsa, özellikle aynı işlemi çalıştırmak için aynı imzalama anahtarını kullanan birden çok uygulamanız varsa, bu uygulamalar için anahtarı yeni sürüme geçiremezsiniz.

Aşağıda, bir uygulama imzalama anahtarını yeni sürüme geçirmek istemenin iki nedeni bulabilirsiniz:

  • Şifreleme açısından daha güçlü bir anahtara ihtiyacınız vardır.
  • Uygulama imzalama anahtarınız yeni sürüme geçirilmiştir.

Not: Play Console'da uygulama imzalama anahtarının yeni sürüme geçirilmesini istemek, Android P ve üstü için APK imzası şeması v3'te sunulan anahtar rotasyonundan bağımsızdır. Bu anahtar rotasyonu türü şu anda Google Play tarafından desteklenmemektedir.

Anahtarı yeni sürüme geçirme isteğinde bulunmadan önce dikkat edilmesi gereken önemli noktalar

Anahtarı yeni sürüme geçirme isteğinde bulunmadan önce, yeni sürüme geçiş işleminin tamamlanmasının ardından yapmanız gerekebilecek değişiklikleri anlamanız önemlidir.

  • Uygulamalar arasında kod/veri paylaşmak için aynı uygulama imzalama anahtarını birden fazla uygulamada kullanıyorsanız uygulamalarınızı hem yeni hem de eski uygulama imzalama anahtarı sertifikalarını tanıyacak şekilde güncellemeniz gerekir.
  • Uygulamanız API'ler kullanıyorsa API'lerin çalışmaya devam etmesini sağlamak için bir güncelleme yayınlamadan önce API sağlayıcılarında yeni ve eski uygulama imzalama anahtarınızın sertifikalarını kaydettiğinizden emin olun. Sertifikalar, Play Console'daki Play Uygulama İmzalama sayfasında (Sürüm > Kurulum > Uygulama bütünlüğü) bulunabilir.  
  • Güncellemeleri eşler arası paylaşım yoluyla yükleyen kullanıcılarınız varsa bu kullanıcılar yalnızca uygulamanızın halihazırda yüklemiş oldukları sürümüyle aynı anahtar kullanılarak imzalanmış güncellemeleri yükleyebilirlerler. Farklı bir anahtarla imzalanmış sürümüne sahip oldukları için uygulamalarını güncelleyemiyorlarsa güncellemeyi almak için uygulamayı kaldırıp yeniden yükleyebilirler.
Yeni yüklemeler için anahtarın yeni sürümünü isteyin
  1. Play Console'u açıp Play Uygulama İmzalama sayfasına (Sürüm > Kurulum > Uygulama bütünlüğü) gidin.
  2. "Yeni yüklemeler için uygulama imzalama anahtarınızı yeni sürüme geçirin" kartında, Anahtarın yeni sürümünü iste seçeneğini belirleyin.
  3. Bir seçenek belirleyin.
    • Seçiminize bağlı olarak, isteğinizi tamamlamak için destek ekibiyle iletişime geçmeniz gerekebilir.
  4. Google'ın yeni bir uygulama imzalama anahtarı oluşturmasını sağlayın (önerilen) veya siz bir tane yükleyin.
    • Uygulama imzalama anahtarınız yeni sürüme geçtikten sonra, uygulama imzalama ve yükleme anahtarınız için aynı anahtarı kullanıyorsanız eski uygulama imzalama anahtarınızı yükleme anahtarınız olarak kullanmaya devam edebilir veya yeni bir yükleme anahtarı oluşturabilirsiniz.
  5. Gerekiyorsa yeni uygulama imzalama anahtarınızı API sağlayıcılara kaydedin.

En iyi uygulamalar

  • Uygulamanızı Google Play'in dışında da dağıtıyorsanız veya ileride dağıtmayı planlıyorsanız ve aynı imzalama anahtarını kullanmak istiyorsanız iki seçeneğiniz vardır:
    • Anahtarı Google'ın oluşturmasına izin verip (önerilen) ardından uygulamanızı Google Play dışında dağıtmak için Uygulama paketi gezgininde imzalanmış bir evrensel APK indirebilirsiniz.
    • Alternatif olarak, tüm uygulama mağazaları için kullanmak istediğiniz uygulama imzalama anahtarını oluşturabilirsiniz. Ardından bu anahtarların bir kopyasını, Play Uygulama İmzalama'yı yapılandırırken Google'a aktarabilirsiniz.
  • Hesabınızı korumak için Play Console'a erişimi olan hesaplarda 2 Adımlı Doğrulama'yı açın.
  • Bir uygulama paketini sürüm kanalına yayınladıktan sonra, Google'ın uygulama paketinizden oluşturduğu yüklenebilir APK'lara erişmek için Uygulama paketi gezginini ziyaret edebilirsiniz. Şunları yapabilirsiniz:
    • Google Play'in farklı cihazlarda uygulama paketinizden ne yükleyeceğini tek bir dokunuşla test etmenize imkan sağlayan bir dahili uygulama paylaşımı bağlantısını kopyalayıp paylaşabilirsiniz.
    • İmzalı, evrensel bir APK indirme. Bu evrensel APK, Google'ın bulundurduğu uygulama imzalama anahtarıyla imzalanır ve uygulamanızın desteklediği tüm cihazlara yüklenebilir.
    • Belirli bir cihaza ait tüm APK'ların bulunduğu bir ZIP arşivi indirebilirsiniz. Bu APK'lar, Google'ın bulundurduğu uygulama imzalama anahtarıyla imzalanır. ZIP arşivindeki APK'ları bir cihaza yüklemek için adb install-multiple *.apk komutunu kullanabilirsiniz.
  • Daha fazla güvenlik için, uygulama imzalama anahtarınızdan farklı, yeni bir yükleme anahtarı oluşturun.
  • Herhangi bir Google API'si kullanıyorsanız yükleme anahtarı ve uygulama imzalama anahtarı sertifikalarını uygulamanızla ilgili Google Cloud Console'a kaydetmek isteyebilirsiniz.

Yükleme anahtarınız kayboldu veya güvenliği ihlal mi edildi?

Özel yükleme anahtarınızı kaybettiyseniz veya anahtarın güvenliği ihlal edildiyse yeni bir yükleme anahtarı oluşturabilir ve hesap sahibinizden anahtarın sıfırlanması için destek ekibiyle iletişime geçmesini isteyebilirsiniz. Destek ekibiyle iletişime geçerken, hesap sahibinizin upload_certificate.pem dosyasını eklediğinden emin olun.

Destek ekibimiz yeni yükleme anahtarını kaydettikten sonra size bir e-posta gönderilir. Bu e-postayı aldıktan sonra anahtar depolarınızı güncelleyebilir ve anahtarınızı API sağlayıcılara kaydedebilirsiniz.

Önemli: Yükleme anahtarınızı sıfırlamanız, Google Play'in APK'ları kullanıcılara teslim etmeden önce yeniden imzalamak için kullandığı uygulama imzalama anahtarını etkilemez.

APK İmza Şeması v4

Android 11 ve sonraki cihazlar yeni APK imza şeması v4'ü destekler. Play Uygulama İmzalama, yeni cihazlarda sunulacak performans özelliklerine isteğe bağlı olarak erişebilmelerini sağlamak için belirli uygulamalarda 4. sürüm imzalamayı kullanıma sunmaya başlayacaktır. Geliştiricilerin herhangi bir işlem yapması gerekmez. Ayrıca bu durumun kullanıcıları etkilemesi beklenmemektedir.

 

Bu size yardımcı oldu mu?
Bunu nasıl iyileştirebiliriz?

Daha fazla yardıma mı ihtiyacınız var?

Sorununuzu hızla çözmek için oturum açarak ek destek seçeneklerinden yararlanın

Arama
Aramayı temizle
Aramayı kapat
Google uygulamaları
Ana menü
Yardım Merkezinde Arayın
true
92637
false