Smack API를 사용하여 Openfire 서버를 사용하여 애플리케이션을 채팅하고 있습니다. 클라이언트와 서버의 묻는 인증서 사이의 연결을 설정하는 동안 그래서, 같은Smack API를 사용하여 Xmpp Connection에서 트러스트 관리자를 기억하는 중, 안드로이드 클라이언트의 퍼미션을 요구하지 않으려면 어떻게해야합니까?
SSLContext sslContext = null;
try {
sslContext = SSLContext.getInstance("TLS");
sslContext.init(null,MemorizingTrustManager.getInstanceList(getApplicationContext()), new SecureRandom());
} catch (NoSuchAlgorithmException | KeyManagementException e) {
e.printStackTrace();
}
XMPPTCPConnectionConfiguration.Builder configBuilder = XMPPTCPConnectionConfiguration.builder();
configBuilder.setCustomSSLContext(sslContext);
을 신뢰 관리자를 암기 사용하지만 문제는 MemorizingTrustManager가
처럼 사용자로부터 허가를 받아야 팝업을 보여주고 있는가 어떤 방법 으로든 이것을 처리 할 수 있습니다. 어떤 사람이 귀하의 제안을 게시하시기 바랍니다. 미리 감사드립니다.
나는이 질문을하지 않는다 : 시스템 (예 : 설치된 CA를 통해)에서 서비스의 인증서를 확인할 수없는 경우이 대화 상자를 표시하는 것은 MTM이 수행해야하는 작업과 정확히 같습니다. – Flow
@Flow, 백그라운드에서 받아 들일 수 있습니까? 내가 필요한 것은이 팝업을 사용자에게 보여주고 싶지 않거나 MTM이 아닌 인증서를 제공하는 다른 방법입니다. – Priya
희망은 내 대답은 여기에 도움이 : http://stackoverflow.com/a/33148123/4629102 또한 내 블로그 : http://smackssl.blogspot.in/2015/10/ssl-implementation-in-android-for-smack .html – Iqbal