Utilize a Assinatura de apps do Play

Com a Assinatura de apps do Play, a Google gere e protege a chave de assinatura da sua app por si, utilizando-a para assinar APKs otimizados e de distribuição gerados a partir dos seus app bundles. A Assinatura de apps do Play armazena a sua chave de assinatura de apps na infraestrutura segura da Google e oferece opções de atualização para aumentar a segurança.

Para utilizar a Assinatura de apps do Play, tem de ser um proprietário da conta ou um utilizador com a autorização Lançar para produção, excluir dispositivos e utilizar a Assinatura de apps do Play e aceitar os Termos de Utilização da Assinatura de Apps do Play.

Como funciona

Quando utiliza a Assinatura de apps do Play, as suas chaves são armazenadas na mesma infraestrutura segura que a Google utiliza para armazenar as suas próprias chaves. As chaves são protegidas pelo key management service da Google. Se pretender saber mais sobre a infraestrutura da Google, leia o Documento técnico sobre segurança do Google Cloud.

As apps Android são assinadas com uma chave privada. Para garantir que as atualizações de apps são fiáveis, cada chave privada tem um certificado público associado que os dispositivos e os serviços utilizam para validar se a atualização da app é da mesma fonte. Os dispositivos apenas aceitam atualizações quando a respetiva assinatura corresponde à assinatura da app instalada. Ao permitir à Google gerir a sua chave de assinatura de apps, torna este processo mais seguro.

Nota: para apps criadas antes de agosto de 2021, ainda pode carregar um APK e gerir as suas próprias chaves em vez de utilizar a Assinatura de apps do Play e publicar com um Android App Bundle. No entanto, se perder o seu repositório de chaves ou se este ficar comprometido, não poderá atualizar a app sem publicar uma nova app com um novo nome de pacote. Para estas apps, o Play recomenda a utilização da Assinatura de apps do Play e a mudança para app bundles.

Descrições de chaves, artefactos e ferramentas
Termo Descrição
Chave de assinatura de apps

A chave que o Google Play utiliza para assinar os APKs que são entregues ao dispositivo de um utilizador. Quando utiliza a Assinatura de apps do Play, pode carregar uma chave de assinatura de apps existente ou optar pela geração de uma chave pela Google.

Deve manter a chave de assinatura de apps secreta, mas pode partilhar o certificado público da app com outras pessoas.

Chave de carregamento

A chave que utiliza para assinar o app bundle antes de o carregar para o Google Play. Deve manter a chave de carregamento secreta, mas pode partilhar o certificado público da app com outras pessoas. Por motivos de segurança, é aconselhável que as chaves de assinatura de apps e de carregamento sejam diferentes.

Existem duas formas de gerar uma chave de carregamento:

  • Utilizar a chave de assinatura de apps: se a chave de assinatura de apps for gerada pela Google, a chave que utilizar no primeiro lançamento é também a chave de carregamento.
  • Utilizar uma chave de carregamento separada: se fornecer a sua própria chave de assinatura de apps, pode gerar uma nova chave de carregamento para maior segurança. Se não gerar uma, utilize a sua chave de assinatura de apps como chave de carregamento para assinar os lançamentos.
Certificado (.der ou .pem)

Um certificado contém uma chave pública e informações de identificação adicionais sobre o proprietário da chave. O certificado de chave pública permite que qualquer pessoa valide quem assinou o app bundle ou o APK. Pode partilhá-lo com qualquer pessoa, uma vez que não inclui a chave privada.

Para registar as chaves junto dos fornecedores de APIs, pode transferir o certificado público para a chave de assinatura de apps e a chave de carregamento a partir da página Assinatura de apps do Play (Lançamento > Configuração > Integridade da app) na Play Console. É possível partilhar o certificado de chave pública com qualquer pessoa. Não inclui a chave privada.

Impressão digital do certificado

Uma representação curta e única de um certificado que é frequentemente pedida pelos fornecedores de APIs, juntamente com o nome do pacote, para registar uma aplicação para usar o respetivo serviço.

As impressões digitais MD5, SHA-1 e SHA-256 dos certificados de carregamento e de assinatura de apps encontram-se na página Assinatura de apps do Play (Lançamento > Configuração > Integridade da app) na Play Console. Também é possível calcular outras impressões digitais ao transferir o certificado original (.der) na mesma página.

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

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

Quando fornecer a chave de assinatura de apps para utilização pela Google, selecione a opção para exportar e carregar a chave (e o respetivo certificado público, se necessário) e siga as instruções para transferir e utilizar a ferramenta. Se preferir, pode transferir, rever e utilizar o código aberto da ferramenta PEPK.

Processo de assinatura de apps

Eis como funciona o processo:

  1. Assine o seu app bundle e carregue-o para a Play Console.
  2. A Google gera APKs otimizados a partir do seu app bundle e assina-os com a chave de assinatura de apps.
  3. A Google utiliza o apksigner para adicionar dois carimbos ao manifesto da sua app (com.android.stamp.source e com.android.stamp.type) e, em seguida, assina os APKs com a sua chave de assinatura de apps. Os carimbos adicionados pelo apksigner permitem rastrear os APKs até quem os assinou.
  4. A Google envia os APKs assinados aos utilizadores.

Configure e faça a gestão da Assinatura de apps do Play

Se a sua app ainda não estiver a usar a Assinatura de apps do Play, siga as instruções abaixo.

Passo 1: crie uma chave de carregamento

  1. Siga estas instruções para criar uma chave de carregamento.
  2. Assine o seu app bundle com a chave de carregamento.

Passo 2: prepare o lançamento

  1. Siga as instruções para preparar e implementar o lançamento.
  2. Depois de selecionar uma faixa de lançamento, a secção "Integridade da app" apresenta o estado da Assinatura de apps do Play para a sua app.
  3. Para prosseguir com uma chave de assinatura de apps gerada pela Google, carregue o seu app bundle. Em alternativa, pode selecionar Alterar a chave de assinatura de apps para aceder às seguintes opções:
    • Utilizar uma chave de assinatura de apps gerada pela Google: mais de 90% das novas apps utilizam chaves de assinatura de apps geradas pela Google. A utilização de uma chave gerada pela Google protege contra perda ou comprometimento (a chave não é transferível). Se escolher esta opção, pode transferir APKs de distribuição a partir do Explorador de app bundles assinados com a chave gerada pela Google para outros canais de distribuição ou utilizar uma chave diferente para os mesmos.
    • Utilizar uma chave de assinatura de apps diferente: a escolha da chave de assinatura de apps permite-lhe utilizar a mesma chave que outra app na sua conta de programador ou manter uma cópia local da chave de assinatura de apps para maior flexibilidade. Por exemplo, poderá já ter uma chave decidida porque a sua app está pré-instalada em alguns dispositivos. Ter uma cópia da sua chave fora dos servidores da Google aumenta o risco se a cópia local for comprometida. Existem as seguintes opções para utilizar uma chave diferente:
  4. Conclua as instruções restantes para preparar e implementar o lançamento.

Nota: tem de aceitar os Termos de Utilização e optar pela assinatura de apps para continuar.

Passo 3: registe a chave de assinatura de apps junto dos fornecedores de APIs

Se a sua app utilizar quaisquer APIs, tem de registar a chave de assinatura de apps junto das mesmas para fins de autenticação através da impressão digital do certificado. Saiba onde encontrar o certificado:

  1. Abra a Play Console e aceda à página Assinatura de apps do Play (Lançamento > Configuração > Integridade da app).
  2. Desloque o ecrã até à secção "Certificado da chave de assinatura de apps" e copie as impressões digitais (MD5, SHA-1 e SHA-256) do seu certificado de assinatura de apps.
    • Se o fornecedor da API exigir um tipo de impressão digital diferente, também pode transferir o certificado original em formato .der e convertê-lo através das ferramentas de transformação exigidas pelo fornecedor da API.
Requisitos da chave de assinatura de apps

Quando usa uma chave gerada pela Google, a Google gera automaticamente uma chave RSA criptograficamente forte com 4096 bits. Se optar por carregar a sua própria chave de assinatura de apps, esta tem de ser uma chave RSA com 2048 bits ou mais.

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

Passo 1: configure a Assinatura de apps do Play

  1. Abra a Play Console e aceda à página Assinatura de apps do Play (Lançamento > Configuração > Integridade da app).
  2. Se ainda não o fez, analise os Termos de Utilização da Assinatura de Apps do Play e selecione Aceitar.

Passo 2: envie uma cópia da chave original para a Google e crie uma chave de carregamento

  1. Localize a chave de assinatura de apps original.
  2. Abra a Play Console e aceda à página Assinatura de apps do Play (Lançamento > Configuração > Integridade da app).
  3. Selecione a opção de exportação e de carregamento mais adequada ao seu processo de lançamento e carregue uma chave de assinatura de apps.

Passo 3: crie uma chave de carregamento (opcional e recomendado)

  1. Crie uma chave de carregamento e carregue o certificado para o Google Play.
    • Também pode continuar a utilizar a chave de assinatura de apps como chave de carregamento.
  2. Copie as impressões digitais (MD5, SHA-1 e SHA-256) do seu certificado de assinatura de apps.
    • Para fins de teste, poderá ser necessário registar o certificado da sua chave de carregamento junto dos fornecedores da API ao utilizar a impressão digital do certificado e a chave de assinatura de apps.

Passo 4: assine a sua próxima atualização da app com a chave de carregamento

Quando lançar atualizações da sua app, tem de as assinar com a chave de carregamento.

  • Se não gerou uma nova chave de carregamento: continue a utilizar a sua chave de assinatura de apps original para assinar app bundles antes de os carregar para o Google Play. Se perder a chave de assinatura de apps original, pode gerar uma nova chave de carregamento e registá-la na Google para continuar a atualizar a sua app.
  • Se gerou uma nova chave de carregamento: utilize a nova chave de carregamento para assinar app bundles antes de os carregar para o Google Play. A Google utiliza a chave de carregamento para validar a sua identidade. Se perder a chave de carregamento, pode contactar o apoio técnico para a repor.
Atualize a sua chave de assinatura de apps para se inscrever na Assinatura de apps do Play

Poderá fazê-lo se não conseguir partilhar a sua chave existente. Antes de optar por atualizar a chave de assinatura de apps para se inscrever, tenha em atenção o seguinte:

  • Esta opção requer um lançamento duplo.
  • Terá de carregar um app bundle e um APK assinado com a sua chave antiga em todos os lançamentos. O Google Play vai usar os seus app bundles para gerar APKs assinados com a nova chave para dispositivos com o Android R* (nível da API 30) ou posterior. Os seus APKs antigos serão usados para lançamentos do Android mais antigos (até ao nível da API 29).

* Se a sua app usar o sharedUserId, é recomendável aplicar a atualização da chave para instalações e atualizações em dispositivos com o Android T (nível da API 33) ou posterior. Para configurar isto, defina uma versão mínima do SDK exata na configuração do pacote.

Passo 1: carregue a nova chave, gere um comprovativo de rotação e carregue-o

Para que a nova chave seja considerada fidedigna em dispositivos Android, tem de carregar uma nova chave de assinatura a partir de um repositório, bem como gerar e carregar um comprovativo de rotação:

  1. Abra a Play Console e aceda à página Assinatura de apps do Play (Lançamento > Configuração > Integridade da app).
  2. Selecione o separador Assinatura de apps.
  3. Clique em Mostrar opções avançadas e selecione Usar uma nova chave de assinatura de apps (isto requer lançamentos duplos em curso).
  4. Opte por usar a mesma chave de assinatura de apps que outra app na sua conta de programador ou carregar uma nova chave de assinatura de apps a partir do Android Studio, Java KeyStore ou outro repositório.
  5. Siga as instruções no ecrã, transfira a ferramenta PEPK e execute-a.
  6. Quando o ZIP estiver pronto, clique em Carregar ZIP gerado e carregue-o para a Play Console.
  7. Junto a "5. Permitir que a nova chave seja considerada fidedigna em dispositivos Android ao carregar um comprovativo de rotação", clique em Mostrar instruções.
  8. Transfira o APKSigner e gere um comprovativo de rotação ao executar este comando:
    • $ apksigner rotate --out /path/to/new/file --old-signer --ks old-signer-jks --set-rollback ture --new-signer --ks new-signer-jks --set-rollback true
  9. Clique em Carregar ficheiro de comprovativo de rotação gerado e carregue o comprovativo de rotação gerado no passo 8.
  10. Clique em Guardar.

Crie uma chave de carregamento e atualize os repositórios de chaves

Para maior segurança, é recomendado assinar a app com uma nova chave de carregamento em vez da sua chave de assinatura de apps.

Pode criar uma chave de carregamento quando opta pela Assinatura de apps do Play ou mais tarde ao visitar a página Assinatura de apps do Play (Lançamento > Configuração > Integridade da app).

Eis como criar uma chave de carregamento:

  1. Siga as instruções no site para programadores Android. Armazene a chave num local seguro.
  2. Exporte o certificado relativo à chave de carregamento para o formato PEM. Substitua os seguintes argumentos sublinhados:
    • $ keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem
  3. Quando lhe for pedido durante o processo de lançamento, carregue o certificado para o registar na Google.

Quando utiliza uma chave de carregamento:

  • A chave de carregamento é registada apenas na Google para autenticar a identidade do criador da app.
  • A sua assinatura é removida de qualquer APK carregado antes de este ser enviado aos utilizadores.
Requisitos da chave de carregamento
  • Tem de ser uma chave RSA com 2048 bits ou mais.
Atualize os repositórios de chaves

Depois de criar uma chave de carregamento, seguem-se algumas localizações que poderá pretender verificar e atualizar:

  • Máquinas locais
  • Servidor no local bloqueado (LCAs variáveis)
  • Máquina na nuvem (ACLs variáveis)
  • Serviços dedicados de gestão de segredos
  • Repositórios (Git)

Atualize a sua chave de assinatura de apps para novas instalações

Em algumas circunstâncias, pode solicitar uma atualização da chave de assinatura de apps. A nova chave é utilizada para assinar novas instalações e atualizações de apps. A chave de assinatura de apps antiga continua a ser utilizada para assinar as atualizações dos utilizadores que instalaram a sua app antes da atualização da chave.

Cada app apenas pode ter a sua chave de assinatura de apps atualizada uma vez na respetiva duração total. Na improbabilidade de ter várias apps a utilizar a mesma chave de assinatura especificamente para execução no mesmo processo, não pode utilizar a atualização da chave para essas apps.

Seguem-se alguns motivos para solicitar uma atualização de chave de assinatura de apps:

  • Precisa de uma chave criptograficamente mais forte.
  • A sua chave de assinatura de apps foi comprometida.

Nota: a solicitação de uma atualização de chave de assinatura de apps na Play Console não está relacionada com a alteração da chave introduzida no esquema de assinatura do APK v3 para o Android P e superior. Este tipo de alteração de chave não é atualmente suportado pelo Google Play.

Considerações importantes antes de solicitar uma atualização de chave

Antes de solicitar uma atualização de chave, é importante compreender as alterações que poderá ter de fazer depois de a atualização estar concluída.

  • Se utilizar a mesma chave de assinatura de apps para várias apps de modo a partilhar código/dados entre as mesmas, tem de atualizar as suas apps para que reconheçam os certificados da chave de assinatura de apps nova e antiga.
  • Se a sua app utilizar APIs, certifique-se de que regista os certificados da chave de assinatura de apps nova e antiga nos fornecedores de API antes de publicar uma atualização para garantir que as APIs continuam a funcionar. Os certificados estão disponíveis na página Assinatura de apps do Play (Lançamento > Configuração > Integridade da app) na Play Console.  
  • Se os seus utilizadores instalarem atualizações através da partilha ponto a ponto, apenas vão conseguir instalar as atualizações assinadas com a mesma chave da versão da sua app que já instalaram. Se não conseguirem atualizar a respetiva app por terem uma versão da sua app assinada com uma chave diferente, têm a opção de desinstalar e reinstalar a app para obter a atualização.
Solicite uma atualização de chave para novas instalações
  1. Abra a Play Console e aceda à página Assinatura de apps do Play (Lançamento > Configuração > Integridade da app).
  2. No cartão "Atualize a sua chave de assinatura de apps para novas instalações", selecione Solicitar atualização da chave.
  3. Selecione uma opção.
    • Consoante a opção que selecionar, pode ter de contactar o apoio técnico para concluir o pedido.
  4. Permita que o Google gere uma nova chave de assinatura de apps (recomendado) ou carregue uma.
    • Depois de atualizar a chave de assinatura de apps, se estava a utilizar a mesma chave para assinatura de apps e carregamento, pode continuar a utilizar a chave de assinatura de apps antiga como chave de carregamento ou gerar uma nova chave de carregamento.
  5. Se necessário, registe a nova chave de assinatura de apps junto dos fornecedores de APIs.

Práticas recomendadas

  • Se também distribuir a sua app fora do Google Play ou planear fazê-lo mais tarde e pretender utilizar a mesma chave de assinatura, tem duas opções: 
    • Permita que a Google gere a chave (recomendado) e, em seguida, transfira um APK assinado e universal a partir do Explorador de app bundles para distribuir fora do Google Play.
    • Em alternativa, pode gerar a chave de assinatura de apps que pretende utilizar para todas as lojas de apps e, em seguida, transferir uma cópia da mesma para a Google quando configurar a Assinatura de apps do Play.
  • Para proteger a sua conta, ative a validação em dois passos para as contas com acesso à sua Play Console.
  • Depois de publicar um app bundle para uma faixa de lançamento, pode visitar o Explorador de app bundles para aceder aos APKs instaláveis que a Google gera a partir do seu app bundle. Pode:
    • Copiar e partilhar um link de partilha interna de apps que lhe permite testar, com um único toque, o que o Google Play iria instalar a partir do app bundle em dispositivos diferentes.
    • Transfira um APK assinado e universal. Este APK único está assinado com a chave de assinatura de apps que a Google possui e pode ser instalado em qualquer dispositivo suportado pela app.
    • Transfira um arquivo ZIP com todos os APKs para um dispositivo específico. Estes APKs são assinados com a chave de assinatura de apps que a Google possui. Também pode instalar os APKs no arquivo ZIP num dispositivo através do comando adb install-multiple *.apk.
  • Para maior segurança, gere uma nova chave de carregamento diferente da sua chave de assinatura de apps.
  • Se estiver a usar uma API Google, é recomendável registar os certificados da chave de carregamento e da chave de assinatura de apps na Google Cloud Console da sua app.
  • Se estiver a usar a funcionalidade Android App Links, certifique-se de que atualiza as chaves no ficheiro JSON de Digital Asset Links correspondente no seu Website.

Perdeu ou comprometeu uma chave de carregamento?

Se perdeu a sua chave de carregamento privada ou esta tiver sido comprometida, pode criar uma nova e, em seguida, pedir ao proprietário da conta para contactar o apoio técnico para repor a chave. Quando contactar o apoio técnico, certifique-se de que o proprietário da conta anexa o ficheiro upload_certificate.pem.

Depois de a nossa equipa de apoio técnico registar a nova chave de carregamento, receberá um email e, em seguida, pode atualizar os repositórios de chaves e registar a sua chave junto dos fornecedores da API.

Importante: a reposição da chave de carregamento não tem impacto na chave de assinatura de apps que o Google Play utiliza para voltar a assinar os APKs antes de os fornecer aos utilizadores.

Esquema de assinatura de APK v4

Os dispositivos com o Android 11 e superior suportam o novo esquema de assinatura de APK v4. A Assinatura de apps do Play vai começar a implementar a assinatura v4 em apps selecionadas para que as mesmas possam aceder a futuras funcionalidades de desempenho disponíveis em dispositivos mais recentes. Não é necessária qualquer ação do programador e não se prevê qualquer impacto nos utilizadores.

 

A informação foi útil?
Como podemos melhorá-la?

Precisa de mais ajuda?

Inicie sessão para obter opções de apoio técnico adicionais e resolver rapidamente o seu problema.

Pesquisa
Limpar pesquisa
Fechar pesquisa
Google Apps
Menu principal
Pesquisar no Centro de ajuda
true
92637
false