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
Note the 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?
Thanks.
User contributions licensed under CC BY-SA 3.0