Trong trường hợp bạn muốn sử dụng APK bên ngoài Cửa hàng Google Play, ví dụ: riêng tư, một giải pháp như sau có thể sẽ hoạt động:
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
handler.proceed();
}
Trong trường hợp bạn muốn thêm một lớp bảo mật tùy chọn bổ sung, bạn có thể thử sử dụng tính năng ghim chứng chỉ . IMHO điều này không cần thiết cho việc sử dụng riêng tư hoặc nội bộ khó khăn.
Nếu bạn định xuất bản ứng dụng trên Cửa hàng Google Play, thì bạn nên tránh @Override onReceiveSslError (...) {...}. Đặc biệt là sử dụng handler.proceed (). Google sẽ tìm thấy đoạn mã này và chắc chắn sẽ từ chối ứng dụng của bạn vì giải pháp với handler.proceed () sẽ ngăn chặn tất cả các loại cơ chế bảo mật tích hợp sẵn .
Và chỉ vì thực tế là các trình duyệt không phàn nàn về kết nối https của bạn, điều đó không có nghĩa là bản thân chứng chỉ SSL được tin cậy cả!
Trong trường hợp của tôi, chuỗi chứng chỉ SSL đã bị hỏng. Bạn có thể nhanh chóng kiểm tra các vấn đề như vậy với SSL Checker hoặc trung gian hơn với SSLLabs . Nhưng xin đừng hỏi tôi làm thế nào điều này có thể xảy ra. Tôi hoàn toàn không có manh mối.
Dù sao, sau khi cài đặt lại chứng chỉ SSL, tất cả các lỗi liên quan đến " chứng chỉ SSL không đáng tin cậy trong WebView là gì " cuối cùng đã biến mất. Tôi cũng đã xóa @Override cho onReceiveSslError (...) và loại bỏ handler.proceed () và rất có thể ứng dụng của tôi không bị Cửa hàng Google Play từ chối (một lần nữa).