gpt4 book ai didi

android - 在公钥基础设施中使用 square okHTTP 库的 HTTPS/SSL

转载 作者:太空宇宙 更新时间:2023-11-03 15:00:01 27 4
gpt4 key购买 nike

我需要使用 PKI 实现通过 HTTPS 发送数据的整个过程,如此处所述 http://upload.wikimedia.org/wikipedia/commons/9/96/Usage-of-Digital-Certificate.svg

如何使用私钥签署(我真的必须这样做吗?)我的请求,以及如何向其添加证书(我从网络服务收到)?

我有自己的 keystore (http://nelenkov.blogspot.com/2011/12/using-custom-certificate-trust-store-on.html(真的很棒的博客!)),其中包含 Web 服务 RootCA、用于创建 CSR 文件的私钥以及由 Web 服务签名的证书(使用 csr)。

我正在使用 robospice + square retrofit + square okHttp(或者可能使用另一个 HTTP 客户端?)来执行请求并拥有我自己的 SSLSocketFactory:

OkHttpClient client = new OkHttpClient();  
KeyStore keyStore = App.getInstance().getKeyStoreUtil().getKeyStore();
TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
tmf.init(keyStore);
KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
kmf.init(keyStore, AppConfig.KEYSTORE_PASSWORD);
SSLContext sslCtx = SSLContext.getInstance("TLS");
sslCtx.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);
client.setSslSocketFactory(sslCtx.getSocketFactory());

由于 webservice 还没有实现,我不知道它是否有效,如果有人能告诉我我的方法是否正确,我将不胜感激。

最佳答案

上面的代码是有效的,但请记住,从 App 中获取类 App.getInstance.getKeyStoreUtil() 并不是真正干净的解决方案

关于android - 在公钥基础设施中使用 square okHTTP 库的 HTTPS/SSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23659581/

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