使用Java Apache HttpClient的HTTP SSL代理
问题描述:
是否有可能在Java HttpClient(或者其他客户端)上使用SSL代理?使用Java Apache HttpClient的HTTP SSL代理
我真正的问题是要有一个直接的SSL代理发送HTTP或HTTPS连接并检查SSL代理和客户端证书。
例如,对于HTTP请求(我们检查代理上的客户端SSL代理证书,客户端证书):
CLIENT --- SSL套接字(HTTPS)---> SSL代理---平原(HTTP)---> SERVER
对于HTTPS请求(使用CONNECT请求来隧道SSL连接)(我们检查客户端上的SSL代理证书和服务器证书,以及代理上的客户端证书以及可能在服务器上请求的客户端证书) :
CLIENT --- SSL套接字(HTTPS隧道)---> SSL PROXY --- SSL套接字(HTTPS)---> SERVER
我无法找到一个方法来做到这一点与HttpClient的只允许设置一个普通的HTTP代理可以隧道HTTPS请求(但不是我想要的)
感谢
答
我能够使Apache HttpClient连接到启用了SSL的代理。查看此SO贴子的代码:HttpRoutePlanner - How does it work with an HTTPS Proxy