服务工作者在Android WebView上使用自签名证书

Aur*_*tic 9 android certificate android-webview service-worker

是否可以使用具有自签名证书的服务人员?

我知道可以在桌面上使用--unsafely-treat-insecure-origin-as-secure=开头的标志(/sf/answers/3043911951/).

但是我怎样才能在Android上实现这一目标WebView

我已经创建了一个自定义WebViewClient来跳过所有SSL错误:

@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
    handler.proceed();
}
Run Code Online (Sandbox Code Playgroud)

但这似乎没有帮助.

Gia*_*cci -1

这将导致应用程序始终接受不受信任的证书。

public void onReceivedSslError (WebView view, SslErrorHandler handler, SslError error) {
        if ( SslError.SSL_UNTRUSTED == error.getPrimaryError() ){
            handler.proceed();
        } else {
            super.onReceivedSslError(view, handler, error);
        }
    }
Run Code Online (Sandbox Code Playgroud)

更好的解决方案是使用您的证书

String sslCertificate = error.getCertificate().toString();
    String mySslCertificate = new SslCertificate(cert).toString(); //cert is stored inside /raw 
    if ( sslCertificate.equals(mySslCertificate) )
        handler.proceed();
Run Code Online (Sandbox Code Playgroud)