首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Linux上向签名的PE文件添加时间戳证书?

如何在Linux上向签名的PE文件添加时间戳证书?
EN

Stack Overflow用户
提问于 2015-01-20 23:35:54
回答 3查看 1.5K关注 0票数 7

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

Windows signttool.exe可以作为单独的步骤执行签名和时间戳。因此,我想,我可以使用pesign对文件进行签名,然后使用另一个工具对其进行时间戳。但正如我所发现的,osslsigncodesigncode不支持单独的时间戳(在osslsigncode项目中,它在TODO文件中列出,但在存储库中还没有显示)。

我漏掉了什么工具吗?难道没有太低层次的库可以让我自己编写这样的程序吗?(最好是C/C++/Perl/Python。)我试图从osslsigncode中获取时间戳代码,但未能轻松地从前面的步骤中分离出来(删除现有签名并添加一个新签名)。

我也试图在葡萄酒下运行signtool.exe,但没有成功;2)我不确定它是否合法(我不擅长分析EULAs)。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-07-07 07:46:34

自2015年3月以来,osslsigncode中有一个补丁,它允许您通过PKCS#11令牌上的密钥对代码进行签名。这还不是正式发布的一部分。所以你必须自己建造,但它对我来说很有魅力。

一个示例调用如下所示:

代码语言:javascript
运行
复制
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格式。

票数 3
EN

Stack Overflow用户

发布于 2016-06-08 21:12:57

SignServer企业版支持使用Authenticode对PE文件进行签名和时间戳.

此外,通过PKCS#11接口支持硬件令牌。

SignServer通常安装在单独的服务器或VM上,最好在Linux上运行(但也支持Windows )。

您想要签名的文件可以通过HTTP简单地发送到服务器,然后响应就是签名的文件。

https://www.signserver.org/

票数 1
EN

Stack Overflow用户

发布于 2021-03-11 14:13:16

当前-t具有时间戳选项osslsigncode

代码语言:javascript
运行
复制
osslsigncode sign \
  -pkcs12 cert.pfx -pass "**********" \
  -t http://timestamp.digicert.com \
  -in app.exe  -out app-sign-with-timestamp.exe

请参阅https://github.com/mtrojnar/osslsigncode

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28057187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档