Articles of 代码签名

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

我需要在Linux上对PE文件(实际上是EFI)进行数字签名和时间戳。 我发现了3个签名PE文件的工具: pesign , osslsigncode和osslsigncode (mono),但是看起来没有任何东西符合我的需求。 问题是,关键是硬件令牌,不能导出。 因此,我必须创build一个证书数据库,在那里添加令牌驱动程序,并通过这个数据库工作。 只有pesign允许这个,但它不支持时间戳。 osslsigncode和osslsigncode支持时间戳,但是他们不能使用数据库。 Windows的signttool.exe可以执行签名和时间戳作为单独的步骤。 所以我想,我可能会使用pesign签署文件,然后只用另一个工具时间戳。 但是,正如我发现的, osslsigncode和osslsigncode不支持单独的时间戳(在osslsigncode项目中列出的TODO文件,但没有在仓库中的迹象)。 有没有我错过的工具? 有没有太低级的图书馆可以让我自己编写这样的程序? (最好是C / C ++ / Perl / Python)。我尝试从osslsigncode获取时间戳代码,但是没能从之前的步骤(删除现有的签名并添加一个新的步骤)轻松地将其分离。 PS我也尝试在wine下运行signtool.exe ,但是1)没有得到它的工作,2)我不确定它在法律上允许(我不善于分析EULA)。

规范的方式来签署(并validation)一个ELF文件?

我想签署ELF文件,最好用一个PGP密钥,然后能够validation签名。 否则,如果这样做更有意义,我还将使用Authenticode或SSL证书进行签名。 现有的选项,如signelf ,似乎只能在copyleft许可证下(即使是LGPL,但强制使用它的限制)或旧的/无法维护的。 我可以在专有程序中使用哪些选项? 注意:即使ELF不是Linux特有的,我们也可以将问题的范围限制在Linux上。 即使没有准备使用自由(非版权)FLOSS许可证下的程序和/或图书馆,如果出现某种事实上的标准,我将不胜感激。 我不知道一个,但那是我问的原因。 从我看到的所有发行版似乎都依赖于签名包和validation这些。 总的来说,这很好,但我想进一步推进。

在没有GUI的情况下在Linux上签名的BlackBerry代码

经过大量的search之后,我还没有find一种在没有GUI的Linux发行版上签名BlackBerry应用程序的方法。 截至目前,我收到错误“无法请求签名,直到此应用程序已完成初始密钥生成”。 问题是我无法通过CLI注册CSI文件。 有没有人完成这个没有设置X11?

替代Mac OS X codesign在Linux上对二进制文件进行签名

我们需要在Linux上签署Mac OS X二进制文件。 是否有在Linux系统上运行的codeign工具的端口或克隆(如果它是用Java,Ruby等编写的,那么还可以)? 我们正在考虑自己移植codign工具,或者使用像Darling模拟层这样的工具,但是要尽可能地避免它 编辑:基本上我正在寻找一个相当于OSSLSigncode ,允许在Linux上签名的Windows二进制文件

电子应用程序证书需要多长时间才能build立足够的信任?

我已经使用代码签名证书在Windows上签署了我的电子应用程序。 根据https://www.electron.build/code-signing ,应用程序将显示“安装过程中的警告消失,一旦有足够的用户安装你的应用程序,并build立起信任”。 我的问题是,为了certificate我的证书是可信的,必须安装我的应用程序的用户的数量范围是多less? 这对我们至关重要,因为我们本周推出了一个testing版,并且希望避免显示这个消息。

针对Windows 10 Enterprise的inf2cat驱动程序签名?

我可以签署驱动程序文件,但只适用于Windows 10 Enterprise。 10_X86,服务器,和X64似乎并没有在企业上工作。 它有一个特定的代码来使用? 提前致谢!

如何避免由签名库引起的启动延迟?

我有一个启动服务,使用一些自己签名的DLL。 在某些情况下(当计算机连接到networking但无法访问互联网时)(Windows for),每个签名库都会尝试以某种方式validation其证书,从而将启动时间延长几秒钟。 如何防止这一点?

在Internet Explorer中下载数字签名的可执行文件时被阻止

我试图分发一个安装程序,内容和实际的setup.exe文件都已经过数字签名。 当通过Internet Explorer(以及其他浏览器)下载时,文件被“阻止” 即 它抛出了未知的发布者对话框,尽pipe它实际上具有有效的数字签名。 如果我手动从networking上复制文件或解除封锁,它工作正常。 我曾尝试使用Sysinternals Streams文件和这里的说明,但我的文件似乎并不包含任何区域,所以不能理解的原因。 仅供参考。 所有东西都在Windows 7机器上创build和签名,然后上传到Windows 2008 R2服务器 ,然后通过Windows XP SP3中的Internet Explorer 6下载文件。 有任何想法吗? 我需要将文件分发到一个对互联网或计算机安全知识知之甚less的市场,因此下面的对话将是可怕的。 如果有办法改变它,所以它会显示我们的数字签名证书(即我们的公司名称在出版商),那么这可能是一个适当的工作。 干杯

为什么Windows不能find我的证书的颁发者?

我正在尝试第一次对我的Windows应用程序(基于Unity的Mac)进行代码签名。 我用我的私钥和苹果公司发布的开发者证书(我认识到这是不寻常的,但我不明白为什么它不应该)使用osslsigncode。 由此产生的可执行文件是明确签名的,但是当用户启动它时仍会引发可怕的“未知发布者”警告。 挖掘文件属性会显示签名,但是会显示“签名中的证书无法validation”。 它正确地将发行者列为“美国,苹果公司,苹果authentication机构”。 但是,当我得到证书的详细信息,它说:“Windows没有足够的信息来validation这个证书。” 现在,这里有“安装证书”和“发行人声明”这样的button,我猜这样做会让人满意,但我当然不能指望我的最终用户这样做。 那么,这里错过了什么? 是否只有某些CA将会投诉,如果有的话,我在哪里可以find该清单? 还是在我的应用程序中还有其他东西丢失? 注意:如果需要更多的细节,所有证书对话框的屏幕截图都会在这里发布。

签署在Windows 10中使用WinUSB驱动程序的自定义* .cat文件

我需要一些关于Windows 10驱动程序签名的说明。 我们有使用Winusb.sys驱动程序的工作驱动程序包,该驱动程序从Microsoft开始签名。 但是要将这个驱动程序安装到客户机器上,我们为每个支持的平台提供了自己的* .inf和2个生成的* .cat文件。 目前我们在Windows 10中使用这个驱动程序没有问题,因为Windows 8支持的修改,但是我们想在不久的将来添加一些额外的硬件设备给驱动程序,所以它会被修改,并且需要辞职。 问题是什么证书(扩展validation(“EV”)代码签名证书或只是标准证书)我们是否需要签署这些* .cat文件,所以我们的驱动程序可以正确安装在Windows 10.也有必要提交驱动程序到Windows硬件开发人员中心仪表板门户? 我看到这个和其他一些文章指出,EV证书签名只需要内核模式驱动程序(似乎在Win10发布90天后还有用户模式驱动程序),但WinUSB驱动程序是内核模式,完全支持和初始签名由微软。 那么我们需要签署什么样的证书?.cat文件,我们是否需要将它们提交给Microsoft门户? 签名前的文件结构看起来像 司机 | – *。inf文件 | – * amd64.cat | – * x86.cat | –amd64 | –WdfCoInstaller01009.dll | –winusbcoinstaller2.dll | –i386 | –WdfCoInstaller01009.dll | –winusbcoinstaller2.dll | –ia64 | –WdfCoInstaller01009.dll | –winusbcoinstaller2.dll