android 浏览器 该网站的安全证书有问题

简介: android 浏览器 该网站的安全证书有问题

平台


CPU: RK3288

OS: android 5.11

问题


浏览器访问HTTPS网站时, 弹出 “该网站的安全证书有问题。”对话框, 需点击返回/查看证书/继续, 有时会弹出多个.

原因


初步复现的方法: 关闭 自动确定日期和时间, 并把时间设置到 2011, 打开浏览器并访问如: https://www.baidu.com

弹窗位置:

|–packages/apps/Browser/src/com/android/browser/Tab.java

/** --由这个回调发起
         * Displays SSL error(s) dialog to the user.
         */
        @Override
        public void onReceivedSslError(final WebView view,
                final SslErrorHandler handler, final SslError error) {
            if (!mInForeground) {
                handler.cancel();
                setSecurityState(SecurityState.SECURITY_STATE_NOT_SECURE);
                return;
            }
            if (mSettings.showSecurityWarnings()) {//设置项判断是否要显示
                new AlertDialog.Builder(mContext)
                    .setTitle(R.string.security_warning)
                    .setMessage(R.string.ssl_warnings_header)
                    .setIconAttribute(android.R.attr.alertDialogIcon)
                    .setPositiveButton(R.string.ssl_continue,
                        new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog,
                                    int whichButton) {
                                handler.proceed();
                                handleProceededAfterSslError(error);
                            }
                        })
                    .setNeutralButton(R.string.view_certificate,
                        new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog,
                                    int whichButton) {
                                mWebViewController.showSslCertificateOnError(
                                        view, handler, error);
                            }
                        })
                    .setNegativeButton(R.string.ssl_go_back,
                        new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog,
                                    int whichButton) {
                                dialog.cancel();
                            }
                        })
                    .setOnCancelListener(
                        new DialogInterface.OnCancelListener() {
                            @Override
                            public void onCancel(DialogInterface dialog) {
                                handler.cancel();
                                setSecurityState(SecurityState.SECURITY_STATE_NOT_SECURE);
                                mWebViewController.onUserCanceledSsl(Tab.this);
                            }
                        })
                    .show();
            } else {
                handler.proceed();
            }
        }


PS: 根本原因暂未查明.

解决方案


diff --git a/packages/apps/Browser/res/xml/privacy_security_preferences.xml b/packages/apps/Browser/res/xml/privacy_security_preferences.xml
old mode 100644
new mode 100755
index 2633600..68628b6
--- a/packages/apps/Browser/res/xml/privacy_security_preferences.xml
+++ b/packages/apps/Browser/res/xml/privacy_security_preferences.xml
@@ -33,7 +33,7 @@
     <CheckBoxPreference
             android:key="show_security_warnings"
-            android:defaultValue="true"
+            android:defaultValue="false"
             android:title="@string/pref_security_show_security_warning"
             android:summary="@string/pref_security_show_security_warning_summary" />
diff --git a/packages/apps/Browser/src/com/android/browser/BrowserSettings.java b/packages/apps/Browser/src/com/android/browser/BrowserSettings.java
old mode 100644
new mode 100755
index c28ea4e..73ad98a
--- a/packages/apps/Browser/src/com/android/browser/BrowserSettings.java
+++ b/packages/apps/Browser/src/com/android/browser/BrowserSettings.java
@@ -798,7 +798,7 @@ public class BrowserSettings implements OnSharedPreferenceChangeListener,
     // -----------------------------
     public boolean showSecurityWarnings() {
-        return mPrefs.getBoolean(PREF_SHOW_SECURITY_WARNINGS, true);
+        return mPrefs.getBoolean(PREF_SHOW_SECURITY_WARNINGS, false);//do NOT show warning dialog.
     }
     public boolean acceptCookies() {
相关文章
|
1月前
|
缓存 监控 测试技术
如何利用浏览器的缓存来优化网站性能?
【10月更文挑战第23天】通过以上多种方法合理利用浏览器缓存,可以显著提高网站的性能,减少网络请求,加快资源加载速度,提升用户的访问体验。同时,要根据网站的具体情况和资源的特点,不断优化和调整缓存策略,以适应不断变化的业务需求和用户访问模式。
82 7
|
1月前
|
Web App开发 监控 前端开发
如何确保使用 DPR 进行响应式设计的网站在各种浏览器上都能正常显示?
【10月更文挑战第24天】通过以上这些措施,可以最大程度地确保使用 DPR 进行响应式设计的网站在各种浏览器上都能正常显示。同时,不断的优化和改进也是保持网站兼容性的关键。
|
2月前
|
Web App开发 前端开发 JavaScript
为什么浏览器兼容性在开发网站时很重要?
浏览器兼容性在网站开发中确实非常重要。
|
3月前
|
Web App开发 存储 安全
Python编写脚本,打开浏览器输入网址,自动化登陆网站
Python编写脚本,打开浏览器输入网址,自动化登陆网站
128 4
|
3月前
|
安全
微软网站上关于在Edge浏览器中打开或关闭smartScreen的说明有误
微软网站上关于在Edge浏览器中打开或关闭smartScreen的说明有误
微软网站上关于在Edge浏览器中打开或关闭smartScreen的说明有误
|
2月前
|
安全 网络安全 Android开发
深度解析:利用Universal Links与Android App Links实现无缝网页至应用跳转的安全考量
【10月更文挑战第2天】在移动互联网时代,用户经常需要从网页无缝跳转到移动应用中。这种跳转不仅需要提供流畅的用户体验,还要确保安全性。本文将深入探讨如何利用Universal Links(仅限于iOS)和Android App Links技术实现这一目标,并分析其安全性。
297 0
|
3月前
|
Web App开发 缓存 安全
解决Edge浏览器提示“此网站已被人举报不安全”
【9月更文挑战第1天】当 Edge 浏览器提示“此网站被举报为不安全”时,可尝试:关闭 Microsoft Defender SmartScreen;检查网站安全性;清除缓存和 Cookie;更新 Edge 至最新版;或使用其他浏览器。若问题依旧,联系网站管理员和技术支持。同时,避免在不可信网站输入敏感信息,保护网络安全与隐私。
526 7
|
4月前
|
存储 缓存 安全
解决Edge浏览器提示“此网站已被人举报不安全”
【8月更文挑战第19天】如果Edge浏览器提示“此网站已被人举报不安全”,首先确认网站可信度及安全证书有效性,避免访问可疑网站。检查浏览器是否需要更新,并确保自动更新功能已开启。可暂时关闭Microsoft Defender SmartScreen(不建议长期关闭),清除缓存和Cookies,或检查第三方安全软件设置。若问题持续,考虑重置Edge浏览器设置,保留重要数据。如仍无法解决,联系网站管理员或微软支持。
411 7
|
4月前
|
Web App开发
Chrome浏览器导出HTTPS证书
Chrome浏览器导出HTTPS证书
56 0
Chrome浏览器导出HTTPS证书
|
4月前
|
缓存 网络协议 Linux
在Linux中,当用户在浏览器当中输入⼀个网站,计算机对dns解释经过那些流程?
在Linux中,当用户在浏览器当中输入⼀个网站,计算机对dns解释经过那些流程?