안녕하세요! 오랫만에 질문을 하러 오게 되었습니다!
좋은 불금 되시구요!
질문으로 들어가겠습니다!!
KeyStore keystore = KeyStore.getInstance("BKS");
keystore.load(getResources().openRawResource(R.raw.cert),keyPass);
tmf = TrustManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
trustManagers = tmf.getTrustManagers(); <<<<<<<<<<<<<<<<<<<<
tmf.init(keystore);
SSLContext context = SSLContext.getInstance("TLS");
context.init(null, trustManagers, null);
SSLSocketFactory sslsocketfactory = context.getSocketFactory();
Socket sslsocket = sslsocketfactory.createSocket(serverIP, serverPORT);
이러한 소스로 안드로이드와 python server를 통신하는 클라이언트를 만들고있는데요
(위 소스는 안드로이드(클라) 쪽 소스입니다.)
그냥 java로 프로그래밍 했을때는 정상 작동을해서 안드로이드로 옮겨와서
테스트를 해보는데 가운데쪽에 <<<< 되있는부분에서
java.lang.IllegalStateException: TrustManagerFactory is not initialized
at com.android.org.conscrypt.TrustManagerFactoryImpl.engineGetTrustManagers (TrustManagerFactoryImpl.java:77)
요러한 에러가 발생을 하더라구요ㅠㅠ 정말 슬프게도 말이죠.. 한번에 성공할줄알았는데..!!!
검색을 해보니 초기화가 되지않았다 라고 나오면서
이런 고통을 받은 분들이 많이(!?) 계셔서 거기있는 방법을 전부다 긁어와서 적용을 해보았지만...
역시나 실패를 하였기에.. 이렇게 고수분들이 계신 이곳에서
해답을 찾고자!!! 찾아오게 되었습니다.. 긴글읽어주셔서 감사합니다!
해답을 주신다면... 정말 더더욱 감사합니다..
좋은 불금과 좋은 주말되시고! 답변은.. 꼭! 헤헤 부탁드립니다 고수님들!