Android HTTPS连接基础

Android HTTPS连接基础,android,https,Android,Https,我通过了 我有几个问题: 1.什么是密钥库?我需要实施什么以及为什么要实施 2.什么是TrustManagerFactory?在这种情况下,“X509”是什么?请回答是否存在“X509”以外的其他内容 3.我应该知道或向我的Web服务器应用程序团队咨询哪些详细信息?我需要知道关于任何类型的证书或其他什么吗 我的问题场景:我试图做的是通过网络检索一些XML字符串,它必须得到保护,因为它有点敏感 我在等你的回答 您可能不需要详细研究HTTPS来保护XML。要使用HTTPS,您主要只需要为您的域获取官

我通过了

我有几个问题:

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

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

3.我应该知道或向我的Web服务器应用程序团队咨询哪些详细信息?我需要知道关于任何类型的证书或其他什么吗

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


我在等你的回答

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

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

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

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

  • 见1。问他们是谁颁发的证书。或者只需使用浏览器访问该网站。如果您收到警告或错误,事情可能会变得稍微复杂,因为在默认情况下,Android也很可能不信任服务器证书。如果没有,你的应用程序应该只使用
    https://myserver/sevice
    键入URL,而不是http://URL


  • 我已经有证书了。我需要使用HttpsURLConnection还是只使用HttpUrlConnection就可以了?HttpUrlConnection就可以了。请参阅我的浏览器中无警告无错误中的“使用HTTPS进行安全通信”。只是一个绿锁标志。那么,这是否意味着简单的HttpUrlConnection可以用于获取目的呢?在大多数情况下,是的。你试过了吗?