투케이2K

773. (Android/Java) 웹뷰 로드 브라우저 인증서 유효성 검증 - Webview Load Ssl Certificate checkValidity 본문

Android

773. (Android/Java) 웹뷰 로드 브라우저 인증서 유효성 검증 - Webview Load Ssl Certificate checkValidity

투케이2K 2024. 4. 22. 19:57

[개발 환경 설정]

개발 툴 : AndroidStudio

 

[소스 코드]

                        // -----------------------------------------------------------------------------------

                        // [브라우저에 적용 된 Certificate 인증서 획득]
                        boolean x509CertificateValidity = false;

                        if (main_webview.getUrl().startsWith("https") == true){ // [SSL 인증서 적용 브라우저]

                            SslCertificate sslCertificate = main_webview.getCertificate();

                            // [공개키 인증서 확인]
                            if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.Q) {

                                // [인증서]
                                X509Certificate x509Certificate = sslCertificate.getX509Certificate();

                                // [유효성 검증]
                                try{
                                    x509Certificate.checkValidity(new Date()); // TODO 현재시간과 유효기간의 비교

                                    // [플래그값 변경]
                                    x509CertificateValidity = true;
                                }
                                catch(CertificateExpiredException cee){ // TODO 유효기간이 지난 경우 에러메시지
                                    cee.printStackTrace();
                                }
                                catch(CertificateNotYetValidException cnyve){ // TODO 유효기간이 아직 시작되지 않은 경우 에러메시지
                                    cnyve.printStackTrace();
                                }

                            }
                        }

                        // [로그 출력]
                        S_Log._W_("웹뷰 브라우저 인증서 유효성 확인", new String[]{
                                "x509CertificateValidity :: " + String.valueOf(x509CertificateValidity)
                        });

                        // -----------------------------------------------------------------------------------
[결과 출력]

​

W///===========//: ================================================
I/: [LOG :: CLASS PLACE :: com.example.javaproject.A_Webview$4.onProgressChanged(A_Webview.java:655)]
I/: ----------------------------------------------------
I/: [LOG :: NOW TIME :: 2024-04-22 09:06:15 월요일]
I/: ----------------------------------------------------
I/: [LOG :: DESCRIPTION :: 웹뷰 브라우저 인증서 유효성 확인]
I/: ----------------------------------------------------
I/: [LOG :: x509CertificateValidity :: true]
W///===========//: ================================================
​


태그
#안드로이드
#웹뷰
#Certificate
 태그수정
 공감  이 글에 공감한 블로거 열고 닫기 댓글 쓰기  이 글에 댓글 단 블로거 열고 닫기
카페 보내기Keep 보내기메모 보내기기타 보내기 펼치기
수정 삭제 설정
 

[결과 출력]

 

W///===========//: ================================================
I/: [LOG :: CLASS PLACE :: com.example.javaproject.A_Webview$4.onProgressChanged(A_Webview.java:655)]
I/: ----------------------------------------------------
I/: [LOG :: NOW TIME :: 2024-04-22 09:06:15 월요일]
I/: ----------------------------------------------------
I/: [LOG :: DESCRIPTION :: 웹뷰 브라우저 인증서 유효성 확인]
I/: ----------------------------------------------------
I/: [LOG :: x509CertificateValidity :: true]
W///===========//: ================================================

 

반응형
Comments