I have a Jenkins job running the signtool utility on a remote node, the console log looks like so:
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 line in the output. This is the same account I am using when logged on interactively to the remote machine, which is an XP virtual machine running on a Windows 7 box. The account is a local admin, of course.
Now, running the same signtool command from a console window (from an RDP session) works just fine, but when Jenkins tries to execute it, I get this delegation error message.
Another piece of information. The relevant process tree is:
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
What is going on that signtool suddenly complains about this delegation stuff?