2012-08-19 5 views
0

나는 ksoap2을 사용하여 웹 서비스에 액세스합니다. production으로 테스트 웹 서비스를 변경하기 전에 모든 것이 잘되었고, 마녀는 https 프로토콜을 사용합니다.android ksoap2 - 신뢰할 수없는 서버 인증서

나는이 질문을 몇 번 더 여기에 stackoverflow에 요청했지만 그 답은 나에게 도움이되지 않는다. 여기

신뢰할 수없는 서버 인증서

누군가 제공과 대답 (솔루션) : 내가 https로 ksoap2 사용하는 경우이 오류 (예외)를 가지고 Android ksoap2 via https 그러나 나는 것을 구현하는 방법을 이해하지 않습니다 솔루션 (또는 제안 된 솔루션이 나를 위해 작동하지 않습니다)

WS에서 사용하는 인증서는 자체 발급 SSL 인증서입니다 - 나는 작은 회사 내에서만 응용 프로그램을 사용하지만 회사 시스템 관리자는 암호화 된 연결이 필요합니다.

누군가이 문제에 대해 더 나은 설명을 제공 할 수 있습니까?

감사합니다.

답변

1

나는 비슷한 문제가있었습니다. 기본적으로 HTTPS 관련 클래스를 https 프로토콜과 함께 사용하면 Android는 설치된 인증서 (os 키 스토어에 저장되어 있다고 생각합니다)를 확인합니다.

인증서가 자체 서명 되었기 때문에 인증서가 신뢰되지 않습니다. 테스트 용도로 내 응용 프로그램에 자체 서명 인증서를 추가했습니다 (alexander.egger의 답변 How to install trusted CA certificate on Android device?). 어쩌면이 방법을 사용할 수 있을까요? Android ksoap2 via https에서의 Vedran의 접근 방식도 비슷한 일을하며 잘 작동한다고 생각합니다. 그 대답의 어떤 부분이 불분명합니까?

그러나 나는 이들이 좋은 해결책이라고 생각하지 않습니다.

제 제작 환경에서는 모든 안드로이드 장치가 신뢰할 수있는 서명 기관의 (싸구려) SSL 인증서를 주문하여 서버에 설치했습니다. 나는 여기에 광고를하지 않을 것이지만, 대부분의 상업용 SSL 인증서는 모든 안드로이드 장치에 의해 신뢰되며, 약간의 연구로 값싼 인증서를 쉽게 찾을 수 있어야합니다. 나는이 문제에 대한 최선의 해결책이라고 생각한다. 적절한 SSL 인증서가 없으면 서버가 특정 응용 프로그램을 제외한 전 세계에 신뢰되지 않을 수 있습니다. 이는 좋은 해결책이 아닙니다 (ios 장치, 웹 서비스를 호출하는 타사 응용 프로그램 등). .

+0

내 응용 프로그램은 내부 employes 전화에서 실행되는 내부 응용 프로그램입니다. 내가 SSL을 필요로하는 유일한 이유는 이것이 WS에 접근 할 수있는 방법이기 때문입니다. 누군가 다른 사람을 결정합니다. Vedran이 제공하는 솔루션은 ksoap 라이브러리를 수정하는 것입니다. 이것은 내가 이해하지 못하는 부분입니다. 내가 소스를 다운로드 - 내 일식에 안드로이드 프로젝트로 소스를로드 할 수 없습니다. 더 좋은 질문은 eclipse에 ksoap2의 소스 코드를 추가하고 내 라이브러리를 빌드하는 방법입니다. –

+0

나 자신을 android-ksoap2 빌드 할 필요가 없었습니다. 테스트를 위해 사용한 솔루션은 일부 클래스를 확장했습니다. 안드로이드 -ksoap2를 설치하는 것은 어렵지 않습니다. git 또는 svn을 사용하거나 필요한 소스 코드 파일을 수정 한 다음 maven 새로 설치를 실행하여 http://code.google.com/p/ksoap2-android/wiki/SourceCodeHosting에서 프로젝트를 체크 아웃 할 수 있습니다. –

+0

ksoap2-android 폴더 아래에 프로젝트의 소스 코드가 있습니다. Eclipse에서 파일을 어떻게로드합니까? 나는 "기존 코드로 Android 프로젝트"를 만들려고했으나 성공하지 못했습니다. 나에게 조언 좀 해줄 수있어? –

관련 문제