我需要知道如何实现TSL(https)?

时间:2015-04-17 18:01:02

标签: java ssl https

我遵循Java中W3C的规范实现了HTTP协议。但我无法处理https连接。

1 个答案:

答案 0 :(得分:1)

关于HTTP协议,HTTP没有什么特别之处。您需要的只是open server SSL socket,一旦新连接到来,获取套接字的输入流,您可以使用它(可能在包装到缓冲的输入流之后),就像使用HTTP一样。

int port = 443;
ServerSocketFactory ssocketFactory = SSLServerSocketFactory.getDefault();
ServerSocket ssocket = ssocketFactory.createServerSocket(port);

Socket socket = ssocket.accept();

编辑:您可能缺少服务器密钥库。请尝试遵循本教程:http://stilius.net/java/java_ssl.php

  1. 生成服务器密钥库:

    keytool -genkey -keystore mySrvKeystore -keyalg RSA

  2. 使用适当的参数运行您的服务器,例如:

    java -Djavax.net.ssl.keyStore = mySrvKeystore -Djavax.net.ssl.keyStorePassword = 123456 EchoServer