본문 바로가기
프로그래밍 놀이터/안드로이드, Java

[android] javax.net.ssl.SSLPeerUnverifiedException: No peer certificate

by 돼지왕왕돼지 2020. 8. 11.


android SSLPeerUnverifiedException



https://developer.android.com/reference/javax/net/ssl/SSLPeerUnverifiedException


-

Peer 의 id 가 verify 되지 않음을 의미한다.

certificate 가 없거나, 특정 cipher suite 가 auth 에 사용될 수 없거나, SSL handshaking 단계에서 peer auth 가 이루어지지 않거나 등의 경우로 상대방이 verify 되지 않은 경우를 의미한다.




https://medium.com/tech-quizlet/working-with-tls-1-2-on-android-4-4-and-lower-f4f5205629a


-

TLS 1.2 가 설치되어 있지 않은 단말들은

Google Play Service 의 ProviderInstaller 를 사용하여 TLS1.2 를 support 하도록 할 수 있다.

ProviderInstaller.installIfNeeded(context)


https://developer.android.com/reference/javax/net/ssl/SSLSocket


-

Client socket 기준

TLSv1.1, 1.2 는 API Level 16+ (JB) 부터 지원하지만, 20+(Kitkat Watch) 부터 default 로 enable 되어 있다.

TLSv1.3 은 29+ (Q) 부터  지원하고, 29+ 부터 default 로 enable 되어 있다.




돼왕


-

해당 exception 의 가장 쉬운 대응 방법은 TrustManager 를 직접 만들어서, check 를 하지 않는 것이다.

아래 함수들을 override 하고, 아무것도 하지 않으면 된다.

checkClientTrusted

checkServerTrusted



-
끝!




댓글0