如何在java中读取和验证EXE和DLL的数字签名

问题描述 投票:0回答:1

我想在 java 中调用之前验证 EXE 和 DLL。我在网上搜索过,但没有找到合适的解决方案。

我的要求是,通过提取数字证书并验证它来验证任何签名的 EXE 或 DLL。 我不喜欢通过运行时调用来使用signtool。我想要一个包含 Java 或第三方库的解决方案。 预先感谢。

我尝试过AI工具(Chat GPT/Bard),但没有达到预期的结果。 因为调用signtool和cmd会很繁重。我想要 Java 库或纯 Java。

java dll exe digital-signature signtool
1个回答
0
投票

最接近的解决方案是Jsign(免责声明:我是作者),这是一个纯Java代码签名工具,还提供了一个API来从EXE/DLL文件中提取签名。语法如下:

Signable signable = Signable.of(file);
List<CMSSignedData> signatures = signable.getSignatures();

它尚未执行验证,但您可以轻松地使用 Bouncy Castle 实现对提取的 CMS 签名进行验证。

© www.soinside.com 2019 - 2024. All rights reserved.