Perdi meu arquivo .keystore?

87

Ok pessoal .. resumindo, eu estava desenvolvendo em um computador ao qual não tenho mais acesso. Consegui recuperar o código-fonte, mas não o arquivo .keystore usado para assinar e publicar meu aplicativo no mercado (com várias atualizações). Será que eu, e meus usuários insatisfatórios, ficamos sem sorte se algum dia quiser atualizar?

Eu sei a senha usada para assinar a chave (pelo menos é uma das três que poderia ser), então posso criar outra? Deve haver uma maneira de contornar isso .. que tal uma falha no disco rígido?

eportermd
fonte
14
Se houver foi uma maneira de contornar isso, seria derrotar todo o propósito de segurança que é suposto servir!
Santa
2
Verifique esta resposta Agora é possível.
Desenvolvedor Vicky

Respostas:

79

Enfrentou o mesmo problema. Eu estava tentando restaurá-lo por meio de ferramentas de restauração de arquivos excluídos, mas falhou. Então, não tem outro jeito: você deve lançar outro aplicativo.

Geralmente, o único aviso que existe em keystores: "sempre faça backup!"

Vladimir Ivanov
fonte
1
Enfrentei isso e tive que relançar uma nova versão do meu aplicativo. Desde então, todas as minhas chaves estão no Dropbox.
Varun
Após atualizar para o Android Studio 3.3, meu antigo armazenamento de chaves não é mais aceito durante a assinatura do aplicativo. A mensagem de erro "Não é possível recuperar a chave" é exibida.
Ano de
55

Agora é possível, não se preocupe, aqui estão as etapas completas e finais para redefinir o arquivo .JKS.

Eu descansei minha CHAVE com sucesso

Passo 1

Baixe o CERTIFICADO UPLOAD (nome do arquivo - upload_cert.der ) de seu console da Google Play Store

baixar o arquivo upload_cert.der

Passo 2

Vá para este LINK https://support.google.com/googleplay/android-developer/contact/otherbugs E preencha o formulário de inscrição com seu ID de e-mail válido e carregue o arquivo (upload_cert.der).

Preencha o formulário de inscrição

Etapa 3

Agora você receberá o e-mail da equipe de suporte, e eles não precisam do seu arquivo .JKS, mas o arquivo .PEM aqui é o exemplo de e-mail.

insira a descrição da imagem aqui

Passo 4

para converter o arquivo .JKS em .PEM, você só precisa baixar o KeyStore Explorer JKS para PEM

Depois de responder ao e-mail, espere de 48 a 72 horas, o preenchimento do keystore será reiniciado.

Desenvolvedor Vicky
fonte
6
E se o login do Google Play App não estiver habilitado para um aplicativo?
Vipul Behl
Nada foi encontrado, exceto ele. O Google anunciou oficialmente a nova técnica de assinatura do Android App no ​​mês de maio de 2017.
Desenvolvedor Vicky
1
na etapa 3. preciso criar um novo arquivo jks e convertê-lo em arquivo pem e enviá-lo como um e-mail repaly para eles. esta etapa está correta ??
giveJob
1
sim, você tem que criar um novo arquivo JSK e converter em PEM @HemanthSP
Desenvolvedor Vicky
Sim, eu fiz, e agora meu novo keystore está qualificado para upload, eu tenho que confirmar o google mail
giveJob
35

Até hoje, perder sua chave tornaria impossível atualizar seu aplicativo com uma nova versão. Nesses casos, a única solução era publicar um novo aplicativo, com um novo nome de pacote e chave, e pedir a todos os usuários que o instalassem.

A partir de hoje, a chave de assinatura do app no ​​Play Console agora é gerenciada com segurança pelo Google Play, o que significa que você é responsável apenas por gerenciar sua chave de upload. Se sua chave de upload for comprometida ou perdida, a equipe de operações de desenvolvedor do Google pode ajudar verificando sua identidade e redefinindo sua chave de upload. O Google ainda assinará novamente com a mesma chave de assinatura do aplicativo, permitindo que o aplicativo seja atualizado normalmente.

Para aplicativos existentes , é necessário transferir sua chave de assinatura do aplicativo para o Google Play. Para novos aplicativos , o Google pode gerar sua chave de assinatura de aplicativo. Depois de se inscrever na assinatura do app, você assina seu APK com uma chave de upload, que o Google usa para autenticar sua identidade. Eles então removerão essa assinatura e assinarão novamente seu aplicativo com a chave de assinatura do aplicativo.

Referência: Ajuda do Play Console> Gerenciar suas chaves de assinatura de aplicativo

aygul
fonte
13

É possível por um longo tempo.

  1. Siga as instruções na Central de Ajuda do Android Studio para gerar uma nova chave. Deve ser diferente de qualquer chave anterior. Como alternativa, você pode usar a seguinte linha de comando para gerar uma nova chave:

keytool -genkeypair -alias newalias -keyalg RSA -keysize 2048 -validity 9125 -keystore nameofkeystore.jks

Essa chave deve ser uma chave RSA de 2048 bits e ter validade de 25 anos.

  1. Exporte o certificado dessa chave para o formato PEM:

keytool -export -rfc -alias newalias -file upload_certificate.pem -keystore nameofkeystore.jks

Em seguida, carregue este arquivo pem e preencha o formulário e envie-o para este site . E então você receberá um e-mail assim que registrarmos a nova chave de upload. Aceita apenas solicitações de redefinição de chave do proprietário da conta do Play Console .

Tudo muito bem. Você pode publicar um novo apk de lançamento com seu novo arquivo jks.

ksgngrkn
fonte
2
Isso só funciona se você tiver o Google Play App Signing habilitado.
Sumit
não . não há necessidade de Google Play App Signing. pelo menos eu não habilito.
ksgngrkn
Isso está documentado em algum lugar?
Sumit
Isso só funciona para aplicativos de assinatura de app. Acabei de confirmar.
Euridice01
11

Se você souber sua senha do keystore, ainda não tem a chave privada associada para assinar seu aplicativo. Você também não tem chance de gerar a mesma chave privada que corresponde à sua chave pública.

Portanto: Sempre faça backup do arquivo keystore. É tão importante quanto seu código-fonte.

saxos
fonte
1
Então, se entendi corretamente, essa chave privada é gerada aleatoriamente por keystore, certo? E a única coisa que sabemos é a chave pública, correto?
iCantSeeSharp
Se você tiver um acesso autorizado ao keystore, também poderá exportar a chave privada e importá-la para outros keystores ou serviços.
saxos
É ideal armazenar seu arquivo de armazenamento de chaves e chaves junto com seu repo?
Neon Warge de
3

Se você ativou a assinatura do Google Play App para seu aplicativo, não precisa se preocupar.

Para verificar se a assinatura de aplicativos do Google Play está ativada, vá para Gerenciamento de versão -> Assinatura de aplicativos em seu Google Play Console.

Se estiver ativado, você pode entrar em contato com o Suporte do Google Play preenchendo o formulário de suporte ou então você também pode optar por chat ao vivo com uma equipe de suporte aqui: https://support.google.com/googleplay/android-developer/answer/7218994? hl = en

Explique-lhes o seu problema e eles lhe dirão as próximas etapas, que incluem a criação de um novo keystore RSA de 2048 bits com validade de 25 anos e a exportação da chave para o formato PEM e o envio por e-mail para eles.

Para exportar a chave para o formato PEM:

keytool -export -rfc -alias upload -file upload_certificate.pem -keystore keystore.jks
Harsh Savergaonkar
fonte
Esta deve ser a resposta certa.
Caio Santos
2

De longos dias, também busco uma solução para isso, mas não com sucesso até agora. Se você tiver a última versão do apk do aplicativo, poderá recuperar certificados usando o comando jarsigner cmd. Mas você precisa de uma chave privada para atualização. O Google Play não ofereceu nenhum relaxamento para isso.

Ranjit Chandel
fonte
3
você tem mais informações sobre como fazer isso?
Zabs
1

Eu gerei o apk assinado usando o Android Studio, então no " caminho do armazenamento de chaves " eu apenas digitei algum nome sem extensão, preencha este pop-up e assinei o aplicativo. insira a descrição da imagem aqui

Da próxima vez que publicar o aplicativo, não me lembro do caminho e do nome onde foi criado.

de alguma forma, encontro o local padrão que é "C: \ Arquivos de programas \ Java \ jdk1.8.0_45 \ jre \ bin": \ jre \ bin

e naquela pasta abreviada por data, então eu tentei com arquivo recente e funcionou para mim.

Observação: você deve se lembrar da senha do armazenamento de chaves e da senha da chave.

Murari Kumar
fonte
0

Deve haver uma maneira de contornar isso .. que tal uma falha no disco rígido?

Gostaria de acrescentar que sempre mantenha um backup do keystore em armazenamento em nuvem como Google Drive, Dropbox ou envie por e-mail para você mesmo.

Yogesh Umesh Vaity
fonte
Claro que existem maneiras de contornar isso, é só que o Google não vai fazer isso. A Windows Store (mesmo que ninguém a use) permite que você assine seus aplicativos do Visual Studio (você só precisa estar conectado com sua conta da loja) e, em seguida, pode ser facilmente carregado para a loja. Google--; Microsoft ++;
Juan Carlos
0

Sim, você pode lançar uma atualização para o aplicativo existente com uma nova chave!

O Google agora permite que você carregue a nova chave para o aplicativo existente, solicitando a redefinição por e-mail / chat ao vivo no Suporte do Google.

Esse processo leva de 1 a 2 dias úteis.

Eu segui esse processo e fiz upload de uma atualização para o mesmo aplicativo com uma nova chave. A equipe técnica da Google Play Store me ajudou a redefinir a chave anterior.

Zair Abbas
fonte
0

É possível agora, depois de maio de 2017, você pode atualizar seu aplicativo se você perdeu seu keystore ou senha do keystore. Você não pode recuperar seu armazenamento de chave perdido, mas pode substituir o armazenamento de chave no playstore. Clique aqui

Processo de assinatura do aplicativo:

Você pode fazer upload de APKs assinados com a chave de assinatura do app original antes ou depois de ativar a assinatura do app pelo Google Play.

Se você está começando a usar Android App Bundles, pode testá-los em faixas de teste enquanto usa seu APK existente em produção. Veja como funciona o processo:

  1. Assine seu pacote de apps ou APK e faça upload para o Play Console.
  2. Dependendo do que você enviar, veja como o processo de assinatura difere:

    • Pacote de aplicativos: o Google gera APKs otimizados a partir do pacote de aplicativos e os assina com a chave de assinatura do aplicativo.
    • APK assinado com a chave de upload: o Google verifica e remove sua assinatura do APK e, em seguida, resigna o APK com a chave de assinatura do app.
    • APK assinado com a chave de assinatura do app: o Google verifica a assinatura. O Google entrega APKs assinados aos usuários.
Parmita Koradiya
fonte