2012-03-11 1 views
1

그래서 백엔드가 필요한 학교에서 프로젝트를하고 있습니다. 현재 설정은 포어 그라운드가 안드로이드 앱인 반면, 백엔드는 학교의 서버 내에있는 mySQL 데이터베이스입니다. 안드로이드 애플 리케이션은 PHP 스크립트를 사용하여 mySQL 데이터베이스와 상호 작용하기로되어 있습니다."SSLPeerUnverifiedException : 피어 인증서가 없습니다."android backend

my PHP 데이터베이스가 JSON 형식의 mySQL 데이터베이스에서 하나의 행을 반환하도록 현재 하드 코드되어 있습니다. 없음 피어 인증서 :

public static final String KEY = "URL of my PHP script"; 
InputStream is = null; 
String result = ""; 
try{ 

     HttpClient httpclient = new DefaultHttpClient(); 
     HttpGet request = new HttpGet(); 
     request.setURI(new URI(KEY)); 
     Log.d(null,"there"); 
     HttpResponse response = httpclient.execute(request); 
     Log.d(null, "here"); 
     HttpEntity entity = response.getEntity(); 
     is = entity.getContent(); 

}catch(Exception e){ 
     Log.e("log_tag", "Error in http connection "+e.toString()); 
} 

그러나, 나는 오류라고하는 라인

HttpResponse response = httpclient.execute(request); 

에서 예외가 다음과 같이

내 안드로이드 코드입니다.

누구나 잘못된 점을 알고 수정하는 방법을 알고 계십니까?

답변

0

동일한 문제가 있습니다. 이 연결은 내 필요 사항의 일부로 작동했습니다. http://www.knowledgebit.appspot.com/zahangirbd/TopicView.action;jsessionid=E2BZt_6bp4uFFbMyq42gWg?id=56001

그러나, 여전히

EDIT (내가 적절한 인증서를 제공하지 않는 메신저 생각) 몇 가지 링크에 문제가 : 그래서 인증서의 순서가 문제가 있다고 밝혀졌습니다.

이 내용을 확인해보세요. Apache HttpClient on Android producing CertPathValidatorException (IssuerName != SubjectName)