Как я могу вызвать доверенную подпись Azure из ОС Linux?Linux

Ответить Пред. темаСлед. тема
Anonymous
 Как я могу вызвать доверенную подпись Azure из ОС Linux?

Сообщение Anonymous »

Моя компания была недавно удивлена ​​истечением срока действия сертификата подписи кода, и ей пришлось изо всех сил искать замену сертификату, только чтобы обнаружить, что с прошлого года сфера подписывания кода сместилась в сторону системы на основе USB-ключей, где сертификаты больше не доступны напрямую. Изучая альтернативы, мы остановились на новой службе Azure Trusted Signing, которая предлагает своего рода «подпись как услугу», и мы смогли настроить наш процесс сборки так, чтобы использовать его достаточно эффективно в контексте Windows. Теперь мы хотим правильно включить его в наш современный конвейер CI/CD, но несколько лет назад мы перешли на время сборки и выполнения Linux, и похоже, что не существует очевидного способа вызвать Azure Trusted Signing из среды выполнения Linux. .
Основной поддерживаемый способ (согласно документации здесь https://learn.microsoft.com/en-us/azure ... tegrations). похоже, используется специальная версия Signtool.exe, которая, по-видимому, загружает отдельную библиотеку MS, которая выполняет веб-запрос к ресурсу подписи в Azure. Это то, что я раньше работал, и, похоже, это то, что скрыто под всеми перечисленными альтернативами (github/Azure Devops action, powershell, sdk), но все они кажутся совершенно новыми и не имеют никакой документации/инструкций и никого. пока спрашиваю о них, и ни один из них не работает вне контекста Windows.
Я пытался использовать Wine 9 для запуска моей рабочей установки Signtool.exe из контекста Ubuntu 20.04 с чистой установкой, но Я получаю сообщение об ошибке, которое не могу понять, как устранить:

Код: Выделить всё

wine "./Microsoft.Windows.SDK.BuildTools_10.0.22621.0/signtool.exe" sign /debug /v /fd SHA256 /tr "http://timestamp.acs.microsoft.com" /td SHA256 /dlib "./Microsoft.Trusted.Signing.Client_1.0.53/Azure.CodeSigning.Dlib.dll" /dmdf "./signinfo.json" "/home/asdf.exe"
007c:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
007c:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
007c:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
007c:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
00f8:err:module:import_dll Library MFC42.dll (which is needed by L"Z:\\home\\Microsoft.Windows.SDK.BuildTools_10.0.22621.0\\signtool.exe") not found
00f8:err:module:loader_init Importing dlls for L"Z:\\home\\Microsoft.Windows.SDK.BuildTools_10.0.22621.0\\signtool.exe" failed, status c0000135

Я успешно запустил Winetricks mfc42 и убедился, что .dll находится в виртуальной папке syswow64, и я попытался переместить папку, содержащую ресурсы Signtool, в каталог виртуальных программных файлов, все безрезультатно. Версия Signtool.exe, которую я вызываю, является 64-битной, и я убедился, что моя установка Wine работает, без проблем запустив Wine notepad.exe.
В качестве обходного пути я В настоящее время я работаю над функцией Azure, которую моя сборка может вызывать, когда придет время подписывать .exe-файлы (все для того, чтобы я мог находиться в контексте Windows), но это представляет собой огромный риск для безопасности, поскольку я, по сути, просто создаю URL-адрес, который любой, кто находится за моим брандмауэром, может подписать все, что захочет.
Почему использование Wine для запуска Signtool.exe не работает? Есть ли лучший способ выполнить то, что я пытаюсь сделать, предполагая, что я не хочу переключаться на другого поставщика подписи кода и хочу продолжать использовать доверенную подпись Azure?

Подробнее здесь: https://stackoverflow.com/questions/787 ... a-linux-os
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Linux»