javax.net.ssl.SSLException: Not trusted server certificate
이오류가 뜨고있습니다..
그런데 검색해서
인증서 형식을 bks? 로 변환시키라고 해서
안드로이드가 java 서버로 접속해서 데이터 전달하면 서버는 다시 에코로 넘겨주는 방법입니다.
java 서버는 jks 쓰고 안드로이드는 같은 jks문서를 변환한 bks 파일을 쓰는데..
아래와 같은 오류 뜸.
bks로 변환한 파일로 java서버에서 돌리면 서버안켜짐.(test)
06-17 01:01:08.016: WARN/System.err(1710): javax.net.ssl.SSLException: Not trusted server certificate <=인증서 문제?
06-17 01:01:08.028: WARN/System.err(1710): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:371)
06-17 01:01:08.028: WARN/System.err(1710): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl$SSLOutputStream.<init>(OpenSSLSocketImpl.java:564)
06-17 01:01:08.058: WARN/System.err(1710): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.getOutputStream(OpenSSLSocketImpl.java:479)
06-17 01:01:08.089: WARN/System.err(1710): at com.slsl.Android_SSlActivity.onCreate(Android_SSlActivity.java:65)
06-17 01:01:08.089: WARN/System.err(1710): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
06-17 01:01:08.096: WARN/System.err(1710): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
06-17 01:01:08.106: WARN/System.err(1710): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
06-17 01:01:08.106: WARN/System.err(1710): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
06-17 01:01:08.117: WARN/System.err(1710): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
06-17 01:01:08.126: WARN/System.err(1710): at android.os.Handler.dispatchMessage(Handler.java:99)
06-17 01:01:08.126: WARN/System.err(1710): at android.os.Looper.loop(Looper.java:123)
06-17 01:01:08.126: WARN/System.err(1710): at android.app.ActivityThread.main(ActivityThread.java:4627)
06-17 01:01:08.126: WARN/System.err(1710): at java.lang.reflect.Method.invokeNative(Native Method)
06-17 01:01:08.157: WARN/System.err(1710): at java.lang.reflect.Method.invoke(Method.java:521)
06-17 01:01:08.157: WARN/System.err(1710): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
06-17 01:01:08.157: WARN/System.err(1710): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
06-17 01:01:08.157: WARN/System.err(1710): at dalvik.system.NativeStart.main(Native Method)
06-17 01:01:08.176: WARN/System.err(1710): Caused by: java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: TrustAnchor for CertPath not found.
06-17 01:01:08.226: WARN/System.err(1710): at org.apache.harmony.xnet.provider.jsse.TrustManagerImpl.checkServerTrusted(TrustManagerImpl.java:168)
06-17 01:01:08.226: WARN/System.err(1710): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:366)
06-17 01:01:08.226: WARN/System.err(1710): ... 16 more
06-17 01:01:08.246: WARN/System.err(1710): Caused by: java.security.cert.CertPathValidatorException: TrustAnchor for CertPath not found.
06-17 01:01:08.266: WARN/System.err(1710): at org.bouncycastle.jce.provider.PKIXCertPathValidatorSpi.engineValidate(PKIXCertPathValidatorSpi.java:149)
06-17 01:01:08.266: WARN/System.err(1710): at java.security.cert.CertPathValidator.validate(CertPathValidator.java:202)
06-17 01:01:08.266: WARN/System.err(1710): at org.apache.harmony.xnet.provider.jsse.TrustManagerImpl.checkServerTrusted(TrustManagerImpl.java:164)
06-17 01:01:08.278: WARN/System.err(1710): ... 17 more
안드로이드 sdk에서 레퍼런스에서
keytool -import -alias "my server cert" -file server.crt -keystore my.truststore
명령어로 jks에서 추출한 crt 인증서를 확인하고
my.truststore 파일을 넣어서 사용도 해봤는데 똑같은 오류 뜸..