Usar a Assinatura de apps do Google Play

Com a Assinatura de apps do Google Play, o Google gerencia e protege a chave de assinatura do app e a utiliza para assinar APKs de distribuição otimizados gerados nos seus pacotes de app. A Assinatura de apps do Google Play armazena sua chave de assinatura do app na infraestrutura protegida do Google e oferece opções de upgrade para aumentar a segurança.

Para usar a Assinatura de apps do Google Play, você precisa ser o proprietário da conta ou um usuário com a permissão Enviar para produção, excluir dispositivos e usar a Assinatura de apps do Google Play. Além disso, é necessário aceitar os Termos de Serviço da Assinatura de apps do Google Play.

Como funciona

Quando você usa a Assinatura de apps do Google Play, suas chaves são armazenadas na mesma infraestrutura protegida usada para as chaves do Google. As chaves são protegidas pelo serviço de gerenciamento de chaves do Google. Se você quiser saber mais sobre a infraestrutura do Google, leia o artigo sobre segurança do Google Cloud.

Os apps Android são assinados com uma chave privada. Para garantir que as atualizações do app sejam confiáveis, cada chave privada está associada a um certificado público que pode ser usado por dispositivos ou serviços para verificar se a atualização do app vem da mesma fonte. Os dispositivos aceitarão atualizações somente quando a assinatura corresponder à do app instalado. Ao permitir que o Google gerencie a chave de assinatura do app, o processo fica mais seguro.

Observação: para apps criados antes de agosto de 2021, ainda é possível fazer upload de um APK e gerenciar as próprias chaves em vez de usar a Assinatura de apps do Google Play e de publicar com um Android App Bundle. No entanto, se você perder o repositório ou ele for comprometido, não será possível atualizar o app sem publicar um novo app com um novo nome de pacote. No caso desses apps, o Google Play recomenda usar a Assinatura de apps e mudar para pacotes de app.

Descrições de chaves, artefatos e ferramentas
Termo Descrição
Chave de assinatura do app

A chave usada pelo Google Play para assinar os APKs enviados ao dispositivo de um usuário. Ao usar a Assinatura de apps do Google Play, é possível fazer upload de uma chave de assinatura do app existente ou pedir que o Google gere uma para você.

A chave de assinatura do app precisa ser mantida em segredo, mas é possível compartilhar o certificado público do app com outras pessoas.

Chave de upload

A chave que você usa para assinar o pacote de app antes de fazer upload dele no Google Play. A chave de upload precisa ser mantida em segredo, mas é possível compartilhar o certificado público do app com outras pessoas. Por motivos de segurança, é uma boa ideia ter assinatura de apps e chaves de upload diferentes.

Existem duas maneiras de gerar uma chave de upload:

  • Usar a chave de assinatura do app: se você solicitar ao Google que gere uma chave de assinatura do app, a chave usada na primeira versão também será a chave de upload.
  • Usar uma chave de upload separada: se você fornecer sua própria chave de assinatura do app, terá a opção de gerar uma nova chave de upload para aumentar a segurança. Se você não fizer isso, use a chave de assinatura do app como chave de upload para assinar as versões.
Certificado (.der ou .pem)

Um certificado contém uma chave pública e informações adicionais de identificação do proprietário dessa chave. O certificado de chave pública permite que qualquer pessoa confirme quem assinou o pacote de app ou o APK e pode ser compartilhado livremente, porque não inclui a chave privada.

Para registrar suas chaves nos provedores de API, faça o download do certificado público da chave de assinatura do app e da chave de upload na página Assinatura de apps do Google Play (Versão > Configuração > Integridade do app) no Play Console. O certificado de chave pública pode ser compartilhado com outras pessoas. Ele não inclui a chave privada.

Impressão digital do certificado

É uma representação curta e exclusiva de um certificado solicitada frequentemente pelos provedores de API com o nome do pacote para registrar um app e usar o serviço deles.

As impressões digitais MD5, SHA-1 e SHA-256 dos certificados de upload e de assinatura de apps estão disponíveis na página Assinatura de apps do Google Play (Versão > Configuração > Integridade do app) no Play Console. Para acessar outras impressões digitais, faça o download do certificado original (.der) na mesma página.

Keystore Java (.jks ou .keystore) Um repositório de certificados de segurança e chaves privadas.
Ferramenta Play Encrypt Private Key (PEPK)

Uma ferramenta para exportar chaves privadas de um repositório Java e criptografá-las antes da transferência para o Google Play.

Ao fornecer a chave de assinatura do app que será usada pelo Google, selecione a opção de exportar e fazer upload da chave e seu certificado público, se necessário, e siga as instruções para fazer o download e usar a ferramenta. Se preferir, você pode fazer o download, revisar e usar o código-fonte aberto da ferramenta PEPK.

Processo de assinatura de apps

Veja como funciona o processo:

  1. Assine o pacote de app e faça upload dele no Play Console.
  2. O Google gera APKs otimizados do seu pacote e os assina com a chave de assinatura do app.
  3. O Google usa o apksigner para adicionar dois selos ao manifesto do seu app (com.android.stamp.source e com.android.stamp.type) e assinar os APKs com a chave de assinatura do app. Os selos adicionados pelo apksigner possibilitam rastrear quem assinou os APKs.
  4. O Google envia APKs assinados para os usuários.

Configurar a Assinatura de apps do Google Play

Instruções para apps criados após agosto de 2021

Etapa 1: criar uma chave de upload

  1. Siga estas instruções para criar uma chave de upload.
  2. Assine o pacote de app com a chave de upload.

Etapa 2: preparar a versão

  1. Siga as instruções para preparar e lançar sua versão.
  2. Depois de selecionar uma faixa de lançamento, a seção "Integridade do app" exibe o status da Assinatura de apps do Google Play para seu app.
  3. Para continuar com uma chave de assinatura do app gerada pelo Google, faça upload do pacote de app. Você também pode selecionar Mudar a chave de assinatura do app para acessar as seguintes opções:
    • Usar uma chave de assinatura do app gerada pelo Google: mais de 90% dos novos apps usam chaves de assinatura do app geradas pelo Google. O uso dessas chaves protege contra perda ou violação (não é possível fazer o download da chave). Se você escolher essa opção, poderá fazer o download no Explorador de pacotes de apps dos APKs de distribuição assinados com a chave gerada pelo Google para outros canais de distribuição ou usar uma chave diferente para eles.
    • Usar uma chave de assinatura do app diferente: a escolha da chave de assinatura do app permite usar a mesma chave de outro app na sua conta de desenvolvedor ou manter uma cópia local da chave de assinatura do app para maior flexibilidade. Por exemplo, talvez você já tenha uma chave decidida, porque o app está pré-instalado em alguns dispositivos. Ter uma cópia da sua chave fora dos servidores do Google aumenta os riscos caso a cópia local seja violada. Você tem as seguintes opções para usar uma chave diferente:
      • Usar a mesma chave de assinatura de outro app desta conta de desenvolvedor.
      • Exportar e fazer upload de uma chave de um keystore Java.
      • Exportar e fazer upload de uma chave (sem usar o keystore Java).
  4. Conclua as instruções restantes para preparar e lançar sua versão.

Observação: você precisa aceitar os Termos de Serviço e ativar a assinatura de apps para continuar.

Etapa 3: registrar a chave de assinatura do app com os provedores de API

Se o app usar uma API, normalmente será preciso registrar a chave de assinatura com ela para autenticação, usando a impressão digital do certificado. Confira onde encontrar o certificado:

  1. Abra o Play Console e acesse a página Assinatura de apps do Google Play (Versão > Configuração > Integridade do app).
  2. Role até a seção "Certificado da chave de assinatura do app" e copie as impressões digitais (MD5, SHA-1 e SHA-256) do certificado de assinatura de apps.
    • Se o provedor da API exigir outro tipo de impressão digital, faça o download do certificado original no formato .der e use as ferramentas de transformação exigidas por esse provedor para convertê-lo.
Requisitos da chave de assinatura do app

Quando você usa uma chave gerada pelo Google, geramos automaticamente uma chave RSA com criptografia forte de 4.096 bits. Se você optar por fazer upload da própria chave de assinatura do app, ela precisará ser uma chave RSA com 1.024 bits ou mais.

Instruções para apps criados antes de agosto de 2021

Etapa 1: configurar a Assinatura de apps do Google Play

  1. Abra o Play Console e acesse a página Assinatura de apps do Google Play (Versão > Configuração > Integridade do app).
  2. Leia os Termos de Serviço da Assinatura de apps do Google Play e selecione Aceitar caso ainda não tenha feito isso.

Etapa 2: enviar uma cópia da sua chave original para o Google e criar uma chave de upload

  1. Localize a chave de assinatura original do app.
  2. Abra o Play Console e acesse a página Assinatura de apps do Google Play (Versão > Configuração > Integridade do app).
  3. Selecione a opção de exportação e upload mais adequada ao seu processo de lançamento e faça upload de uma chave de assinatura do app existente.

Etapa 3: criar uma chave de upload (opcional e recomendado)

  1. Crie uma chave de upload e faça upload do certificado para o Google Play.
    • Também é possível continuar usando a chave de assinatura do app como chave de upload.
  2. Copie as impressões digitais (MD5, SHA-1 e SHA-256) do certificado de assinatura de apps.
    • Para fins de teste, talvez seja necessário registrar o certificado da chave de upload nos provedores de API usando a impressão digital e a chave de assinatura do app do certificado.

Etapa 4: assinar a próxima atualização do app com a chave de upload

Ao liberar atualizações para apps, é necessário assiná-las com a chave de upload.

  • Se você não tiver gerado uma nova chave de upload: continue usando a chave de assinatura do app original para assinar pacotes de app antes de fazer upload deles no Google Play. Se você perder essa chave, poderá criar uma nova chave de upload e registrá-la no Google para continuar atualizando o app.
  • Se você tiver gerado uma nova chave de upload: use-a para assinar os pacotes de app antes de fazer upload deles no Google Play. O Google usa a chave de upload para verificar sua identidade. Se você perder a chave de upload, entre em contato com o suporte para redefini-la.

Criar uma chave de upload e atualizar keystores

Para reforçar a segurança, é recomendável assinar o app com uma nova chave de upload em vez da de assinatura.

Você pode criar uma chave de upload ao ativar a Assinatura de apps do Google Play ou posteriormente. Basta acessar a página Assinatura de apps do Google Play (Versão > Configuração > Integridade do app).

Saiba como criar uma chave de upload:

  1. Siga as instruções no site para desenvolvedores Android. Armazene a chave em um local seguro.
  2. Exporte o certificado da chave de upload para o formato PEM. Substitua os seguintes argumentos sublinhados:
    • $ keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem
  3. Quando solicitado durante o processo de lançamento, faça upload do certificado para registrá-lo no Google.

Ao usar uma chave de upload:

  • Sua chave de upload só está registrada no Google para autenticar a identidade do criador do app.
  • Sua assinatura é removida dos uploads de APKs antes que eles sejam enviados aos usuários.
Requisitos da chave de upload
  • Precisa ser uma chave RSA com 2.048 bits ou mais.
Atualizar keystores

Após criar uma chave de upload, verifique e atualize estes locais:

  • Máquinas locais
  • Servidor no local bloqueado (Access Control Lists variáveis)
  • máquina da nuvem (Access Control Lists variáveis)
  • serviços dedicados de gerenciamento de segredos
  • Repositórios (Git)

Fazer upgrade da chave de assinatura do app para novas instalações

Em determinados casos, você pode solicitar um upgrade da chave de assinatura do app. Essa versão da chave será usada para assinar novas instalações e atualizações de apps. A chave de assinatura do app legada ainda será usada na assinatura de atualizações para os usuários que instalaram o app antes do upgrade.

Cada app só pode ter a chave de assinatura atualizada uma vez durante o ciclo de vida. Se você tiver vários apps que usem a mesma chave de assinatura especificamente para realizar um mesmo processo, não será possível usar a versão de upgrade da chave neles.

Veja alguns motivos para solicitar um upgrade da chave de assinatura do app:

  • Você precisa de uma chave com criptografia mais forte.
  • A chave de assinatura do app foi comprometida.

Observação: a solicitação de uma atualização de chave de assinatura do app no Play Console não está relacionada à rotação de chaves introduzida no esquema de assinatura do APK v3 para Android P e superior. No momento, esse tipo de rotação de chaves não é compatível com o Google Play.

Considerações importantes antes de solicitar um upgrade de chave

Antes de solicitar um upgrade de chave, é importante entender quais mudanças serão necessárias após a conclusão desse processo.

  • Se você usar a mesma chave de assinatura em vários apps para compartilhar códigos/dados entre eles, será necessário atualizar esses apps para que reconheçam os certificados das chaves novas e legadas.
  • Caso seu app use APIs, registre os certificados das chaves de assinatura novas e legadas com os provedores de API. Faça isso antes de publicar as atualizações para que as APIs continuem funcionando. Os certificados estão disponíveis na página Assinatura de apps do Google Play (Versão > Configuração > Integridade do app) no Play Console.  
  • Os usuários só poderão instalar atualizações por compartilhamento ponto a ponto se elas forem assinadas com a mesma chave da versão do app que já tiverem instalada. Se eles não conseguirem fazer a atualização porque têm uma versão assinada com uma chave diferente, poderão desinstalar e reinstalar o app para isso.
Solicitar um upgrade de chave para novas instalações
  1. Abra o Play Console e acesse a página Assinatura de apps do Google Play (Versão > Configuração > Integridade do app).
  2. No card "Fazer upgrade da chave de assinatura do app para novas instalações", selecione Solicitar upgrade da chave.
  3. Selecione uma opção.
    • Dependendo da opção selecionada, talvez você precise entrar em contato com o suporte para concluir sua solicitação.
  4. Peça ao Google para gerar uma nova chave de assinatura do app (recomendado) ou faça o upload de uma.
    • Depois de fazer upgrade da sua chave de assinatura do app, você pode continuar usando a chave legada como sua chave de upload ou gerar uma nova.
  5. Se necessário, registre a nova chave de assinatura do app com provedores de API.

Práticas recomendadas

  • Se você também distribuir o app fora do Google Play ou tiver planos de fazer isso no futuro e quiser usar a mesma chave de assinatura, terá estas duas opções: 
    • Deixe que o Google gere a chave (recomendado) e, em seguida, faça o download de um APK universal e assinado no Explorador de pacotes de apps para a distribuição fora do Google Play.
    • Ou gere a chave de assinatura do app que será usada em todas as app stores e transfira uma cópia dela para o Google ao configurar a Assinatura de apps do Google Play.
  • Para proteger sua conta, ative a verificação em duas etapas das contas com acesso ao Play Console.
  • Após publicar um pacote de app em uma faixa de lançamento, acesse o Explorador de pacotes de apps para acessar os APKs instaláveis gerados pelo Google do seu pacote de apps. Você pode:
    • Copiar e compartilhar um link de Compartilhamento interno de apps para testar com apenas um toque o que o Google Play instalaria pelo pacote de apps em diferentes dispositivos.
    • Fazer o download de um APK universal assinado. Este APK único é assinado com a chave de assinatura do app mantida pelo Google e pode ser instalado em qualquer dispositivo compatível com o app.
    • Fazer o download de um arquivo ZIP com todos os APKs para um dispositivo específico. Esses APKs são assinados com a chave de assinatura do app mantida pelo Google. Você pode instalar os APKs no arquivo ZIP em um dispositivo usando o comando adb install-multiple *.apk.
  • Para reforçar a segurança, gere uma nova chave de upload diferente da chave de assinatura do app.
  • Caso você use uma API do Google, faça o registro da chave de upload e dos certificados de chave de assinatura do app no Console do Google Cloud.

Chave de upload perdida ou comprometida?

Se você tiver perdido a chave de upload particular ou se ela tiver sido comprometida, crie uma nova e peça para o proprietário da conta entrar em contato com o suporte para redefini-la. Ao entrar em contato com o suporte, confira se o proprietário da conta anexou o arquivo upload_certificate.pem.

Depois que nossa equipe de suporte registrar a nova chave de upload, você receberá um e-mail e poderá atualizar seus repositórios e registrar sua chave nos provedores de API.

Importante: redefinir a chave de upload não afetará a chave de assinatura do app usada pelo Google Play para assinar novamente os APKs antes de enviá-los aos usuários.

Esquema de assinatura de APK v4

Os dispositivos Android 11 e versões mais recentes são compatíveis com o novo esquema de assinatura de APK v4. A Assinatura de apps do Google Play começará o lançamento da v4 em alguns apps para que eles tenham acesso aos próximos recursos de desempenho disponíveis nos dispositivos mais recentes. Nenhuma ação é necessária da parte do desenvolvedor, e não é esperado nenhum impacto sobre os usuários.

 

Isso foi útil?
Como podemos melhorá-lo?

Precisa de mais ajuda?

Faça login e veja mais opções de suporte para resolver o problema rapidamente.

Pesquisa
Limpar pesquisa
Fechar pesquisa
Google Apps
Menu principal
Pesquisar na Central de Ajuda
true
92637
false