Esta é uma pergunta geral, mas particularmente estou interessado em usá-lo para Android. O que é um arquivo keystore e para que é usado?
Vários aplicativos Android podem usar o mesmo keystore para assinar seu aplicativo (o que exatamente significa "assinar" um .apk?) E quais são as implicações (se houver) disso?
Respostas:
A resposta que eu daria é que um arquivo keystore é para se autenticar com qualquer pessoa que esteja perguntando. Não se restringe apenas a assinar arquivos .apk, você pode usá-lo para armazenar certificados pessoais, assinar dados a serem transmitidos e toda uma variedade de autenticação.
Em termos do que você faz com ele no Android e provavelmente o que você está procurando desde que mencionou a assinatura de apk, é o seu certificado. Você está marcando seu aplicativo com suas credenciais. Você pode marcar vários aplicativos com a mesma chave; de fato, é recomendável usar um certificado para marcar vários aplicativos que você escreve. É mais fácil acompanhar quais aplicativos pertencem a você.
Não sei ao certo o que você quer dizer com implicações. Suponho que isso signifique que ninguém, exceto o titular do seu certificado, possa atualizar seu aplicativo. Isso significa que, se você o liberar, perder o certificado usado para assinar o aplicativo, não poderá liberar atualizações; portanto, mantenha esse certificado seguro e com backup, se necessário.
Mas, além de assinar os aplicativos para liberá-los, você pode usá-lo para autenticar seu dispositivo em um servidor via SSL, se desejar, (também relacionado ao Android), entre outras funções.
fonte
O Android Market exige que você assine todos os aplicativos publicados com um certificado, usando um mecanismo de chave pública / privada (o certificado é assinado com sua chave privada). Isso fornece uma camada de segurança que impede, entre outras coisas, que atacantes remotos enviem atualizações maliciosas ao seu aplicativo para o mercado (todas as atualizações devem ser assinadas com a mesma chave).
No Guia de assinatura de aplicativos do site do desenvolvedor do Android:
Usar a mesma chave tem alguns benefícios - Uma é que é mais fácil compartilhar dados entre aplicativos assinados com a mesma chave. Outra é que ele permite que vários aplicativos assinados com a mesma chave sejam executados no mesmo processo, para que um desenvolvedor possa criar aplicativos mais "modulares".
fonte
Você pode encontrar mais informações sobre o processo de assinatura na documentação oficial do Android aqui: http://developer.android.com/guide/publishing/app-signing.html
Sim, você pode assinar vários aplicativos com o mesmo keystore. Mas você deve se lembrar de uma coisa importante: se você publicar um aplicativo na Play Store, precisará assiná-lo com um certificado sem depuração. E se um dia você quiser publicar uma atualização para este aplicativo, o keystore usado para assinar o apk deve ser o mesmo. Caso contrário, você não poderá postar sua atualização.
fonte
Toda a ideia de uma ferramenta de chave é assinar seu apk com um identificador exclusivo, indicando a origem desse apk. Um arquivo keystore (pelo que entendi) é usado para depuração, para que seu apk tenha a funcionalidade de um keytool sem assinar seu apk para produção. Então, sim, para fins de depuração, você deve assinar vários apks com um único keystore. Mas entenda que, ao avançar para a produção, você precisará de ferramentas exclusivas como identificadores para cada apk criado.
fonte
keytool
que é isso que você quer dizer. keytool é um programa java usado para gerar keystores.