我正在使用充气城堡提供商进行AES加密。我需要从bc和我的jar创建一个胖罐,但是一旦我这样做,我就会得到Algorithm not found例外。是否有可能摆脱这个标志并从中创造出常规的罐子?
我的构建过程是..
当我尝试使用
时,我发现错误SecretKeyFactory.getInstance(算法);
算法是来自充气城堡的PBEWITHSHA256AND128BITAES-CBC-BC。
答案 0 :(得分:13)
要从jar文件中删除签名,请从中删除require('react-bootstrap-datetimepicker');
...
render: function() {
return <DateTimeField />;
}
目录。 jar文件是一个zip文件,所以在Linux上你可以这样做:
META-INF
答案 1 :(得分:11)
签署jar文件时,新文件会被添加到META-INF目录中,例如: “MKSIGN.SF”和“MKSIGN.DSA”。只需将它们从jar文件中删除(使用任何zip实用程序),然后将其保留为未签名。
答案 2 :(得分:0)
您必须从已签名的jar中删除签名文件。将其扩展名更改为zip,删除签名文件,然后更改回jar。从那时起,jar就不再是未签名的了。
答案 3 :(得分:0)
我按照maven jar signer插件中的代码删除了所有签名文件以及MANIFEST.MF中的校验和:
find -type f \( \( -name "*.RSA" -o -name "*.SF" \) -o \( -name "*.EC" -o -name "*.DSA" \) \) -print0 | xargs -0 --no-run-if-empty rm -rf
sed -i '/^Name: .*.class/Q' MANIFEST.MF
答案 4 :(得分:0)
您可能会遇到Bouncy Castle罐子的特定问题。有弹性的城堡实现了加密服务提供者接口,因此可能会使用technotes of Java's documentation中介绍的自我验证技术。
对于Bouncy Castle,可能无法使用“胖子”技术。您可以使用替代的类加载方法,该方法将从您自己的jar中加载完整的充气城堡jar(使用带有URLClassLoader的jar:// path / to / jar!/ path / within / jar语法),但我没有尝试过这和我不符合您的需求。
答案 5 :(得分:-1)
我整理了一个perl脚本,我在生产中使用它来删除JAR签名。只需将带有jar的文件夹作为参数传递。这适用于linux。它可能适用于cygwin,虽然我还没有在windows中测试它。
https://docs.google.com/document/d/1B1uEUIiuxh7WdPldD9rUun3COAefjczfdJTMWEecE1g/edit?usp=sharing