在 Android WebView 上具有自签名证书的服务工作者
Posted
技术标签:
【中文标题】在 Android WebView 上具有自签名证书的服务工作者【英文标题】:Service worker with self signed certificate on Android WebView 【发布时间】:2019-06-02 03:30:14 【问题描述】:是否可以使用带有自签名证书的 Service Worker?
我知道在桌面上可以在开始时使用标志 --unsafely-treat-insecure-origin-as-secure=
(https://***.com/a/43484456)。
但是如何在 android WebView
上实现这一点?
我已经创建了一个自定义 WebViewClient
来跳过所有 SSL 错误:
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error)
handler.proceed();
但这在这里似乎没有帮助。
【问题讨论】:
没有解决办法?平 【参考方案1】:这将导致应用始终接受不受信任的证书。
public void onReceivedSslError (WebView view, SslErrorHandler handler, SslError error)
if ( SslError.SSL_UNTRUSTED == error.getPrimaryError() )
handler.proceed();
else
super.onReceivedSslError(view, handler, error);
更好的解决方案是使用您的certicate
String sslCertificate = error.getCertificate().toString();
String mySslCertificate = new SslCertificate(cert).toString(); //cert is stored inside /raw
if ( sslCertificate.equals(mySslCertificate) )
handler.proceed();
【讨论】:
嗨,我已经信任所有证书,正如您在我的问题中看到的那样。以上是关于在 Android WebView 上具有自签名证书的服务工作者的主要内容,如果未能解决你的问题,请参考以下文章
JavaFx Webview JDK 8 无法加载自签名证书
Xamarin Android 问题通过 HTTPS 连接到具有自签名证书的站点:“未找到证书路径的信任锚。”