J'ai joué avec openssl pour créer une clé pub / prv et créer une signature de fichier et la valider. J'ai joué avec Cryptophane (interface Windows gnupg) et entendu parler des serveurs de clés + joué avec la signature du texte.
Je n'ai cependant jamais signé d'archives de fichiers. Si je veux publier une archive (7z, rar ou zip, cela n'a pas d'importance) et que je souhaite que mes utilisateurs ou logiciels puissent vérifier si CETTE archive a été signée, comment dois-je procéder? La clé publique devrait évidemment être disponible publiquement. Mais l'ajout de la signature aux archives est ce qui me dérange. Est-ce qu'un logiciel + archive me permet de signer et de vérifier un fichier d'archive compressé?
Réponses:
Une méthode courante consiste à créer une signature détachée dans un
.sig
fichier (généralement une signature PGP en utilisantgpg -b
- X.509 est très rare) et à fournir les deux fichiers au même emplacement. Par exemple:Cela peut être utilisé avec n'importe quel type de fichier, mais l'utilisateur devra vérifier manuellement la signature à l'aide de
gpg --verify
.Malheureusement, parmi ceux actuellement utilisés, aucun format d'archive (à ma connaissance) ne prend en charge les signatures intégrées à l' aide de PGP ou X.509. (Ceci exclut CAB, qui est utilisé par Windows en interne mais pratiquement nulle part ailleurs, et est plutôt compliqué à signer). WinRAR 4 a pu ajouter un enregistrement de "vérification d'authenticité" en utilisant un format propriétaire, mais il utilise votre licence WinRAR comme clé de signature, qui a été piratée à plusieurs reprises. (Mise à jour: cette fonctionnalité a été supprimée de WinRAR 5 en raison de l'insécurité.)
Sous Windows (et bientôt Mac OS X), il est possible de créer une "archive auto-extractible" - un exécutable signé numériquement qui extrait une archive de lui-même - c'est ainsi que les installateurs de logiciels sur Windows fonctionnent, par exemple. Cependant, les SFX sont limités à un seul système d'exploitation, ils ne conviennent qu'à la distribution de programmes , pas de documents ou d'images. (Les programmes Java peuvent être signés et sont multiplates-formes, mais peu de systèmes ont encore un runtime Java.)
la source
Les jar-archives, construites avec Javas jar-tool, sont en fait des archives zip, et il existe un outil, le jarsigner, pour les signer.
Voici quelques liens utiles:
Cela semble un peu compliqué en premier ("Quoi, j'ai besoin de keeytool pour? Quoi d'autre?") Mais il est facile de suivre les étapes pour le résoudre de manière simple. Ça marche. Ensuite, vous pouvez approfondir la question.
la source
manual verification
? Quelle est l'alternative? Un autopopup, qui se vérifie toutes les 10 minutes? Le système d'exploitation vérifiera-t-il automatiquement l'archive au démarrage? Lorsqu'une archive est reçue - que ce soit à partir d'un CD, d'une pièce jointe à un courrier électronique, d'un téléchargement, ...? Doit-il s'agir d'un plugin dans votre antivirus?.deb
les signatures de package sont vérifiées pardpkg
avant l'installation du package, sans que l'utilisateur n'ait à effectuer d'action supplémentaire.Bien sûr, chaque fois que vous installez un logiciel signé, vous vérifiez une archive signée. Pour en créer un, vous devez utiliser les mêmes outils de packaging que les développeurs utilisent. Il existe des compromis, une facilité d'utilisation contre la compatibilité multiplateforme. Je ne peux pas penser à un moyen de créer une archive auto-extractible signée multiplateforme.
Pour Windows, créez une archive auto-extractible avec l'outil iexpress, puis signez-la à l'aide de signtool.exe, comme décrit ici . Lorsque vos utilisateurs double-cliquent sur le fichier, ils ont la fenêtre de confirmation familière qui vous identifie en tant qu'éditeur de l'archive.
la source
Vous pouvez signer des fichiers à l'aide de jarsigner avec ces deux commandes:
Vous devez installer java jdk sur votre PC.
-La première commande crée le magasin de clés dans le répertoire courant (en supposant qu'il n'existe pas déjà). Il génère une paire de clés publique / privée en utilisant l'algorithme SHA-256.
-Le second signe le fichier en utilisant le même algorithme, le magasin de clés et l'alias généré par le premier.
Pour vérifier un fichier signé à l'aide d'un magasin de clés, vous pouvez exécuter cette commande:
la source