Comment vérifier un pot signé avec jarsigner par programmation
Je suis désireux de signer un bocal à l'aide de jarsigner, puis vérifier à l'aide d'une application Java, qui n'a pas signé le pot, car une partie du classpath (c'est à dire juste en utilisant un système de fichiers à l'emplacement du pot)
Maintenant, mon problème est d'obtenir le fichier de signature du pot, est-il un moyen simple de faire cela?
J'ai eu un jeu avec le Inflater et un Pot de InputStreams avec pas de chance.
Ou est-ce quelque chose qui peut être accompli dans une meilleure façon?
Grâce
Vous devez vous connecter pour publier un commentaire.
La Fournisseur de sécurité guide de mise en œuvre décrit le processus de vérification des Pots. Bien que ces instructions sont pour un JCA fournisseur de services de chiffrement de vérifier lui-même, ils devraient être applicables à votre problème.
Plus précisément, découvrez la
verify(X509Certificate targetCert)
méthode dans l'exemple de code, "MyJCE.java".Vous pouvez simplement ouvrir le BOCAL avec java.util.jar.Jarfiles et dites-lui de vérifier le fichier JAR. Si le POT est signé, puis Jarfiles a la possibilité de le vérifier (qui est par défaut). Cependant, Jarfiles également d'ouvrir unsigned Pots heureusement, par conséquent, vous devez également vérifier si le fichier est signé. Vous pouvez le faire en vérifiant le POT de manifeste pour *Digérer les attributs: les Éléments avec un tel attribut attribut sont signés.
Exemple:
Vous pouvez utiliser l'entrée.getCodeSigners() pour obtenir les signataires d'une entrée particulière dans le POT.
Assurez-vous d'ouvrir le Jarfiles à vérifier=vrai et de mieux lire le POT à l'entrée avant d'appeler l'entrée.getCodeSigners().
Quelque chose comme cela pourrait être utilisé pour vérifier chaque entrée qui n'est pas un fichier de signature:
Vous pouvez utiliser le jarsigner application pour ce faire. Dans processbuilder (ou de l'Exécution.exec), vous pouvez exécuter la commande avec ces arguments
et si la sortie contient vérifié alors le pot est signé
Il y a de plus compliqué les choses que vous pouvez faire lorsque vous avez la sortie de la jarsigner code.