Por que usar a Assinatura de apps do Google Play? Além de proteger suas chaves contra perda permanente ou comprometimento, a inscrição na Assinatura de apps do Google Play desbloqueia melhorias para seus Android App Bundles (.aab). Ao permitir que o Google assine os APKs de distribuição otimizados gerados nos seus pacotes de apps, você tem acesso a serviços valiosos, como a proteção automática e a tradução automática de strings usando modelos do Gemini. Os jogos ganham acesso a outros serviços automáticos, como o Play Games Sidekick, a capacidade de jogar durante o download e os testes sem custo financeiro de títulos pagos.
Para configurar a Assinatura de Apps do Google Play, você precisa ter permissão de administrador.
Principais conceitos
Ao usar a Assinatura de Apps do Google Play, você trabalha com duas chaves distintas. Entender os formatos técnicos de cada uma e a diferença entre elas é fundamental para evitar problemas de autenticação com APIs de terceiros.
| Tipo de chave | Quem é responsável? | Detalhes técnicos e finalidade |
|
Chave de upload |
Você (guarde-a com segurança!) |
|
| Chave de assinatura do app |
Google Play |
|
| Protegida contra ataques quânticos | Google Play |
|
Observação: para reforçar a segurança, a chave de upload e a chave de assinatura do app precisam ser diferentes.
Como o Google assina seu app: quando o Google gera e assina seus APKs com a chave de assinatura do app, ele usa o apksigner para adicionar dois selos ao manifesto do app (com.android.stamp.source e com.android.stamp.type). Esses selos garantem que seus APKs sejam rastreáveis com segurança até o signatário original.
Configurar a Assinatura de Apps do Google Play
O processo de configuração é diferente se você estiver publicando um novo app ou se estiver migrando um já existente.
Para novos apps
- Criar um novo app: seu app será registrado automaticamente com chaves geradas pelo Google na assinatura híbrida e protegida contra ataques quânticos. Também geramos uma chave clássica separada para ser usada em blocos de assinatura reconhecidos em dispositivos Android 16 ou mais antigos.
- Criar uma chave de upload: gere um keystore para assinar o pacote de app da versão. Você pode gerá-la no Android Studio ou usar o utilitário Java Keytool na linha de comando.
- Fazer upload do pacote de app: acesse o Play Console e prepare uma nova versão. Por padrão, quando você faz upload do pacote de app, ele é automaticamente registrado com chaves geradas pelo Google na assinatura híbrida protegida contra ataques quânticos.
- Mudar a chave de assinatura do app (opcional): desenvolvedores avançados que precisam gerenciar a própria chave podem mudar esse padrão antes do lançamento em uma faixa de teste aberto ou de produção. Para fazer isso, acesse Protegido com o Google Play > Distribuição na Google Play Store > Acessar a Assinatura de apps do Google Play e clique em Mudar a chave de assinatura do app. Depois, você pode:
- Usar a mesma chave de outro app desta conta de desenvolvedor
- Fornecer uma cópia da sua chave de assinatura do app (seguindo as instruções)
Para apps atuais
Se você gerencia suas próprias chaves e faz upload de APKs, pode fazer upgrade para a Assinatura de Apps e aproveitar os pacotes de apps e as melhorias do Google Play.
- Acesse Protegido com o Google Play > Distribuição da Google Play Store > Acessar a Assinatura de apps do Google Play no Play Console.
- Aceite os Termos de Serviço, se ainda não tiver feito isso.
- Transferir uma cópia da sua chave original: baixe a ferramenta PEPK e siga as instruções unificadas para criptografar e fazer upload da sua chave atual de assinatura do app, seja qual for o repositório em que ela está.
Registrar-se com provedores de API
Se o app usar APIs (como Google Maps, OAuth ou Login do Facebook), esses serviços vão autenticar o app usando a impressão digital da chave de assinatura do app.
Como o Google assina o APK final, você precisa registrar a impressão digital da chave de assinatura do app mantida pelo Google nos provedores de API, não apenas a chave de upload local.
- Acesse Protegido com o Google Play > Distribuição na Google Play Store > Acessar a Assinatura de Apps do Google Play.
- Role a tela até a seção Chave de assinatura do app.
- Copie as impressões digitais necessárias (SHA-1 ou SHA-256). Se o app usar assinatura híbrida protegida contra ataques quânticos, copie as impressões digitais de três chaves e registre cada uma delas com os provedores de API: as novas chaves clássica e de criptografia pós-quântica (PQC, na sigla em inglês) usadas em dispositivos mais recentes e a chave clássica usada em dispositivos mais antigos.
- Cole as impressões digitais no console do seu provedor de API (por exemplo, o console do Google Cloud).
Dica: atualize o arquivo assetlinks.json com essas impressões digitais se você usa Links do App Android.
Gerenciar suas chaves
Atualizar a chave de assinatura do app
Se a chave de assinatura do app for comprometida ou se você precisar de uma chave criptograficamente mais forte, você pode pedir um upgrade anual para todas as instalações no Android 17 (nível 37 da API) e versões mais recentes.
Como o upgrade funciona em diferentes versões do Android:
- Android 17 (nível 37 da API) e versões mais recentes: a plataforma Android exige o uso da chave híbrida protegida contra ataques quânticos atualizada. Consulte o esquema de assinatura de APK v3.2.
- Android 13 (nível 33 da API) a Android 16 (nível 36 da API): a plataforma Android exige o uso da chave clássica mais recente. Consulte o esquema de assinatura de APK v3.1.
- Android 7 (nível 24 da API) a Android 12 (nível 32 da API): a plataforma Android não impõe o uso da chave atualizada e ainda reconhece a chave clássica mais recente. No entanto, o Google Play Protect oferece validação adicional ao verificar se as atualizações do app são assinadas com a chave clássica mais recente, a menos que isso tenha sido desativado pelo usuário.
Consideração importante:
- Dados compartilhados: como a plataforma não impõe a chave atualizada no Android S (nível 32 da API) e versões anteriores, se você usar a mesma chave em vários apps para compartilhar dados, essas versões mais antigas do Android só vão reconhecer a chave legada para recursos como compartilhamento de permissões personalizadas.
Como fazer upgrade:
- Acesse Protegido com o Google Play > Distribuição na Google Play Store > Acessar a Assinatura de Apps do Google Play.
- Na seção "Chave de assinatura do app", clique em Fazer upgrade da chave.
- Escolha o caminho desejado para o upgrade:
- Permitir que o Google Play gere uma nova chave de assinatura do app (recomendado)
- Usar a mesma chave de assinatura de outro app desta conta de desenvolvedor
- Fornecer uma cópia da sua chave de assinatura do app (seguindo as instruções)
- Clique em Salvar.
- Registre as novas impressões digitais da chave nos provedores de API. Se o app usar assinatura híbrida protegida contra ataques quânticos, registre as impressões digitais de duas novas chaves: a clássica e a PQC.
Pedir uma redefinição da chave de upload
Se você perder a chave de upload ou suspeitar que ela foi comprometida, o acesso ao app não será perdido.
- Crie uma nova chave de upload no Android Studio.
- Exporte o certificado para o formato PEM:
keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem
Para receber mais ajuda com os caminhos de keytool e keystore, consulte o guia de assinatura de apps do Android Studio. - Depois que o arquivo PEM for gerado, envie o pedido de redefinição no Play Console.
- Acesse Protegido com o Google Play > Proteção da Google Play Store > Gerencie a Assinatura de apps do Google Play.
- Na seção Certificado da chave de upload, clique em Solicitar redefinição da chave de upload.
- Informe o motivo da redefinição.
- Faça upload do arquivo
upload_certificate.peme clique em Solicitar.
Práticas recomendadas e distribuição alternativa
- Segurança: proteja seu acesso ao Play Console aplicando a verificação em duas etapas a todos os usuários.
- Melhorias do pacote de app: ao se inscrever na Assinatura de apps do Google Play, você tem acesso a aprimoramentos para seus pacotes. Para usá-los, primeiro faça as mudanças necessárias ao criar uma nova versão e, em seguida, faça upload de um novo pacote de app.
- Distribuição fora do Google Play: se você distribui em outras app stores e quer usar a mesma chave de assinatura em todos os lugares, há duas opções. [1] Você pode deixar o Google gerar sua chave de assinatura do app e fazer o download de um APK universal assinado no Play Console ou na API Google Play Developer para distribuir em outro lugar. No Play Console, acesse Teste e lançamento > Lançamentos e pacotes mais recentes, selecione seu pacote de app e clique na guia Downloads. [2] Você também pode gerar a chave de assinatura do app que quer usar em todas as app stores e transferir uma cópia dela para o Google ao configurar a Assinatura de apps do Google Play. Saiba mais sobre como funcionam as atualizações de apps e suas opções para ativar ou desativar atualizações em várias app stores.
- Teste: use o Compartilhamento interno de apps para testar exatamente o que o Google Play vai entregar aos usuários ou baixe APKs específicos para cada dispositivo no Pesquisador de Pacotes de Apps e instale-os localmente usando "adb install-multiple *.apk".
- Esquema de assinatura de APK v4: a Assinatura de apps do Google Play usa automaticamente a assinatura v4 em apps qualificados para oferecer suporte à distribuição otimizada em dispositivos Android 11 e versões mais recentes. Você não precisa fazer nada. Isso exclui todos os apps que usam a assinatura híbrida protegida contra ataques quânticos, que ainda não é compatível com a assinatura v4. Leia mais sobre os benefícios técnicos na documentação do esquema de assinatura de APK v4.
Projetos do Google Cloud com hospedagem própria
Se você tiver requisitos de segurança muito específicos (por exemplo, usar chaves OEM), poderá usar a API Play Developer para se inscrever na Assinatura de apps do Google Play com um projeto do Google Cloud na sua hospedagem própria.
Essa é uma configuração não padrão e não é recomendada. Usar um projeto em hospedagem própria significa que você assume total responsabilidade pelas operações de assinatura de apps.
- Isso impede que o Google Play execute recursos essenciais, como a recuperação de desastres.
- O Google não vai poder regenerar nem corrigir uma versão já existente. Para corrigir erros relacionados, será necessário enviar uma nova versão.
- As otimizações avançadas, algumas melhorias do Google Play e recursos de segurança, como a assinatura híbrida protegida contra ataques quânticos, podem não estar disponíveis nessa configuração.
- Gere ou importe suas chaves de assinatura para o Cloud KMS, garantindo que o local esteja configurado como multirregional dos EUA, e siga a documentação de importação de chaves do KMS.
- Para mudar a chave de assinatura, use o método enrollApp. As chaves de assinatura só podem ser mudadas antes do lançamento do app nas faixas de teste aberto ou de produção.
- Para fazer upgrade da chave de assinatura após a publicação, use o método rotateAppSigningKey.
- Conceda os seguintes papéis de IAM ao cliente ou à conta de serviço que está se autenticando com a API Google Play Developer:
- Verifique se você tem cota suficiente para realizar operações criptográficas. Recomendamos aumentar a cota de asymmetric_requests para pelo menos 350 QPS.
- Para ver como as chaves de assinatura são usadas, ative o registro de auditoria no projeto do Cloud KMS.