0

私は、アップロードされたファイルを取得し、signtool.exeを実行して署名とタイムスタンプを作成し、署名されたファイルを返すWindowsサービスを作成しています。

このコードは、twisted を使用してスタンドアロン サーバーとして実行すると機能しますが、サービスとして実行しようとすると、「署名は成功しましたが、タイムスタンプの試行中にエラーが発生しました」というエラーで失敗します。

signcode サブプロセス呼び出しを明示的にプロキシを使用する curl.exe 呼び出しに置き換えると、これは成功します。

Internet Explorer でプロキシを設定し、コマンドを手動で実行すると動作します。signtool/signcode に http プロキシを設定する別の方法、またはこれを行う別の方法はありますか (他の監視システムへの統合を容易にするためのサービスにしたいと考えています)。

4

1 に答える 1

0

同じ問題がありますが、cygwin ssh 経由で (パスワードを使用して) signtool を実行しています。タイムスタンプは、GUI を介して (たとえば、rdesktop を介して) 少なくとも 1 回ログインした場合にのみ、プロキシおよび ssh を介して機能します。その後、ssh経由で機能するためにguiにログインする必要さえありません.gui経由で少なくとも1回ログインする必要があります。グラフィカルログイン時に何をしていても、再起動後も存続します。ただし、1 つの違いは、ssh 経由で起動しているのと同じ powershell を使用して、プロキシ設定を動的に設定していることです。

$reg_key = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings"
Set-ItemProperty -path $reg_key ProxyServer -value 192.168.0.3:8888
Set-ItemProperty -path $reg_key ProxyOverride -value "<local>"
Set-ItemProperty -path $reg_key ProxyEnable -value 1

ssh から explorer.exe &、notepad &、および iexplorer.exe & を起動しようとしましたが、役に立ちませんでした。プロキシ設定のハードコーディングと、起動後に署名ユーザーをGUIにログインさせることが可能かどうかについて説明します。また、ssh が cygrunsrv -i で起動されていること、またはデスクトップとの対話が許可されていることを確認し、サービスにチェックインします。

システムが停止している場合、システムはそのイメージを元に戻します (VMware デルタ イメージ) (これが問題を再現できる方法です) が、いつでも変更することができます。

最後に、ここのコメントの助けを借りてそれを理解しました:

http://blogs.msdn.com/b/askie/archive/2013/05/09/user-proxy-settings-showing-up-in-local-system-account-correct-way-to-apply-proxy- settings.aspx#10606266

設定は実際にはバイナリファイルで設定する必要があるようです:

HKEY_Current_User\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\DefaultConnectionSettings

このバイナリ ファイルは、上で行った powershell 設定を使用しても、グラフィカル ログイン後までレジストリに作成されません。最も簡単な方法は、ログインすることです (上記の powershell で行ったレジストリ設定があると仮定するか、GUI のインターネット オプション ui を介して手動で設定すると仮定します)、HKEY_Current_User\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections パスをエクスポートします。そしてそれをインポートします:

regedit /s path_to_proxy_settings.reg

すべてのユーザーに適用する場合は、同じファイルを次の場所に適用する必要があります。

HKEY_LOCAL_MACHINE\\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections

投稿で述べたように。https://serverfault.com/questions/34940/how-do-i-configure-proxy-settings-for-local-systemに記載されているように、他の方法があるかもしれませんが、上記が私にとって最も簡単でした。

于 2015-09-07T09:14:30.493 に答える