如何在从windows服务启动的子shell中设置http代理
我正在编写一个windows服务,它接收上传的文件,在上面运行signtool.exe进行签名和时间戳,然后将签名的文件返回 当使用twisted作为独立服务器运行时,此代码可以工作。但是,如果我尝试将其作为服务运行,则会失败,并出现错误“签名成功,但尝试添加时间戳时出错” 如果我用显式使用代理的curl.exe调用替换signcode子流程调用,那么这将成功如何在从windows服务启动的子shell中设置http代理,windows,http,proxy,service,authenticode,Windows,Http,Proxy,Service,Authenticode,我正在编写一个windows服务,它接收上传的文件,在上面运行signtool.exe进行签名和时间戳,然后将签名的文件返回 当使用twisted作为独立服务器运行时,此代码可以工作。但是,如果我尝试将其作为服务运行,则会失败,并出现错误“签名成功,但尝试添加时间戳时出错” 如果我用显式使用代理的curl.exe调用替换signcode子流程调用,那么这将成功 我已经在internet explorer中设置了代理,手动运行该命令可以正常工作。是否有其他方法为signtool/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
即使使用我上面所做的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
正如在帖子中提到的。这里提到的可能还有其他方法,但上面的方法对我来说是最简单的
HKEY_LOCAL_MACHINE\\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections