Назад | Перейти на главную страницу

Учетная запись пользователя службы Windows не может получить доступ к хранилищу сертификатов

Задний план

У меня есть виртуальная машина Windows 7 с двумя учетными записями пользователей (condor_usr1 и condor_usr2), которые используются для компиляции исходного кода. Учетные записи condor_usr [1 | 2] являются членами группы администраторов. У меня есть главная виртуальная машина HTCondor, которая периодически получает задания и назначает каждое задание для запуска на одной из учетных записей condor_usr [1 | 2]. Служба condor на виртуальной машине Win7 запускается как локальная системная учетная запись, но выполняемые задания фактически запускаются как учетная запись condor_usr [1 | 2].

У меня есть новое требование подписать скомпилированный исполняемый файл. Я импортировал сертификат с закрытым ключом в хранилище ключей Current User \ Personal в хранилище сертификатов Windows.

Проблема

Если я вошел в виртуальную машину Win7 (например, через удаленный рабочий стол) в качестве одной из учетных записей condor_usr, то при компиляции, запущенной с этой учетной записью, будет успешно подписан исполняемый файл, но компиляции, запущенные от имени другой учетной записи, не смогут подписать исполняемый файл. Например, если я вошел в систему как condor_usr2, то компиляции, работающие под condor_usr2, будут подписаны успешно, а компиляции, запущенные под condor_usr1, не будут подписаны. Если я выйду из системы, обе учетные записи не будут подписаны.

Конкретная ошибка, которую я получаю:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Microsoft\VisualStudio\v15.0\OfficeTools\Microsoft.VisualStudio.Tools.Office.targets(264,9): error MSB3482: An error occurred while signing: The system cannot find the file specified.

Включил ведение журнала аудита и обнаружил следующий журнал, который произошел одновременно с ошибкой подписи.

Цель

Подпишите скомпилированный исполняемый файл успешно независимо от того, под какой учетной записью выполняется компиляция, и без необходимости входа пользователя в систему.

Что я до сих пор выяснил

Вещи, которые я пробовал

Если не указано иное, эти действия не возымели эффекта и были отменены.