2010-07-24 3 views

Répondre

16

Le point de signature d'un fichier JAR est de vérifier qu'il n'a pas été falsifié. Une fois qu'un fichier jar est signé, vous pouvez vérifier que ce fichier n'a pas été modifié par quelqu'un d'autre. Cela garantit que le fichier provient de la personne qui l'a signé à l'origine. Si quelqu'un a modifié le fichier entre le processus de vérification de la signature échouera. Vous pouvez vérifier this article pour plus de détails sur la façon dont public key cryptography pourrait être utilisé pour effectuer une signature numérique.

5

Lorsque vous signez un fichier jar, vous pouvez montrer que c'est que vous avez signé et non quelqu'un d'autre. C'est la même idée lorsque vous signez un document - vous seul pouvez écrire votre signature. D'autres personnes peuvent le signer, mais ils le signeront avec leur signature, pas la vôtre.

Avec des signatures manuscrites, un faussaire qualifié peut apprendre à copier votre signature. Avec digital signatures, il est beaucoup plus difficile de faire une copie parce que vous devez obtenir la clé privée de cette personne. Sans la clé privée, vous ne pouvez pas faire une signature qui ressemble à la leur.

5

La signature d'un pot lie le contenu à un certificat particulier. Alors, qu'est-ce que ce certificat prouve?

Si la clé privée du certificat a été volée, alors pas beaucoup. Il existe des dispositifs inviolables pour garder les clés privées. Cependant, souvent les clés privées reposent souvent sur des machines de développement. Ces machines ne sont probablement pas bien protégées.

Un certificat peut lui-même être signé par une autorité de certification (CA) bien connue. Ainsi, l'utilisateur final a une certaine confiance que le contenu a l'origine revendiquée. La quantité de vérification que le détenteur de clé de certificat est qui ils prétendent être varie. Cela a conduit à une course vers le bas où les CA simplifient les procédures pour offrir des prix plus bas.

Même pour les certificats non vérifiés, un contenu différent signé avec le même certificat montre une origine commune. Ainsi, si vous décidez de faire confiance à un certificat, vous pouvez recevoir plus de contenu de la même origine sans faire confiance à quelqu'un d'autre.

+1

Vous voulez dire une clé privée, et non un certificat, dans la plupart de ce qui précède. – EJP

+0

Certificat @EJP incluant la clé privée? Le mécanisme de signature de la confiance n'est pas vraiment ma spécialité. –

+1

Vous avez un certificat, qui est public et contient la clé publique, et une clé privée. Dans un keystore Java, la clé privée est également enveloppée dans un CERT mais ce n'est qu'un détail d'implémentation, elle ne sort jamais comme ça, et vous seriez principalement concerné par le vol de l'ensemble du keystore ou (en quelque sorte) de la clé privée. Parler de vol de certs n'a pas de sens, ils sont publics. – EJP