我想在 java 中调用之前验证 EXE 和 DLL。我在网上搜索过,但没有找到合适的解决方案。
我的要求是,通过提取数字证书并验证它来验证任何签名的 EXE 或 DLL。 我不喜欢通过运行时调用来使用signtool。我想要一个包含 Java 或第三方库的解决方案。 预先感谢。
我尝试过AI工具(Chat GPT/Bard),但没有达到预期的结果。 因为调用signtool和cmd会很繁重。我想要 Java 库或纯 Java。
最接近的解决方案是Jsign(免责声明:我是作者),这是一个纯Java代码签名工具,还提供了一个API来从EXE/DLL文件中提取签名。语法如下:
Signable signable = Signable.of(file); List<CMSSignedData> signatures = signable.getSignatures();
它尚未执行验证,但您可以轻松地使用 Bouncy Castle 实现对提取的 CMS 签名进行验证。