gpt4 book ai didi

linux - 如何在 Linux 上将时间戳证书添加到已签名的 PE 文件?

转载 作者:IT王子 更新时间:2023-10-29 00:32:09 24 4
gpt4 key购买 nike

我需要在 Linux 上对 PE 文件(实际上是 EFI)进行数字签名和时间戳。我找到了 3 种用于签署 PE 文件的工具:pesignosslsigncodesigncode (mono),但似乎都不太符合我的需要。问题是, key 在硬件 token 上,无法导出。因此我必须创建一个证书数据库,在那里添加 token 驱动程序条目并通过该数据库工作。只有 pesign 允许这样做,但它不支持时间戳。 osslsigncodesigncode支持时间戳,但不能使用数据库。

Windows signttool.exe 可以作为单独的步骤执行签名和时间戳。所以我想,我可能会使用 pesign 对文件进行签名,然后仅使用其他工具为其添加时间戳。但正如我发现的那样,osslsigncodesigncode 不支持单独的时间戳(在 osslsigncode 项目中它列在 TODO文件,但在存储库中还没有它的迹象)。

我错过了一些工具吗?是否有不太低级的库可以让我自己编写这样的程序? (最好是 C/C++/Perl/Python。)我试图从 osslsigncode 获取时间戳代码,但未能轻松地将其从前面的步骤中分离出来(删除现有签名并添加新签名)。

附言我还尝试在 wine 下运行 signtool.exe,但 1) 无法正常运行,以及 2) 我不确定它是否合法(我不擅长分析 EULA)。

最佳答案

自 2015 年 3 月以来,有一个 patchosslsigncode 中,它允许您通过 PKCS#11 token 上的 key 对代码进行签名。它还不是正式版本的一部分。所以你必须自己构建它,但它对我来说就像魅力一样。

调用示例如下所示:

osslsigncode sign -pkcs11engine /usr/lib/engines/engine_pkcs11.so -pkcs11module /usr/lib/libeTPkcs11.so  -certs ~/mysigningcert.pem  -key 0:42ff -in ~/filetosign.exe -out ~/signedfile.exe

-pkcs11module开关以PKCS#11库为参数,-key的参数格式为slotID:keyID .

关于linux - 如何在 Linux 上将时间戳证书添加到已签名的 PE 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28057187/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com