11
votes

Unsignant un pot signé

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?

Mon processus de construction est ..

  • Je décompresse tous les bocaux dans mon répertoire de construction.
  • Retirez ensuite le répertoire Meta-Inf
  • compiler ma demande
  • JAR IT UTILISANT ANT

    iget l'erreur lorsque j'essaie d'utiliser le

    SecretKeyFactory.getinstance (algorithme);

    algorithme est PBEWITHSHA256AND128BITAES-CBC-BC du château de Bouncy.


1 commentaires

Pas suffisamment d'informations. exactement quand obtenez-vous l'erreur? exactement 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)


6 Réponses :


12
votes

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é.


4 commentaires

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.



0
votes

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é.


0 commentaires

-1
votes

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.

https://docs.google.com/document/d/ 1B1ueuiIIIILEH7WDPLDD9RUUN3COAEFJCZFDJTMWeece1g / Modifier? USP = Partage


0 commentaires

18
votes

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'


2 commentaires

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 ...


Certains bocaux utilisent aussi des certs DSA



0
votes

J'ai suivi le code du plug-in Maven Jar Signer et supprimez tous les fichiers de signature et les checksums du manifeste.mf: xxx


0 commentaires

0
votes

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 .

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.


0 commentaires