나는이 설정이 : (clientAuth = TRUE) SSL 클라이언트 인증서 인증을 사용하도록 구성NSURLConnection은 장치의 프로파일에 설치된 클라이언트 인증서를 사용할 수 있습니까?
- Tomcat 서버를
- .p12 인 파일을 볼 수로 이메일에 설치된 유효한 클라이언트 인증서 (와 아이 패드 프로필 아래)
ios safari를 통해 탐색 할 때 ipad는 클라이언트 인증서를 사용하고 서버에 대해 인증을합니다.
그러나 코드에서 NSURLConnection을 사용하면 연결되지 않습니다. 서버에서의 디버깅은 클라이언트가 보내는 것과 인증서를 전혀 보여주지 않습니다.
Request(https://192.168.1.5:8443/device/security/policy>, 0, 0)) didFailWithError:Error Domain=NSURLErrorDomain Code=-1205 "The server “192.168.1.5” did not accept the certificate." UserInfo=0xe2eae30
{NSErrorFailingURLStringKey=https://192.168.1.5:8443/device/security/policy>, NSErrorFailingURLKey=https://192.168.1.5:8443/device/security/policy>, NSLocalizedDescription=The server “192.168.1.5” did not accept the certificate.,
NSUnderlyingError=0xe2eb250 "The server “192.168.1.5” did not accept the certificate.", NSURLErrorFailingURLPeerTrustErrorKey=<SecTrustRef: 0xe6ab010>}
나는 내가 NSURLAuthenticationMethodClientCertificate 보호 공간에 대한 도전에 대한 대리자 메서드를 구현할 수 이해하지만, 내가 할 경우 내가 보낼 수있는 인증서가 해달라고 : 클라이언트에
나는 다음과 같은 오류가 발생합니다 , 장치에 설치되어 있고 코드를 통해 액세스 할 수 없습니다. (그게 무엇입니까?) [challenge.sender performDefaultHandlingForAuthenticationChallenge : challenge]를 호출했지만 아무런 효과가없는 것으로 보입니다.NSURLConnection이 사파리 당 동작하고 설치된 인증서에 액세스 할 것으로 예상했지만 표시되지 않았습니다. 내가 어떻게 든 내 애플 리케이션에 인증서를 설치하고 싶지 않아요 - 그 무엇 인증서 관리 내장에 대한이야!
아니면 뭔가 빠졌습니까? 어떤 도움을 주셔서 감사합니다.
이것 좀 봐 http://vanjakom.wordpress.com/2011/10/23/https-client-for-ios/ –
좋은 소식이지만, 내가 뭘 하려는지는 인증서를 수동으로 앱 번들 밖으로 가져옵니다. 대신 OS 레벨에서 장치에 설치된 인증서를 사용하고 싶습니다. –
이 문제에 대한 해결책을 찾았습니까? 현재이 정확한 시나리오를 조사 중입니다. – Yanik