투케이2K

144. (AndroidStudio/android/java) 구글 플레이스토어 SSL Error Handler 대응 및 웹뷰 SSL 오류 체크 실시 본문

Android

144. (AndroidStudio/android/java) 구글 플레이스토어 SSL Error Handler 대응 및 웹뷰 SSL 오류 체크 실시

투케이2K 2021. 5. 14. 12:00

/* =========================== */

[ 개발 환경 설정 ]

개발 툴 : AndroidStudio

개발 언어 : java

/* =========================== */

/* =========================== */

[소스 코드]

 

//TODO [안드로이드 웹뷰 SSL 오류 체크 : 구글 플레이스토어 SSL Error Handler 대응]
@Override
public void onReceivedSslError(WebView view, final SslErrorHandler handler, SslError error) {
	try {
		Log.d("---","---");
		Log.e("//===========//","================================================");
		Log.d("","\n"+"[MainActivity > onReceivedSslError() 메소드 : ssl_client_socket_impl 에러 발생]");
		Log.d("","\n"+"[사이트 주소 : "+String.valueOf(mWebView.getUrl())+"]");
		Log.d("","\n"+"[내용 : 이 사이트의 보안 인증서는 신뢰하는 보안 인증서가 아닙니다. 계속하시겠습니까?]");
		Log.e("//===========//","================================================");
		Log.d("---","---");
		//TODO handler.proceed(); [웹사이트 이동 허용 코드]

		//TODO [사이트 이동 관련 팝업창 호출 실시]                          
		final AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
		builder.setMessage("이 사이트의 보안 인증서는 신뢰하는 보안 인증서가 아닙니다. 계속하시겠습니까?");
		builder.setPositiveButton("계속하기", new DialogInterface.OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which) {
				//TODO [웹사이트 이동 실시]
				handler.proceed();
			}
		});
		builder.setNegativeButton("취소", new DialogInterface.OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which) {
				//TODO [웹사이트 이동 취소]
				handler.cancel();
			}
		});
		final AlertDialog dialog = builder.create();
		dialog.show();                
	}
	catch (Exception e){
		e.printStackTrace();
	}          
}

/* =========================== */

 

반응형
Comments