Netcipher是一个Android库项目,提供多种方法来改善移动应用程序中的网络安全性。 “洋葱”这个名称不仅指Tor使用的洋葱路由概念(提供匿名性和对交通监控的抵抗),还指任何应用应该使用的多层安全性的概念。
更具体地说,这个库提供:
1. Stronger Sockets: Through support for the right cipher suites, pinning and more, we ensure your encrypted connections are as strong as possible.
2. Proxied Connection Support: HTTP and SOCKS proxy connection support for HTTP and HTTP/S traffic through specific configuration of the Apache HTTPClient library
答案 0 :(得分:4)
您需要实现自己的Client
,它将在Netcipher http客户端上执行Retrofit请求。
Request
翻译为适当的Netcipher请求(复制http方法,标题,正文)Response
(复制http状态代码,响应,标题)将Client
传递给RestAdapter.Builder
。
完成。
public class NetcipherClient implements Client{
private Context mContext;
public NetcipherClient(Context context){
mContext = context;
//As far as I could see from the sample, Netcipher seems to be dependant on application `Context`.
}
@Override
public retrofit.client.Response execute(retrofit.client.Request request) throws IOException {
//Set up configuration for Netcipher (proxy, timeout etc)
// Translate Request to Netcipher request
// Execute and obtain the response
// Build Response from response
return response;
}
}
答案 1 :(得分:3)
我们最近在NetCipher中实现了对OkHTTP的支持,因此通过OkHTTP将Tor支持添加到Retrofit应该很容易。以下是:
StrongOkHttpClientBuilder
.forMaxSecurity(this)
.withTorValidation()
.build(this);
这个的核心就是运行设置方法:
var f_date = new Date();
请参阅包含的sample-okhttp3项目以获取完整示例,该示例是git repo的一部分https://github.com/guardianproject/NetCipher
答案 2 :(得分:2)
除了类似Tor的路由OkHttp之外,还具有证书锁定能力&代理支持。它与开箱即用的Retrofit配合使用!因此,如果类似Tor的功能对您来说不那么重要,我建议使用OkHttp的超棒程。否则,@ NikolaDespotoski的回答是您的完美选择。