J'utilise le fournisseur de châteaux Bouncy pour le cryptage AES. J'ai besoin de créer un gros bocal de la Colombie-Britannique et de mon pot, mais dès que je le fais, je reçois une algorithme introuvable exception. Est-il possible de se débarrasser du panneau et de créer un pot régulier de celui-ci? P>
Mon processus de construction est .. p>
iget l'erreur lorsque j'essaie d'utiliser le p>
SecretKeyFactory.getinstance (algorithme); P>
algorithme est PBEWITHSHA256AND128BITAES-CBC-BC du château de Bouncy. P>
6 Réponses :
Lorsque vous signerez un fichier JAR, de nouveaux fichiers sont ajoutés au répertoire Meta-Inf, par exemple. "Mksign.sf" et "mksign.ddsa". Il suffit de les supprimer du fichier JAR (avec n'importe quel utilitaire ZIP), et vous l'avez non signé. P>
Je supprimai complètement le répertoire Meta-Inf, je n'ai aucune exception d'algorithme
Ce n'est pas pratique. Lorsque votre certificat expire et que vous devez repousser 40 pots dans ce dossier "Lib" faisant que ce seul par-un serait une douleur.
Cheerio, c'est toujours la réponse, vous pourriez peut-être l'automatiser par programme si vous avez 40 à non signé. Mais au lieu de religner un pot en place, signez-le à un DIR différent pour éviter ce problème.
@cherio Pour précisément cette raison, si vous avez également horodatage lors de la signature, vous n'avez pas besoin de les résigner après expiration de votre certificat.
Vous devez supprimer des fichiers de signature d'un pot signé. Changez son extension à Zip, supprimez les fichiers de signature et remplissez-le sur JAR. Depuis maintenant que le pot n'est plus non signé. P>
Je mets ensemble un script Perl que j'utilise dans la production pour éliminer les signatures de jar. Il suffit de passer le dossier avec des pots comme un argument. Cela fonctionne sous Linux. Cela peut fonctionner avec Cygwin, bien que je ne l'ai pas testé dans Windows. P>
Pour supprimer la signature d'un fichier JAR, supprimez le répertoire meta-Inf code> de celui-ci. Un fichier JAR est un fichier zip, donc sur Linux, vous pouvez le faire:
zip -d file.jar 'META-INF/*.SF' 'META-INF/*.RSA'
Super - exactement ce dont j'avais besoin! S'il y a plusieurs fichiers sur UN-SIGN, on peut utiliser pour i in * .jar; Est-ce que zip -d "$ i" '' meta-inf / *. SF '' Meta-Inf / *. RSA '; fait code> ...
Certains bocaux utilisent aussi des certs DSA
J'ai suivi le code du plug-in Maven Jar Signer et supprimez tous les fichiers de signature et les checksums du manifeste.mf:
Vous pouvez rencontrer un problème spécifique avec des pots de château de Bouncy. Le château de Bouncy met en œuvre l'interface de fournisseur de services cryptographiques et, comme cela peut utiliser une technique d'auto-vérification présentée dans le Technotes de la documentation de Java . P>
Dans le cas de château rebondi, la technique "Fat Jar" peut ne pas être possible. Vous pouvez utiliser une approche de chargement de classe alternative qui chargerait les pots de château reboncés intacts de votre propre pot (à l'aide de la jarre: // chemin de chemin / jar / jar! / Syntaxe du chemin / JAR avec un URLClassloader) mais je n'ai pas essayé Ceci et je ne fais pas raison pour vos besoins. P>
Pas suffisamment d'informations. exactement i> quand obtenez-vous l'erreur? exactement i> quel est le message d'erreur? Martin a raison sur les fichiers SF / DSA, plus, vous devrez peut-être également supprimer des digests de Manifest.MF. Ce n'est pas une bonne idée de supprimer complètement le répertoire Meta-Inf (pas sûr qu'il s'agit d'un bocal valide sans manifeste)