Porquê usar a Assinatura de apps do Play? Além de salvaguardar as suas chaves contra perda ou comprometimento permanentes, a inscrição na Assinatura de apps do Play desbloqueia melhorias para os seus Android App Bundles (.aab). Ao permitir que a Google assine os APKs de distribuição otimizados gerados a partir dos seus pacotes de apps, ganha acesso a serviços valiosos, como a proteção automática e a tradução automática de strings com os modelos do Gemini. Os jogos ganham acesso a serviços automáticos adicionais, como o Play Games Sidekick, jogar durante a transferência e avaliações por 0 € de títulos pagos.
Para configurar a Assinatura de apps do Play, tem de ser o proprietário da conta.
Conceitos principais
Quando usa a Assinatura de apps do Play, lida com duas chaves distintas. Compreender a diferença, e os respetivos formatos técnicos, é fundamental para evitar problemas de autenticação com APIs de terceiros.
| Tipo de chave | Quem a detém? | Detalhes técnicos e finalidade |
|
Chave de carregamento |
O utilizador (mantenha-a em segurança!) |
|
| Chave de assinatura de apps |
Google Play |
|
| Proteção contra computação quântica | Google Play |
|
Nota: para máxima segurança, a chave de carregamento e a chave de assinatura de apps devem ser diferentes.
Como a Google assina a sua app: quando a Google gera e assina os seus APKs com a chave de assinatura de apps, usa o apksigner para adicionar dois carimbos ao manifesto da sua app (com.android.stamp.source e com.android.stamp.type). Estes carimbos garantem que os seus APKs são rastreáveis de forma segura até ao signatário original.
Configure a Assinatura de apps do Play
O processo de configuração depende de estar a publicar uma nova app ou a migrar uma existente.
Para novas apps
- Crie uma nova app: a sua app é inscrita automaticamente na assinatura híbrida protegida contra computação quântica com chaves geradas pela Google. Também geramos uma chave clássica separada para ser usada em blocos de assinatura que são reconhecidos em dispositivos com o Android 16 ou inferior.
- Crie uma chave de carregamento: gere um repositório de chaves para assinar o seu pacote de apps de lançamento. Pode gerá-lo no Android Studio ou usar o utilitário Java keytool a partir da linha de comandos.
- Carregue o seu pacote de apps: aceda à Play Console e prepare um novo lançamento. Por predefinição, quando carrega o seu pacote de apps, a app é inscrita automaticamente na assinatura híbrida protegida contra computação quântica com chaves geradas pela Google.
- Altere a chave de assinatura de apps (opcional): os programadores avançados que querem gerir a sua própria chave podem alterar esta predefinição antes de um lançamento ser implementado na faixa de teste aberto ou na faixa de produção. Pode fazê-lo navegando para Protegido com o Google Play > Distribuição na Play Store > Aceder à Assinatura de apps do Play e clicando em Alterar a chave de assinatura de apps. Em seguida, pode optar por:
- Usar a mesma chave que outra app nesta conta de programador
- Fornecer uma cópia da sua chave de assinatura de apps (seguindo as instruções)
Para apps existentes
Se gere atualmente as suas próprias chaves e carrega APKs, pode atualizar para a Assinatura de apps do Play para tirar partido dos pacotes de apps e dos melhoramentos do Google Play.
- Aceda a Protegido com o Google Play > Distribuição na Play Store > Aceder à Assinatura de apps do Play na Play Console.
- Aceite os Termos de Utilização, se ainda não o tiver feito.
- Transfira uma cópia da sua chave original: transfira a ferramenta PEPK e siga as instruções passo a passo unificadas para encriptar e carregar a sua chave de assinatura de apps existente a partir de qualquer repositório.
Faça o registo junto dos fornecedores de APIs
Se a sua app usar APIs (como o Google Maps, o OAuth ou o Início de sessão do Facebook), esses serviços autenticam a sua app através da impressão digital da chave de assinatura de apps.
Uma vez que a Google assina o APK final, tem de registar a impressão digital da chave de assinatura de apps detida pela Google junto dos seus fornecedores de APIs e não apenas a sua chave de carregamento local.
- Aceda a Protegido com o Google Play > Distribuição na Play Store > Aceder à Assinatura de apps do Play.
- Desloque a página até à secção Chave de assinatura de apps.
- Copie as impressões digitais necessárias (SHA-1 ou SHA-256). Se a sua app usar a assinatura híbrida protegida contra computação quântica, tem de copiar as impressões digitais de três chaves e registar cada uma delas junto dos seus fornecedores de APIs: as novas chaves clássicas e PQC usadas em dispositivos mais recentes e a chave clássica usada em dispositivos mais antigos.
- Cole estas impressões digitais na consola do seu fornecedor de APIs (por exemplo, a Google Cloud Console).
Dica: atualize o ficheiro assetlinks.json com estas impressões digitais se usar Android App Links.
Faça a gestão das suas chaves
Atualize a sua chave de assinatura de apps
Se a sua chave de assinatura de apps for comprometida ou precisar de uma chave criptograficamente mais forte, pode pedir uma atualização anual da chave para todas as instalações no Android 17 (nível da API 37) e superior.
Como funciona a aplicação nas versões do Android:
- Android 17 (nível da API 37) e superior: a plataforma Android aplica rigorosamente a utilização da sua chave híbrida preparada para computação quântica atualizada. Consulte o esquema de assinatura de APK v3.2.
- Android 13 (nível da API 33) ao Android 16 (nível da API 36): a plataforma Android aplica rigorosamente a utilização da sua chave clássica mais recente. Consulte o esquema de assinatura de APK v3.1
- Android 7 (nível da API 24) ao Android 12 (nível da API 32): a própria plataforma Android não aplica a chave atualizada e continua a reconhecer a chave clássica mais recente. No entanto, o Google Play Protect fornece validação adicional verificando se as atualizações das apps estão assinadas com a chave clássica mais recente (a menos que o utilizador o desative).
Consideração importante:
- Dados partilhados: uma vez que a plataforma não aplica a chave atualizada no Android S (nível da API 32) e inferior, se usar a mesma chave em várias apps para partilhar dados, essas versões mais antigas do Android só reconhecem a chave antiga para funcionalidades como a partilha de autorizações personalizadas.
Como atualizar:
- Aceda a Protegido com o Google Play > Distribuição na Play Store > Aceder à Assinatura de apps do Play.
- Na secção Chave de assinatura de apps, clique em Atualizar chave.
- Escolha o caminho de atualização:
- Permitir que o Google Play gere uma nova chave de assinatura de apps (recomendado)
- Usar a mesma chave de assinatura de apps que outra app nesta conta de programador
- Fornecer uma cópia da sua chave de assinatura de apps (seguindo as instruções)
- Clique em Guardar.
- Registe as novas impressões digitais da chave junto dos fornecedores de APIs. Se a sua app usar a assinatura híbrida protegida contra computação quântica, tem de registar as impressões digitais de duas novas chaves: a nova chave clássica e a nova chave PQC.
Peça uma reposição da chave de carregamento
Se perder a chave de carregamento ou suspeitar que foi comprometida, continua a poder aceder à sua app.
- Crie uma nova chave de carregamento no Android Studio.
- Exporte o certificado para o formato PEM:
keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem
(Para mais ajuda com os caminhos do keytool e repositório de chaves, consulte o guia de assinatura de apps do Android Studio). - Assim que o ficheiro PEM for gerado, envie o pedido de reposição na Play Console.
- Navegue para Protegido com o Google Play > Proteção da Play Store > Gerir a Assinatura de apps do Play.
- Na secção Certificado da chave de carregamento, clique em Pedir reposição da chave de carregamento.
- Introduza o motivo da reposição.
- Carregue o ficheiro
upload_certificate.peme clique em Pedir.
Práticas recomendadas e distribuição alternativa
- Segurança: proteja o seu acesso à Play Console aplicando a validação em dois passos a todos os utilizadores.
- Melhoramentos do pacote de apps: a inscrição na Assinatura de apps do Play desbloqueia o acesso a melhoramentos para os seus pacotes de apps. Para aplicar melhoramentos, primeiro, faça as alterações de configuração necessárias quando criar um novo lançamento e, em seguida, carregue um novo pacote de apps.
- Distribuição fora do Google Play: se distribuir através de outras lojas de apps e quiser usar a mesma chave de assinatura em todos os locais, tem duas opções. [1] Pode permitir que a Google gere a sua chave de assinatura de apps e transferir um APK universal assinado a partir da Play Console ou da API Google Play Developer para distribuição noutro local (na Play Console, aceda a Testar e lançar > Lançamentos e pacotes mais recentes, selecione o seu pacote de apps e clique no separador Transferências) ou [2] pode gerar a chave de assinatura de apps que quer usar para todas as lojas de apps e transferir uma cópia da mesma para a Google quando configurar a Assinatura de apps do Play. Saiba como funcionam as atualizações de apps e as suas opções para ativar ou desativar as atualizações em várias lojas.
- Testes: use a partilha interna de apps para testar exatamente o que o Google Play vai fornecer aos utilizadores ou transfira APKs específicos do dispositivo a partir do explorador de pacote de apps e instale-os localmente com adb install-multiple *.apk.
- Esquema de assinatura de APK v4: a Assinatura de apps do Play usa automaticamente a assinatura v4 para apps elegíveis de forma a assegurar a compatibilidade com a distribuição otimizada em dispositivos com o Android 11 ou superior. Não é necessária nenhuma ação da sua parte. Isto exclui todas as apps que usam a assinatura híbrida protegida contra computação quântica, que ainda não é compatível com a assinatura v4. Pode ler mais acerca das vantagens técnicas na documentação do Esquema de assinatura de APK v4.
Projetos do Google Cloud autoalojados
Se tiver requisitos de segurança altamente específicos (por exemplo, usar chaves de OEM), pode usar a API Google Play Developer para se inscrever na Assinatura de apps do Play através de um projeto do Google Cloud alojado por si.
Esta é uma configuração não padrão que não é recomendada. A utilização de um projeto alojado por si significa que assume total responsabilidade pelas operações de assinatura de apps.
- Impede o Google Play de realizar funcionalidades essenciais, como a recuperação de desastres.
- A Google não pode voltar a gerar nem corrigir um lançamento existente. Para corrigir erros relacionados com o lançamento, tem de carregar um novo lançamento.
- As otimizações avançadas, determinados melhoramentos do Google Play e as funcionalidades de segurança, como a assinatura híbrida pronta para a computação quântica, podem não estar disponíveis nesta configuração.
- Gere ou importe as suas chaves de assinatura para o Cloud KMS, garantindo que a localização está configurada como multirregião nos EUA, e siga a documentação de importação de chaves do KMS.
- Para alterar a sua chave de assinatura, use o método enrollApp. As chaves de assinatura só podem ser alteradas antes de a app ser lançada nas faixas de testes abertos ou de produção.
- Para atualizar a chave de assinatura após a publicação, use o método rotateAppSigningKey.
- Conceda as seguintes funções de IAM ao cliente ou à conta de serviço que se autentica com a API Google Play Developer:
- Certifique-se de que tem uma quota suficiente para realizar operações criptográficas. Em particular, recomendamos que aumente a quota de asymmetric_requests para, pelo menos, 350 CPS.
- Para ver como as chaves de assinatura são usadas, ative o registo de auditoria no seu projeto do Cloud KMS.