Use 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, usando-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 usar 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 usar a Assinatura de apps do Play, e aceitar os Termos de Utilização da Assinatura de apps do Play.

Como funciona

Quando usa a Assinatura de apps do Play, as suas chaves são armazenadas na mesma infraestrutura segura que a Google usa para armazenar as suas próprias chaves. As chaves são protegidas pelo serviço de gestão de chaves da Google. Se quiser 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 usam para verificar 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 usar 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 usa para assinar os APKs que são entregues ao dispositivo de um utilizador. Quando usa 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 usa 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:

  • Usar a chave de assinatura de apps: se a chave de assinatura de apps for gerada pela Google, a chave que usar no primeiro lançamento é também a chave de carregamento.
  • Usar uma chave de carregamento separada: se facultar 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, use 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 com os 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 > Assinatura de apps) 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 pedido 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 assinatura de apps encontram-se na página Assinatura de apps do Play (Lançamento > Configuração > Assinatura de apps) na Play Console. Também é possível calcular outras impressões digitais transferindo 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 facultar 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 usar a ferramenta. Se preferir, pode transferir, rever e usar o código aberto da ferramenta PEPK.

Processo de assinatura de apps

Veja 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 usa 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:
    • Usar uma chave de assinatura de apps gerada pela Google: mais de 90% das novas apps usam 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 usar uma chave diferente para estes.
    • Usar uma chave de assinatura de apps diferente: a escolha da chave de assinatura de apps permite-lhe usar 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, pode 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 usar 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 usar APIs, tem de registar a chave de assinatura de apps junto delas 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 > Assinatura de apps).
  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 > Assinatura de apps).
  2. Se ainda não o fez, reveja 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. Procure 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 > Assinatura de apps).
  3. Selecione a opção de exportação e 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 usar 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 usando 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 usar 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: use a nova chave de carregamento para assinar app bundles antes de os carregar para o Google Play. A Google usa 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 vão ser 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 de 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 > Assinatura de apps).
  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 executando este comando:
    • $ apksigner rotate --out /path/to/new/file --old-signer --ks old-signer-jks --set-rollback true --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 visitando a página Assinatura de apps do Play (Lançamento > Configuração > Assinatura de apps).

Veja 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 usa 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 é recomendável 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

Esta secção contém instruções relacionadas com a atualização da sua chave de assinatura de apps. Se perdeu a chave de carregamento, não precisa de pedir uma atualização de chave. Em vez disso, consulte a secção Perdeu ou comprometeu uma chave de carregamento? na parte inferior desta página.

Em algumas circunstâncias, pode pedir uma atualização de chave de assinatura de apps.

Seguem-se alguns motivos para pedir 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.

Importante: as atualizações de chaves só são suportadas para apps que usam app bundles.

Antes de pedir uma atualização de chave na Play Console, leia a secção Considerações importantes antes de pedir uma atualização de chave. Em seguida, pode expandir as outras secções abaixo para saber mais sobre como pedir uma atualização de chave.

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

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

  • Se usar a mesma chave de assinatura de apps para várias apps de modo a partilhar código/dados entre elas, tem de atualizar as suas apps para que reconheçam os certificados da chave de assinatura de apps nova e antiga. Nos dispositivos com o Android S (nível da API 32) ou inferior, apenas o certificado da chave de assinatura de apps antigo é reconhecido pela plataforma Android para fins de partilha de dados/código.
  • Se a sua app usar APIs, certifique-se de que regista os certificados da chave de assinatura de apps nova e antiga nos fornecedores de APIs 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 > Assinatura de apps) na Play Console.  
  • Se os seus utilizadores instalarem atualizações através da partilha ponto a ponto, só 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.
Peça uma atualização de chave para todas as instalações no Android N (nível da API 24) e superior

Cada app pode ter a sua chave de assinatura de apps atualizada para todas as instalações no Android N (nível da API 24) e superior uma vez por ano.

Se pedir esta atualização de chave com êxito, a nova chave é usada para assinar todas as instalações e atualizações de apps. Nos dispositivos com o Android T (nível da API 33) e superior, a plataforma Android aplica a utilização da chave atualizada. Nos dispositivos com o Android S (nível da API 32) ou inferior, a plataforma Android não aplica a utilização desta chave atualizada e continua a reconhecer a chave de assinatura antiga como a chave de assinatura da app. Isto também inclui funcionalidades da plataforma Android (por exemplo, a partilha de autorizações personalizadas) que dependam da chave de assinatura da app. Nos dispositivos com o Android N (nível da API 24) até ao Android S (nível da API 32), o Google Play Protect vai verificar se as atualizações da app estão assinadas com a sua chave atualizada, a menos que o utilizador as desative. Isto oferece uma validação adicional, uma vez que a plataforma Android não aplica a utilização da chave atualizada em dispositivos com o Android S (nível da API 32) ou inferior.

  1. Abra a Play Console e aceda à página Assinatura de apps do Play (Lançamento > Configuração > Assinatura de apps).
  2. No cartão "Atualize a sua chave de assinatura de apps", selecione Pedir atualização de chave.
  3. Selecione uma opção para atualizar a chave de assinatura de apps para todas as instalações no Android N e superior.
  4. Permita que a 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 usar a mesma chave para assinatura de apps e carregamento, pode continuar a usar a chave de assinatura de apps antiga como chave de carregamento ou gerar uma nova chave de carregamento.
  5. Selecione um motivo para pedir a atualização de chave de assinatura de apps.
  6. Se necessário, registe a nova chave de assinatura de apps com os fornecedores de APIs.

Sugestão: se distribuir a sua app em vários canais de distribuição e quiser maximizar a compatibilidade das atualizações da app para os seus utilizadores, deve atualizar a sua chave em todos os canais de distribuição. Para garantir a compatibilidade com a atualização de chave do Google Play, use a ferramenta ApkSigner, incluída nas Android SDK Build Tools (revisão 33.0.1 ou superior):

$ apksigner sign --in ${INPUT_APK}

--out ${OUTPUT_APK}

--ks ${ORIGINAL_KEYSTORE}

--ks-key-alias ${ORIGINAL_KEY_ALIAS}

--next-signer --ks ${UPGRADED_KEYSTORE}

--ks-key-alias ${UPGRADED_KEY_ALIAS}

--lineage ${LINEAGE}

 Saiba como funcionam as atualizações de apps.

Práticas recomendadas

  • Se também distribuir a sua app fora do Google Play ou planear fazê-lo mais tarde e quiser usar 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 quer usar para todas as lojas de apps e, em seguida, transferir uma cópia respetiva 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.
    • Transferir 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.
    • Transferir 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. De seguida, o proprietário da conta de programador pode iniciar uma reposição da chave na Play Console.

Depois de a nossa equipa de apoio técnico registar a nova chave de carregamento, o proprietário da conta e os administradores globais recebem um email e uma mensagem na caixa de entrada com mais informações. De seguida, pode atualizar os repositórios de chaves e registar a sua chave junto dos fornecedores de APIs.

O proprietário da conta também pode cancelar o pedido de reposição na Play Console.

Importante: a reposição da chave de carregamento não tem impacto na chave de assinatura de apps que o Google Play usa para voltar a assinar os APKs antes de os entregar 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 usa a assinatura v4 para apps elegíveis de forma a permitir que acedam a funcionalidades de distribuição otimizadas disponíveis em dispositivos mais recentes. Não é necessária nenhuma ação do programador e não se prevê nenhum impacto junto dos utilizadores resultante da assinatura v4.

Conteúdo relacionado

A informação foi útil?

Como podemos melhorá-la?
Pesquisa
Limpar pesquisa
Fechar pesquisa
Menu principal
4287545124957178663
true
Pesquisar no Centro de ajuda
true
true
true
true
true
92637
false
false