Bonjour,
En lançant une directive signjar par ANT, nous souhaitons signer un ensemble de jars:
Un d'entre-eux pose un problème. Il comporte 442 classes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <signjar destDir="${deploiement-client.dir}/sign" alias="${keystore.alias}" storepass="${keystore.password}" preservelastmodified="true"> <path> <fileset dir="${ihm.dir}" includes="**/*.jar" /> </path> <flattenmapper/> </signjar>
A la vérification de celui-ci, par une commande:
jarsigner -verify -verbose monJar.jar
Nous avons cet avertissement:
This jar contains unsigned entries which have not been integrity-checked.
sysTest/gestionSujets/ihm/sujetsAnnuelsV2/intituleSujet/IntituléSujetContenu.class
sysTest/gestionSujets/ihm/sujetsAnnuelsV2/intituleSujet/IntituléSujetControleur.class
sysTest/gestionSujets/ihm/sujetsAnnuelsV2/intituleSujet/IntituléSujetMVC.class
sysTest/gestionSujets/ihm/sujetsAnnuelsV2/intituleSujet/IntituléSujetPanel.class
sysTest/gestionSujets/ihm/sujetsAnnuelsV2/intituleSujet/IntituléSujetValidateur.class
Le contenu de ce jar n'est fait que de classes venues de notre projet, compilées ensemble (en une seule commande javac) et l'archive jar a été faite par une seule directive ANT "jar".
Ce problème empêche par la suite ce jar d'être utilisé par Java Web Start.
Mais surtout, il nous intrigue fortement. Qu'est-ce qui peut empêcher jarsigner, à qui l'on présente des jars, de signer quelques classes (et quelques classes seulement: 5!) qui sont à l'intérieur?
Que signifie "have not been integrity-checked"?
Qu'est-ce qui peut bien se passer? Nous sommes très perplexes.
En vous remerciant de votre assistance,
Partager