У меня есть signtool.exe на Windows XP Professional с .NET 1.1.Версия, отображаемая в диалоговом окне свойств, содержит 5.2.3790.2568.
У меня также установлен Cygwin с OpenSSH на той же машине.В любом случае, когда я запускаю инструмент локально - все в порядке, соблюдайте:
D:\WORK\workspace>type 1.cmd
d:\work\workspace\VE\CodeSign\signtool.exe sign /f d:\work\workspace\VE\CodeSign\Shunra.pfx /p "shunrail" /t http://timestamp.verisign.com/scripts/tim
stamp.dll /du "www.shunra.com" /v "d:\work\workspace\VE\ShunraInstallationServices\lib\net\Release\ShunraInstallationServices.dll"
D:\WORK\workspace>1.cmd
D:\WORK\workspace>d:\work\workspace\VE\CodeSign\signtool.exe sign /f d:\work\workspace\VE\CodeSign\Shunra.pfx /p "shunrail" /t http://timestamp.verisi
gn.com/scripts/timstamp.dll /du "www.shunra.com" /v "d:\work\workspace\VE\ShunraInstallationServices\lib\net\Release\ShunraInstallationServices.dll"
The following certificate was selected:
Issued to: Shunra Software Ltd.
Issued by: VeriSign Class 3 Code Signing 2009-2 CA
Expires: 6/3/2013 1:59:59
SHA1 hash: DE4A79909D95FCFB16DA8BFE4251C5FC88659FFA
Done Adding Additional Store
Attempting to sign: d:\work\workspace\VE\ShunraInstallationServices\lib\net\Release\ShunraInstallationServices.dll
Successfully signed and timestamped: d:\work\workspace\VE\ShunraInstallationServices\lib\net\Release\ShunraInstallationServices.dll
Number of files successfully Signed: 1
Number of warnings: 0
Number of errors: 0
D:\WORK\workspace>
Теперь я пытаюсь запустить ту же команду с другого компьютера через SSH.Обратите внимание:
markk@Dev-Builder /cygdrive/d
$ ssh builder@vm-builder /cygdrive/c/WINDOWS/system32/cmd.exe /c d:\\\\WORK\\\\workspace\\\\1.cmd
C:\cygwin\home\builder>d:\work\workspace\VE\CodeSign\signtool.exe sign /f d:\work\workspace\VE\CodeSign\Shunra.pfx /p "s
hunrail" /t http://timestamp.verisign.com/scripts/timstamp.dll /du "www.shunra.com" /v "d:\work\workspace\VE\ShunraInsta
llationServices\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
markk@Dev-Builder /cygdrive/d
$
Пользователь, использованный в обоих случаях, один и тот же.Действительно, на первой машине:
D:\WORK\workspace>echo %USERNAME% %USERDOMAIN%
builder SHUNRANET
D:\WORK\workspace>c:\utils\PsLoggedon.exe
PsLoggedon v1.34 - See who's logged on
Copyright (C) 2000-2010 Mark Russinovich
Sysinternals - www.sysinternals.com
Users logged on locally:
11/21/2011 4:53:01 SHUNRANET\builder
No one is logged on via resource shares.
D:\WORK\workspace>
А теперь на второй машине те же команды через SSH:
markk@Dev-Builder /cygdrive/d
$ ssh builder@vm-builder /cygdrive/c/WINDOWS/system32/cmd.exe /c echo %USERNAME% %USERDOMAIN%
builder SHUNRANET
markk@Dev-Builder /cygdrive/d
$ ssh builder@vm-builder /cygdrive/c/utils/PsLoggedon.exe
Users logged on locally:
11/21/2011 4:53:01 SHUNRANET\builder
No one is logged on via resource shares.
PsLoggedon v1.34 - See who's logged on
Copyright (C) 2000-2010 Mark Russinovich
Sysinternals - www.sysinternals.com
markk@Dev-Builder /cygdrive/d
$
Что происходит?
Редактировать
Я вставил команду pause
в пакетный файл 1.cmd, что позволило мне открыть диалоговое окно свойств для соответствующего процесса cmd.exe в Process Explorer.История, рассказанная на вкладке «Безопасность» для локально запускаемого cmd.exe, отличается от истории для cmd.exe, запускаемой удаленно через SSH.
Вкладка «Безопасность» для локально запускаемого cmd.exe (мне пришлось объединитьзначения привилегий, потому что пользовательский интерфейс не позволял изменить размер этой части окна):
Теперь тот же диалог для cmd.exe запускается через SSH с другого компьютера: