home *** CD-ROM | disk | FTP | other *** search
/ Popular Software (Premium Edition) / mycd.iso / INTERNET / NETSCAP4.06 / CP32E406.EXE / nav40.z / ldap10.jar / netscape / ldap / LDAPSSLSocketFactory.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-08-13  |  2.6 KB  |  69 lines

  1. package netscape.ldap;
  2.  
  3. import java.lang.reflect.Constructor;
  4. import java.lang.reflect.Method;
  5. import java.net.Socket;
  6.  
  7. public class LDAPSSLSocketFactory implements LDAPSocketFactory {
  8.    private boolean m_isClientAuth = false;
  9.    private String m_packageName = "netscape.net.SSLSocket";
  10.  
  11.    public LDAPSSLSocketFactory() {
  12.    }
  13.  
  14.    public LDAPSSLSocketFactory(String var1) {
  15.       this.m_packageName = new String(var1);
  16.    }
  17.  
  18.    public void enableClientAuth() {
  19.       this.m_isClientAuth = true;
  20.    }
  21.  
  22.    public void enableClientAuth(String var1, String var2, String var3, String var4, String var5) {
  23.       this.m_isClientAuth = true;
  24.    }
  25.  
  26.    public boolean isClientAuth() {
  27.       return this.m_isClientAuth;
  28.    }
  29.  
  30.    public String getSSLSocketImpl() {
  31.       return this.m_packageName;
  32.    }
  33.  
  34.    public Socket makeSocket(String var1, int var2) throws LDAPException {
  35.       Object var3 = null;
  36.       if (this.m_isClientAuth) {
  37.          try {
  38.             Method var4 = LDAPCheckComm.getMethod("netscape.security.PrivilegeManager", "enablePrivilege");
  39.             if (var4 != null) {
  40.                Object[] var5 = new Object[]{new String("ClientAuth")};
  41.                var4.invoke((Object)null, var5);
  42.             }
  43.          } catch (Exception var11) {
  44.             throw new LDAPException("Invoking enablePrivilege: " + ((Throwable)var11).toString(), 89);
  45.          }
  46.       }
  47.  
  48.       try {
  49.          Class var13 = Class.forName(this.m_packageName);
  50.          Constructor[] var14 = var13.getConstructors();
  51.  
  52.          for(int var6 = 0; var6 < var14.length; ++var6) {
  53.             Class[] var7 = var14[var6].getParameterTypes();
  54.             if (var7.length == 2 && var7[0].getName().equals("java.lang.String") && var7[1].getName().equals("int")) {
  55.                Object[] var8 = new Object[]{var1, new Integer(var2)};
  56.                Socket var12 = (Socket)var14[var6].newInstance(var8);
  57.                return var12;
  58.             }
  59.          }
  60.  
  61.          throw new LDAPException("No appropriate constructor in " + this.m_packageName, 89);
  62.       } catch (ClassNotFoundException var9) {
  63.          throw new LDAPException("Class " + this.m_packageName + " not found", 89);
  64.       } catch (Exception var10) {
  65.          throw new LDAPException("Failed to create SSL socket", 91);
  66.       }
  67.    }
  68. }
  69.