Module jdk.httpserver

Class HttpsConfigurator

java.lang.Object
com.sun.net.httpserver.HttpsConfigurator

public class HttpsConfigurator extends Object
这个类用于为每个传入的https连接配置https参数,用于HttpsServer。应用程序需要重写configure(HttpsParameters)方法以更改默认配置。

以下示例展示了如何实现:

 SSLContext sslContext = SSLContext.getInstance (....);
 HttpsServer server = HttpsServer.create();

 server.setHttpsConfigurator (new HttpsConfigurator(sslContext) {
     public void configure (HttpsParameters params) {

         // 如果需要,获取远程地址
         InetSocketAddress remote = params.getClientAddress();

         SSLContext c = getSSLContext();

         // 获取默认参数
         SSLParameters sslparams = c.getDefaultSSLParameters();
         if (remote.equals (...) ) {
             // 修改客户端x的默认设置
         }

         params.setSSLParameters(sslparams);
     }
 });
 
自版本:
1.6
  • Constructor Details

    • HttpsConfigurator

      public HttpsConfigurator(SSLContext context)
      使用给定的SSLContext创建一个Https配置。
      参数:
      context - 用于此配置器的SSLContext
      抛出:
      NullPointerException - 如果未提供SSLContext
  • Method Details

    • getSSLContext

      public SSLContext getSSLContext()
      返回此HttpsConfiguratorSSLContext
      返回:
      SSLContext
    • configure

      public void configure(HttpsParameters params)
      HttpsServer调用此方法来配置当前正在建立的https连接的参数。configure()的实现必须调用HttpsParameters.setSSLParameters(SSLParameters)以设置连接的SSL参数。

      此方法的默认实现使用以下返回的SSLParameters:

      getSSLContext().getDefaultSSLParameters()

      为了修改此行为,可以重写configure()。参见上面的示例

      参数:
      params - 要配置的HttpsParameters
      自版本:
      1.6