gpt4 book ai didi

windows - 如何在从 Windows 服务启动的子外壳中设置 http 代理

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:21:00 27 4
gpt4 key购买 nike

我正在编写一个 Windows 服务,它接受一个上传的文件,在其上运行 signtool.exe 来进行签名和时间戳,然后返回签名文件。

此代码在使用 twisted 作为独立服务器运行时有效,但是如果我尝试将其作为服务运行,它会失败并显示错误“签名成功,但在尝试时间戳时发生错误”。

如果我用显式使用代理的 curl.exe 调用替换 signcode 子进程调用,那么这会成功。

我已经在 Internet Explorer 中设置了代理并手动运行命令。是否有另一种为 signtool/signcode 设置 http 代理的方法或另一种方法(我希望它成为一种易于集成到其他一些监控系统的服务)?

最佳答案

我有同样的问题,但通过 cygwin ssh(使用密码)运行 signtool。如果我通过 gui 至少登录一次(例如通过 rdesktop),时间戳只能通过代理和 ssh 工作。之后我什至不必登录到 gui 就可以通过 ssh 工作,我只需要确保至少通过 gui 登录一次。无论它在图形登录时做什么,都可以在重新启动后继续存在。然而,一个区别是我使用与通过 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 &、记事本 & 和 iexplorer.exe & 但没有帮助。我将了解如何对代理设置进行硬编码,以及是否有可能让签名用户在引导后登录到 gui。还将检查以确保使用 cygrunsrv -i 启动了 ssh,或者在服务中检查了它是否允许与桌面交互。

如果系统停止(vmware delta image)(这就是我能够重现问题的方式),系统会恢复其图像,但我可以随时更改它,看起来我可能必须这样做才能解决这个问题.

终于在评论的帮助下弄明白了:

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 中的 internet 选项 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 ,但以上对我来说是最简单的。

关于windows - 如何在从 Windows 服务启动的子外壳中设置 http 代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1102772/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com