У меня есть задание Jenkins, на котором запущена утилита signtool на удаленном узле, журнал консоли выглядит так:
Started by user anonymous
Building remotely on vm-builder
[VE] $ cmd /c call "C:\Documents and Settings\builder\hudson6959487656440210459.bat"
USERNAME=builder
d:\work\workspace\VE>d:\work\workspace\VE\CodeSign\signtool.exe sign /f d:\work\workspace\VE\CodeSign\Shunra.pfx /p "shunrail" /t http://timestamp.verisign.com/scripts/timstamp.dll /du "www.shunra.com" /v d:\work\workspace\VE\ShunraInstallationServices\lib\net\Release\ShunraInstallationServices.dll
Number of files successfully Signed: 0
Number of warnings: 0
Number of errors: 1
SignTool Error: IStore2::Load returned error: 0x80090345
The requested operation requires delegation to be enabled on the machine.
SignTool Error: An error occurred while attempting to load the signing
certificate from: d:\work\workspace\VE\CodeSign\Shunra.pfx
d:\work\workspace\VE>exit 1
Build step 'Execute Windows batch command' marked build as failure
Finished: FAILURE
Обратите внимание USERNAME=builder
строка на выходе. Это та же учетная запись, которую я использую при интерактивном входе в систему на удаленном компьютере, который представляет собой виртуальную машину XP, работающую в Windows 7. Учетная запись, конечно, локальный администратор.
Теперь выполнение той же команды signtool из окна консоли (из сеанса RDP) работает нормально, но когда Дженкинс пытается ее выполнить, я получаю это сообщение об ошибке делегирования.
Еще одна информация. Соответствующее дерево процессов:
bash.exe -c "cd d:\work && java -jar slave.jar" # Jenkins remote execution through sshd on cygwin
bash.exe
java
cmd # Jenkins sent a request to the java agent to execute this Windows batch file
signtool # This is the signtool invocation
Что происходит, этот signtool внезапно жалуется на делегирование?
Спасибо.