home *** CD-ROM | disk | FTP | other *** search
- package netscape.ldap;
-
- import java.lang.reflect.Constructor;
- import java.lang.reflect.Method;
- import java.net.Socket;
-
- public class LDAPSSLSocketFactory implements LDAPSocketFactory {
- private boolean m_isClientAuth = false;
- private String m_packageName = "netscape.net.SSLSocket";
-
- public LDAPSSLSocketFactory() {
- }
-
- public LDAPSSLSocketFactory(String var1) {
- this.m_packageName = new String(var1);
- }
-
- public void enableClientAuth() {
- this.m_isClientAuth = true;
- }
-
- public void enableClientAuth(String var1, String var2, String var3, String var4, String var5) {
- this.m_isClientAuth = true;
- }
-
- public boolean isClientAuth() {
- return this.m_isClientAuth;
- }
-
- public String getSSLSocketImpl() {
- return this.m_packageName;
- }
-
- public Socket makeSocket(String var1, int var2) throws LDAPException {
- Object var3 = null;
- if (this.m_isClientAuth) {
- try {
- Method var4 = LDAPCheckComm.getMethod("netscape.security.PrivilegeManager", "enablePrivilege");
- if (var4 != null) {
- Object[] var5 = new Object[]{new String("ClientAuth")};
- var4.invoke((Object)null, var5);
- }
- } catch (Exception var11) {
- throw new LDAPException("Invoking enablePrivilege: " + ((Throwable)var11).toString(), 89);
- }
- }
-
- try {
- Class var13 = Class.forName(this.m_packageName);
- Constructor[] var14 = var13.getConstructors();
-
- for(int var6 = 0; var6 < var14.length; ++var6) {
- Class[] var7 = var14[var6].getParameterTypes();
- if (var7.length == 2 && var7[0].getName().equals("java.lang.String") && var7[1].getName().equals("int")) {
- Object[] var8 = new Object[]{var1, new Integer(var2)};
- Socket var12 = (Socket)var14[var6].newInstance(var8);
- return var12;
- }
- }
-
- throw new LDAPException("No appropriate constructor in " + this.m_packageName, 89);
- } catch (ClassNotFoundException var9) {
- throw new LDAPException("Class " + this.m_packageName + " not found", 89);
- } catch (Exception var10) {
- throw new LDAPException("Failed to create SSL socket", 91);
- }
- }
- }
-