检查您的服务器是否可访问并提供正确的 SSL 证书
用于邮件、日历、联系人等的标准 Android 应用程序可以与受 SSL 保护的服务器同步,但无法检查其证书。基本上,可以检查证书是否由标准 CA(Android 4.0 之前,用户不可编辑)之一颁发,也可以根本不检查。这不足以可靠地断言服务器的身份,这存在将敏感信息(帐户密码)提供给错误服务器的风险。当服务器处于半永久连接并通过动态 DNS 发现、使用自签名或私有 CA 证书或使用公共 WiFi 热点(这很容易伪造,因此是常规 MitM)时,此问题尤其重要-攻击向量)。
该应用程序会按照可配置的时间间隔检查给定的 HTTPS URL 是否可访问,并且服务器是否使用正确的证书来标识自身。它由一个主屏幕小部件组成,用彩色“信号灯”显示状态:
* 绿色,如果连接正常
* 黄色,当检查正在进行时
* 红色,当服务器无法访问时
* 双红,当服务器出现错误或证书检查失败时
* 小白,不需要检查时
当检查和发生错误时,全局同步设置被关闭。这样,您应该相当安全,同步不会尝试连接到身份未经验证的服务器,因为它与您检查的服务器是同一台服务器。
这是一个开源(GPL)应用程序。源代码和更多文档可通过我的网站获得。
所需权限:
互联网 - 连接到您的服务器(没有其他地方)
ACCESS_NETWORK_STATE - 确定您的连接(WLAN、移动...)以查明是否需要检查
READ_SYNC_SETTINGS、WRITE_SYNC_SETTINGS - 在检查或错误时关闭同步
RECEIVE_BOOT_COMPLETED - 自动启动(如果可能,取决于Android版本)
READ_EXTERNAL_STORAGE - 从内存或 SD 卡读取证书
阅读更多信息