Android 용 2.2 SDK 용 응용 프로그램을 만들고 현재 응용 프로그램의 한 인스턴스에서 Java 소켓을 통해 (다른 모바일 장치 인) wifi를 통해 데이터를 보내고 있습니다. 정상적으로 작동합니다. 데이터를 평문으로 보내지 않도록 암호화를 추가하고 싶습니다. Android 및 SSL 인증서 로딩
나는 서버에 연결 다른 점에 1 점SocketAddress sockAddress = new InetSocketAddress(address.getIP(), address.getPort());
SSLSocketFactory factory = (SSLSocketFactory) SSLSocketFactory.getDefault();
connectionSocket = (SSLSocket) factory.createSocket();
connectionSocket.connect(sockAddress, 6000);
상의 SSLServer를 만들려면
SSLServerSocketFactory factory = (SSLServerSocketFactory)
SSLServerSocketFactory.getDefault();
server = (SSLServerSocket) factory.createServerSocket(incomingConnectionPort);
while(!Thread.interrupted()) {
SSLSocket incoming = (SSLSocket) server.accept();
.......
}
을 사용했다. 은 일부 검색 후 나는 또한
keytool -keystore mykeystore -storepass mypass -genkey -keyalg RSA -alias mycert
처럼 뭔가 자체 서명 된 인증서를 생성하고 내 코드
System.setProperty("javax.net.ssl.keyStore", "mykeystore");
System.setProperty("javax.net.ssl.keyStorePassword","mypass");
//add cert as trusted
System.setProperty("javax.net.ssl.trustStore","mykeystore");
System.setProperty("javax.net.ssl.trustStorePassword","mypass");
이 추가하지만 분명히 내가 여기 읽어 이유로 안드로이드에서 작동하지 않습니다 http://groups.google.com/group/android-developers/browse_thread/thread/16c7eb8e65451d27/26edb971d390e2a3?pli=1.
나는 (? 용액) 코드를 확인 여기 https://github.com/k9mail/k-9/blob/master/src/com/fsck/k9/mail/store/TrustManagerFactory.java을하지만 인증서를 가져 오려면 어떻게 정확히 알아낼 수 없습니다.제대로 인증서를 키 저장소로 가져 오는 방법에 대한 지침을 제공 할 수 있습니까?
(내가 만들고있어 응용 프로그램뿐만 아니라 비 모바일 장치에 연결하기 때문에 안드로이드 안됨) 나는 또한 안전하게 자바 TCP 소켓을 통해 데이터를 전송하는 아마 다른 방법을 부탁드립니다.
나는 실수를 저질 렀습니다. 나는 아직도 배우고있다. :)