【问题标题】:Android Studio HTTPS and SSL CertificateAndroid Studio HTTPS 和 SSL 证书
【发布时间】:2016-09-21 03:45:40
【问题描述】:

目前,我正在使用 Android Studio 为 Android 开发移动应用程序。

到目前为止,我的移动应用程序中的 login/senddata/getdata/viewdata 在我的本地 PC 和 HTTP 网络 中的工作就像一个魅力。我在编码中使用 HttpUrlConnection

问题是如何让我的移动应用程序在我的 HTTPS 服务器中运行/发送数据/检索数据/与 PHPMySQL 通信。

它只适用于 HTTP Web 服务器。 HTTPS 根本不起作用,我的移动应用程序崩溃并停止工作。

我已将我的移动应用程序测试到 HTTP 和 HTTPS 服务器(SSL 和自签名证书)

我需要注意编码上的任何附加内容以使其可访问 HTTPS 吗?

谢谢。

【问题讨论】:

    标签: java php android-studio ssl ssl-certificate


    【解决方案1】:

    The official Android documentation for HTTPS 详细介绍了 HTTPS 连接在 Android 中的工作方式,包括常见错误。

    如果您拥有由 CA 或经销商颁发的受信任证书,那么您当前使用 HttpURLConnection 的代码应该可以正常工作。来自https://developer.android.com/reference/java/net/HttpURLConnection.html

    在使用“https”方案的 URL 上调用 openConnection() 将返回一个 HttpsURLConnection,它允许覆盖默认的 HostnameVerifierSSLSocketFactory。从SSLContext 创建的应用程序提供的SSLSocketFactory 可以提供用于验证证书链的自定义X509TrustManager 和用于提供客户端证书的自定义X509KeyManager

    如果您使用自签名证书(不推荐在生产环境中使用),this article at CodeProject 将描述处理此问题的过程。

    【讨论】:

    • 感谢您的回复 :) 。我的 https 服务器 (eapps.puncakniaga.com.my) 。它说连接不是私人的。它有证书但无效。这是导致问题的原因吗?
    • 这是我在 android studio 中的登录代码。 puncakniaga.com.my/pnhbnew2/Login.txt , puncakniaga.com.my/pnhbnew2/LoginTask.txt
    • 可能。该站点使用自签名证书。如果您打算从 SSL 证书供应商处获取有效证书,请执行此操作并将其部署到服务器上,而不是尝试为您的应用程序中的自签名证书构建转义路由。此外,您似乎使用的是过时版本的 Apache HTTP Server(2006 年的 2.2.3)和 OpenSSL(2006 年的 0.9.8d)。更新这些,除非你想容易受到大量 SSL 缺陷和攻击。您可以在ssllabs.com/ssltest/… 上检查 SSL 配置的安全性
    • 是的。在升级过程中,但我使用另一台服务器。如果 SSL 有效,它是否解决了我上面的编码链接上的问题或者我需要进行重大更改?
    • 代码对我来说看起来不错,应该可以使用有效的证书。但话又说回来,我是人。部署证书后对其进行测试并发布您看到的任何错误。
    【解决方案2】:

    使用自动证书,您将无法工作 7天免费ssl试用https://www.globessl.com/

    【讨论】:

    • 感谢您的回复 :) 。我已经有 https 服务器了。只是想知道如何让我的移动应用程序可以访问它,因为我的移动应用程序需要将数据获取/发送到该服务器 https。欢呼
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-24
    • 1970-01-01
    • 2010-10-25
    • 1970-01-01
    • 2013-10-28
    • 1970-01-01
    相关资源
    最近更新 更多