【问题标题】:Android HTTPS Connection BasicsAndroid HTTPS 连接基础知识
【发布时间】:2012-08-01 07:27:40
【问题描述】:

我通过了this link

我有几个问题:

1.什么是密钥库?我需要实施什么以及为什么需要实施?

2.什么是TrustManagerFactory,在这种情况下什么是'X509'?请回答是否存在“X509”以外的其他内容。

3. 我应该了解或咨询我的网络服务器应用程序团队的哪些细节?我是否需要了解任何类型的证书或其他信息?

我的问题场景:我想做的是通过网络检索一些 XML 字符串,它必须受到保护,因为它有点敏感。

我在等你的答案。

【问题讨论】:

    标签: android https


    【解决方案1】:

    您可能不需要详细研究 HTTPS 来保护您的 XML。要使用 HTTPS,您通常只需要为您的域获取官方 SSL 证书,并在您的服务器中使用它。然后浏览器、WebView 或 Java HTTPClient 中的 HTTP 客户端将知道如何处理它。

    【讨论】:

    【解决方案2】:

    阅读 Java SSL 实现,JSSE documentation 了解一些基础知识和观点。

    1. 密钥库存储密钥或证书。如果颁发您服务器证书的 CA 受 Android 信任(即,它已安装在系统信任库中),则您无需弄乱密钥库。它应该可以工作。如果不是,您可能需要创建自己的信任库,其中包括您的服务器的证书(如果它是自签名的)或发行 CA 的证书(如果不是)。

    2. TrustManagerFactory 产生一个TrustManager。它告诉您的应用程序/系统信任哪些证书。从技术上讲,除了 X.509 之外还可以有其他实现,但实际上这是唯一使用的实现。

    3. 请参阅 1. 询问他们是谁颁发了证书。或者只需使用浏览器访问该站点。如果您收到警告或错误,事情可能会变得有些复杂,因为默认情况下 Android 很可能也不信任服务器证书。如果不是,您的应用应该只使用 https://myserver/sevice 类型的 URL 而不是 http:// 类型的 URL。

    【讨论】:

    • 我的浏览器中没有警告没有错误。只是一个绿色的锁标志。那么这是否意味着简单的 HttpUrlConnection 可以用于获取目的?
    • 在大多数情况下,是的。你试过了吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-16
    • 2018-05-25
    • 2014-11-28
    • 2014-02-14
    相关资源
    最近更新 更多