gpt4 book ai didi

android - Android 中的 cURL SSL 通信等效项

转载 作者:太空宇宙 更新时间:2023-11-03 13:55:41 30 4
gpt4 key购买 nike

我正在移植一个应用程序,该应用程序在内部进行 cURL 调用以安全地连接到服务器。它在向服务器发出请求之前使用下载的证书和私钥文件。

我有一个包含 RSA 私钥的“My_Private_key.pem”文件,一个包含发送的证书服务器的“My_Certificate.pem”文件和一个加密“My_Private_key.pem”的密码。现在 cURL 有一个用于设置 SSLKey、SSLCertificate 和 Password 的选项。例子

curl_easy_setopt(curl, CURLOPT_SSLCERT, credentials->certfile);
curl_easy_setopt(curl, CURLOPT_SSLKEY, credentials->keyfile);
curl_easy_setopt(curl, CURLOPT_KEYPASSWD, credentials->passwd);

然后 cURL 使用此信息来请求服务器。我想在 Android 中做类似的事情。我浏览了许多链接,这些链接帮助我创建了自己的 HttpClient,它使用 EasySSLSocketFactory、EasyX509TrustManager,但我找不到在 Android 中设置这些选项的方法。

Android 中的等效方法是什么?

我是 SSL 的新手,所以我的问题可能有点天真,所以请耐心等待 :)

最佳答案

您必须从您的 key 和证书创建一个 PKCS#12 文件,将其作为 keystore 加载并使用它初始化 HttpClient(或 HttpsURLConnection)。对于 HttpClient,您可以使用 SSLSocketFactory类以使用您的 key 和证书初始化客户端。

您可以使用类似这样的东西来创建 PKCS#12 文件:

$ openssl pkcs12 -export -in mycert.pem -inkey mykey.key -out mystore.pfx

关于android - Android 中的 cURL SSL 通信等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10246388/

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