마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드에서 https 웹을 json으로 받아오려고 하는데요 ssl파일은 어떻게 처리하나요?

0 추천
질문이 잘 이해가 가지 않을수 있어서 좀 더 자세하게 얘기하게습니다

 

원래는http로 웹을 json 파싱하고 기능을 구현했는데

 

그걸 https로 바꾸려고 하니까 ssl이 필요하다는 걸 알았는데

 

웹에서 받은 ssl파일을 가지고 안드로이드에서 사용하게 되면 그 ssl파일도 같이 배포가 될텐데

 

그게 문제가 있을까요??

 

아니면 그 ssl파일로 처리한 다음에 배포하는게 맞는건가요??

 

잘 모르겠어서 질문합니다.

 

추가로 일단 ssl파일을 사용하지 않고 json으로 받아오는 걸 적용했는데 가끔 웹뷰를 사용할 때가 있는데 이때에도 https로 바꾸면 기능이 실행 안 되고 있는데 웹뷰에 ssl 처리하는 건 어떻게 하나요??ㅠㅠㅠㅠ

계속 찾고는 있는데 못 찾아서 질문드립니다.
우뀨 (190 포인트) 님이 2018년 8월 10일 질문
우뀨님이 2018년 8월 10일 수정

1개의 답변

0 추천
 
채택된 답변

OKhttp를 쓰면 그냥 써도 되는 것으로 압니다만,

저는 retrofit2와 okhttp3 를 써서 http나 https나 코드의 차이가 없습니다.

아래 stackoverflow를 보니, retrofit2를 쓰지 않아도 okhttp 만으로도 https 질의가 잘 되는 것 같네요. (롤리팝 이상에서는)
(테스트 안해 보았습니다.)

https://github.com/mattleibow/square-bindings/issues/1

상기 링크에서 아래부분:
OkHttpClient client = new OkHttpClient ();
// only include our custom factory for the older Androids
if (Android.OS.Build.VERSION.SdkInt < BuildVersionCodes.L) {
    client.SetSslSocketFactory (new CompleteSSLSocketFactory ());
}
Request request = new Request.Builder ().Url ("https://<yourserver>").Build ();
// UI thread here
Response response = await client.NewCall (request).ExecuteAsync (); // run on a new thread here
// UI thread here
string body = await response.Body ().StringAsync (); // read on a new thread here
// UI thread here
System.Diagnostics.Debug.WriteLine (body); 

 

Will Kim (43,170 포인트) 님이 2018년 8월 13일 답변
우뀨님이 2018년 9월 12일 채택됨
...