Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在从windows服务启动的子shell中设置http代理_Windows_Http_Proxy_Service_Authenticode - Fatal编程技术网

如何在从windows服务启动的子shell中设置http代理

如何在从windows服务启动的子shell中设置http代理,windows,http,proxy,service,authenticode,Windows,Http,Proxy,Service,Authenticode,我正在编写一个windows服务,它接收上传的文件,在上面运行signtool.exe进行签名和时间戳,然后将签名的文件返回 当使用twisted作为独立服务器运行时,此代码可以工作。但是,如果我尝试将其作为服务运行,则会失败,并出现错误“签名成功,但尝试添加时间戳时出错” 如果我用显式使用代理的curl.exe调用替换signcode子流程调用,那么这将成功 我已经在internet explorer中设置了代理,手动运行该命令可以正常工作。是否有其他方法为signtool/signcode设

我正在编写一个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
即使使用我上面所做的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