gpt4 book ai didi

android - 使用来自 AWS 服务器的自签名证书在 Android 上设置 HTTPS 连接

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

我在一个 Android 应用程序团队中工作,被分配了设置用户登录和注册页面的任务。在设置我的服务器类以使用 HttpsURLConnection 类发布后,我收到了一个 SSLHandshakeException 错误。

HttpsURL连接代码
HttpsURLConnection 连接 = (HttpsURLConnection) 新 URL(spec.toString()).openConnection();

经过一番研究,我意识到这是因为 Android 不信任我们的服务器,因为它是自签名的。我正在尝试遵循此 documentation来自 Android 开发站点,但不了解如何获取 crt 文件。我使用的是 AWS 服务器,但我不是设置自签名证书的人,但我拥有对服务器的完全访问权限。

来自 Android 文档(如何获取 load-der.crt 文件?)

// Load CAs from an InputStream
// (could be from a resource or ByteArrayInputStream or ...)
CertificateFactory cf = CertificateFactory.getInstance("X.509");
// From https://www.washington.edu/itconnect/security/ca/load-der.crt
InputStream caInput = new BufferedInputStream(new FileInputStream("load-der.crt"));
Certificate ca;

最佳答案

这是我如何获得证书的,虽然这个答案可能对其他人帮助不大。我向服务器管理员要了它,他给了我。我相信他是在通过 SSH 连接到服务器时从一些 bash 代码生成证书的。然后,我在 main 中创建了一个 assets 文件夹,并将证书文件放入其中。我用这行代码 InputStream in = context.getAssets().open("my_cert.crt") 得到了输入流。

关于android - 使用来自 AWS 服务器的自签名证书在 Android 上设置 HTTPS 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33962746/

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