私は周りを見回しましたが、私が望むものに完全に答える質問は見当たりませんでしたが、これが重複している場合は、質問を指摘してください.
現在、からデータを受信するJavaサーバーを作成しようとしていますSSLServerSocket
。今のところ、それを印刷するだけです。最終的にはこのデータを Android から取得したいと考えていますが、現在SSLException
はデータのリッスンを開始する前に をスローします。
コード:
System.setProperty("javax.net.ssl.keyStore","C:\\ProgramFiles\\jre6\\bin\\server.jks");
System.setProperty("javax.net.ssl.keyStorePassword","password");
SSLServerSocketFactory factory = (SSLServerSocketFactory) SSLServerSocketFactory.getDefault();
ServerSocket ss = factory.createServerSocket(6543);
Socket s = ss.accept();
その後、それを処理するためのコードがさらにありますが、ハングアップしてそこで例外がスローされるため、投稿しても役立つかどうかはわかりませんが、そうであればコメントしてください。
Ubuntu での openssl のチュートリアルに従って証明書を作成し、それを転送して、次を使用してキーストアを作成しました。
keytool -import -file "C:\Documents and Settings\matt\Desktop\server.crt" -keystore server.jks
この大部分がどのように機能するかを完全には理解していないことは容易に認められます。また、これはそれ自体がかなり大きな質問だと思うので、この質問の範囲外に置いておくと思いますが、可能であればクライアントを接続する方法についても洞察が必要です. ご迷惑をおかけしましたことをお詫び申し上げます。
編集:
私が従ったチュートリアルはここにあります: http://www.akadia.com/services/ssh_test_certificate.html
再度、感謝します!
編集:
スローされる例外は次のとおりです。
javax.net.ssl.SSLException: No available certificate or key corresponds to the SSL cipher suites which are enabled
私は例外をGoogleにしようとしましたが、ほとんどすべてがキーストアの作成方法を説明するチュートリアルでした(私はすでに持っているという印象を受けています). これらの検索結果をふるいにかけ続けます。
ありがとう!