public interface sun.security.ssl.ClientKeyExchangeService
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: sun.security.ssl.ClientKeyExchangeService
  super_class: java.lang.Object
{
  public static sun.security.ssl.ClientKeyExchangeService find(java.lang.String);
    descriptor: (Ljava/lang/String;)Lsun/security/ssl/ClientKeyExchangeService;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String ex
         0: .line 72
            getstatic sun.security.ssl.ClientKeyExchangeService$Loader.providers:Ljava/util/Map;
            aload 0 /* ex */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.security.ssl.ClientKeyExchangeService
            areturn
        end local 0 // java.lang.String ex
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    ex  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      ex    

  public abstract java.lang.String[] supported();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.Object getServiceCreds(java.security.AccessControlContext);
    descriptor: (Ljava/security/AccessControlContext;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      acc   

  public abstract java.lang.String getServiceHostName(java.security.Principal);
    descriptor: (Ljava/security/Principal;)Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      principal  

  public abstract boolean isRelated(boolean, java.security.AccessControlContext, java.security.Principal);
    descriptor: (ZLjava/security/AccessControlContext;Ljava/security/Principal;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      isClient  
      acc       
      p         

  public abstract sun.security.ssl.ClientKeyExchange createClientExchange(java.lang.String, java.security.AccessControlContext, sun.security.ssl.ProtocolVersion, java.security.SecureRandom);
    descriptor: (Ljava/lang/String;Ljava/security/AccessControlContext;Lsun/security/ssl/ProtocolVersion;Ljava/security/SecureRandom;)Lsun/security/ssl/ClientKeyExchange;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                 Name  Flags
      serverName       
      acc              
      protocolVersion  
      rand             

  public abstract sun.security.ssl.ClientKeyExchange createServerExchange(sun.security.ssl.ProtocolVersion, sun.security.ssl.ProtocolVersion, java.security.SecureRandom, byte[], byte[], java.security.AccessControlContext, java.lang.Object);
    descriptor: (Lsun/security/ssl/ProtocolVersion;Lsun/security/ssl/ProtocolVersion;Ljava/security/SecureRandom;[B[BLjava/security/AccessControlContext;Ljava/lang/Object;)Lsun/security/ssl/ClientKeyExchange;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                 Name  Flags
      protocolVersion  
      clientVersion    
      rand             
      encodedTicket    
      encrypted        
      acc              
      ServiceCreds     
}
SourceFile: "ClientKeyExchangeService.java"
NestMembers:
  sun.security.ssl.ClientKeyExchangeService$Loader
InnerClasses:
  public Loader = sun.security.ssl.ClientKeyExchangeService$Loader of sun.security.ssl.ClientKeyExchangeService