创建SSLServerSocket和SSLSocket(服务器端和客户端) 在服务器端,可以使用SSLServerSocket来监听和接受SSL连接;在客户端,可以使用SSLSocket来发起SSL连接 TLS"); sslContext.init(serverKeyManagerFactory.getKeyManagers(), null, null); // 创建SSLServerSocket sslServerSocket = (SSLServerSocket) sslServerSocketFactory.createServerSocket(8080); // 监听并接受 SSL连接 SSLSocket sslSocket = (SSLSocket) sslServerSocket.accept(); // 进行安全通信 // ... } } 在上述示例代码中,通过加载服务器端的证书和私钥,创建SSLContext,并使用SSLServerSocketFactory创建SSLServerSocket,最终实现了在服务器端建立安全的
javax.net.ssl.KeyManager; import javax.net.ssl.KeyManagerFactory; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLServerSocket SSLServerSocketFactory ssf = (SSLServerSocketFactory) context.getServerSocketFactory(); try { SSLServerSocket ss = (SSLServerSocket) ssf.createServerSocket(8000); System.out.println("等待客户点连接。。。")
JSSE主要包括四个包: javax.net.ssl包:包括进行安全通信的类,比如SSLServerSocket和SSLSocket类。 提供了用于创建安全连接的类,如SSLSocket、 SSLServerSocket 和 SSLEngine。 支持加密通信。 支持客户端和服务器端的身份验证。 支持SSL会话。 JSSE中负责安全通信的最核心的类是 SSLServerSocket 类与SSLSocket 类,它们分别是 ServerSocket 与 Socket 类的子类。 SSLSocket 对象由 SSLSocketFactory 创建,此外, SSLServerSocket 的 accept() 方法也会创建 SSLSocket。 SSLServerSocket 对象由 SSLServerSocketFactory 创建。
sslServerSocket; private EchoServer(SSLServerSocket sslServerSocket) { this.sslServerSocket = sslServerSocket; } public int port() { return sslServerSocket.getLocalPort (); } @Override public void close() throws IOException { if (sslServerSocket sslServerSocket.isClosed()) { sslServerSocket.close(); } } @Override socket = (SSLServerSocket) SSLServerSocketFactory.getDefault().createServerSocket
javax.net.ServerSocketFactory; import javax.net.ssl.KeyManagerFactory; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLServerSocket socket = factory.createServerSocket(8443); //客服端不需要验证服务端,如果需要验证的话,服务端需要有导入客户端的证书文件 ((SSLServerSocket
类名 ServerSocket 所属包 java.net.ServerSocket 所有被实现的接口 Cloneable,AutoCloeable 直接父类 SSLServerSocket 类声明 public
javax.net.ssl.SSLServerSocket:封装了SSL/TLS协议的ServerSocket套接字,用于提供SSL/TLS服务。 从SSLContext中获取SSLServerSocket或SSLSocket,开启SSL/TLS协议。在握手协议中协商密钥和算法,进行身份验证。
serverSocketFactory = context.getServerSocketFactory(); // 获得socket服务端对象 this.serverSocketSSLTLS = (SSLServerSocket private SSLServerSocket serverSocketSSLTLS; 用户密码 通信层还提供了节点的本地密码加密功能selfPwd,这个密码目前是由SECRET写死在当前类中的,如果是基于
JSSE提供了SSLSocket和SSLServerSocket类,它们分别是Socket和ServerSocket的安全版本。 在创建SSLSocket或SSLServerSocket时,可以指定一个SSLSocketFactory或SSLServerSocketFactory,这些工厂类负责创建安全的套接字并配置SSL/TLS
net/ssl/SSLPermission.class classes/javax/net/ssl/SSLProtocolException.class classes/javax/net/ssl/SSLServerSocket.class