我们有一对使用Qt的构建系统。由于我们希望节省签署任务的时间,并且我们需要签署我们分发的所有未签名的二进制文件,所以我们继续并在其安装位置签署了所有Qt二进制文件,对于使用Qt依赖项的一些软件包管理器,类型的设置,不同之处在于它的包被签名而不是构建从站上的本地Qt目录。后来Qt在构建时是否使其自己的库的数字签名失效?
15:24:19 Updating Qt5Core.dll.
15:24:19 Patching Qt5Core.dll...
然后在詹金斯,其数字签名生成日志:
今天,我发现无论在詹金斯并在使用Qt项目TFS构建流动,这个小两班轮显示在日志中没有被成功验证,然后用测试证书签署:
15:24:19
call "C:\Program Files (x86)\Windows Kits\10\bin\x64\signtool.exe" verify /pa C:\BuildFolder\artifacts\qt5611_win32-msvc2015\release\Qt5Core.dll
15:24:19IF NOT "!errorlevel!" == "0" echo Self-Signing C:\BuildFolder\artifacts\qt5611_win32-msvc2015\release\Qt5Core.dll & call signtool sign /f C:\DevOps\test_certificates\cert.pfx /fd SHA512 C:\BuildFolder\artifacts\qt5611_win32-msvc2015\release\Qt5Core.dll && set something_signed=true
15:24:19)
15:24:19 File: C:\BuildFolder\artifacts\qt5611_win32-msvc2015\release\Qt5Core.dll
15:24:19 Index Algorithm Timestamp
15:24:19 ========================================
15:24:19
15:24:19 Number of errors: 1
15:24:19 SignTool Error: No signature found.
15:24:19 Self-Signing C:\BuildFolder\artifacts\qt5611_win32-msvc2015\release\Qt5Core.dll
15:24:19 Done Adding Additional Store 15:24:19 Successfully signed: C:\BuildFolder\artifacts\qt5611_win32-msvc2015\release\Qt5Core.dll
是从QMake
或JOM
什么数字签名从这个Updating
/Patching
发生的事情无效?如果是这样,这是不可避免的?我并不熟悉在其他操作系统上构建Qt项目,但我记得需要使用一些工具来更改库指向的位置。我能想到的最好的结果就是像WinDeployQt
这样的事情发生在幕后。
这是前两行引述权之前运行,如果你有兴趣在什么WinDeployQt
被报告:
15:24:18
link /NOLOGO /DYNAMICBASE /NXCOMPAT /INCREMENTAL:NO /SUBSYSTEM:CONSOLE "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='removed-by-OP' language='*' processorArchitecture='*'" /MANIFEST:embed /OUT:C:\BuildFolder\bin\release\qt_test_build.exe @C:\Users\USER~1\AppData\Local\Temp\qt_test_build.exe.4012.485.jom
15:24:19windeployqt -core --no-compiler-runtime --no-quick-import --no-translations
C:\BuildFolder\solution_directory\..\bin\release\qt_test_build.exe
15:24:19 C:\BuildFolder\bin\release\qt_test_build.exe 64 bit, release executable
15:24:19 Direct dependencies: Qt5Core
15:24:19 All dependencies : Qt5Core
15:24:19 To be deployed : Qt5Core
Dag nammit!我有一种感觉,那就是发生了什么,或类似> _ <我想可以使它们的输出位置静态签名并提交给Qt DLL。我可能会为这个较小的回购站而逃避,但我有一种感觉,DevOps中的母亲慈悲会打破统治者和稻米跪xD但这是_my_问题,不是你的!谢谢,库巴奥伯! –