Notice
Recent Posts
Recent Comments
Link
투케이2K
340. (kotlin/코틀린) [Android 13] 웹뷰 onReceivedSslError 로드 시 SSL 에러 상태 감지 (Webview Load SSL Error) 본문
Kotlin
340. (kotlin/코틀린) [Android 13] 웹뷰 onReceivedSslError 로드 시 SSL 에러 상태 감지 (Webview Load SSL Error)
투케이2K 2023. 7. 9. 21:31[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : Kotlin
[소스 코드]
override fun onReceivedSslError(view: WebView, handler: SslErrorHandler, error: SslError) {
// [E/chromium: [ERROR:ssl_client_socket_impl.cc 에러 해결 위함]
try {
// TODO [ssl 접속 에러가 발생한 경우 경고 팝업창 처리 실시]
val builder = AlertDialog.Builder(this@A_Webview)
builder.setMessage("이 사이트의 보안 인증서는 신뢰하는 보안 인증서가 아닙니다. 계속하시겠습니까?")
builder.setPositiveButton("계속하기") { dialog, which -> handler.proceed() }
builder.setNegativeButton("취소") { dialog, which -> handler.cancel() }
val dialog = builder.create()
dialog.show()
} catch (e: Exception) {
e.printStackTrace()
}
// [SSL 에러 타입 확인 실시]
var errorSort = ""
errorSort = when (error.primaryError) {
SslError.SSL_UNTRUSTED -> "SSL_UNTRUSTED :: 이 사이트의 보안 인증서는 신뢰할 수 없습니다"
SslError.SSL_EXPIRED -> "SSL_EXPIRED :: 보안 인증서가 만료되었습니다"
SslError.SSL_IDMISMATCH -> "SSL_IDMISMATCH :: 보안 인증서가 ID 일치하지 않습니다"
SslError.SSL_NOTYETVALID -> "SSL_NOTYETVALID :: 보안 인증서가 유효하지 않습니다"
else -> "default :: " + error.primaryError.toString()
}
S_Log._E_(S_FinalMsg.LOG_Error_State, arrayOf(
"URL :: " + view.url.toString(),
"Error Sort :: " + "onReceivedSslError",
"Error Description :: " + "http 요청 SSL 인증서 에러",
"Error Response :: $errorSort"
))
}
반응형
'Kotlin' 카테고리의 다른 글
Comments