⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ldapprocess.java.sun.three

📁 这个是自由下载的
💻 THREE
📖 第 1 页 / 共 2 页
字号:
/**
 * @(#)LDAPProcess.java  2003/05/19
 *
 * Copyright(c) 2003  Wellhope Inc. All rights reserved.
 */

package psic;
import java.io.*;
import netscape.ldap.*;

/**
* @Title LDAPProcess Class
* @Description LDAPProcess类完成与LDAP服务器的信息交互
* @Version 1.0.0
* @Author Jreey Cheng
*/

public class LDAPProcess
{

  private WHLDAP_SVR_CONNCET_PARA ldapPara;
  private WHLDAP_FILTER ldapFilter;
  private int ldapFilterType;
  private LDAPConnection conn;
  private ClientConf conf=new ClientConf();

  public LDAPProcess()
  {
    ldapFilter = new WHLDAP_FILTER();
    ldapPara = new WHLDAP_SVR_CONNCET_PARA();
  }

  private int WHLDAP_SetSvrPara (WHLDAP_SVR_CONNCET_PARA pPara )
  {
    ldapPara.m_searchBase = pPara.m_searchBase;
    ldapPara.m_ldapsvr_host = pPara.m_ldapsvr_host ;
    ldapPara.m_ldapsvr_port = pPara.m_ldapsvr_port ;
    return 0;

  }


  private int WHLDAP_Connect (int  dwConnectionType,int  dwAuthMethod,String usrName,String pwd)
  {
    try
    {
      conn = new LDAPConnection();
      conn.connect(ldapPara.m_ldapsvr_host ,ldapPara.m_ldapsvr_port);
      //用户名密码
      conn.authenticate(usrName,pwd);

    }catch(Exception e)
    {
      return -1;
    }
    return 0;
  }

  private int WHLDAP_DisConnect (int dwConnectionType)
  {
    try
    {
      conn.disconnect();

    }catch(Exception e)
    {
      return -1;
    }
    return 0;
  }

  private byte[] WHLDAP_GetData (String inputData,String className,int dwType,int dwflag,int dwOption)
  {
    if(dwflag == 1)
    {
      try
      {
        LDAPSearchResults rs = conn.search(ldapPara.m_searchBase,
                                         LDAPConnection.SCOPE_SUB,
                                         ldapFilter.pbData,
                                         null,
                                         false
                                         );
        if(rs.hasMoreElements())
        {
            LDAPEntry certentry = rs.next();

          return (certentry.getAttribute(inputData).getByteValueArray())[0];

        }
       }catch(Exception e)
       {
          return null;
       }
    }
    if(dwflag == 2)
    {

 	try
	{
	        LDAPSearchResults rs = conn.search(ldapPara.m_searchBase,
	                                         LDAPConnection.SCOPE_ONE,
	                                         ldapFilter.pbData,
	                                         null,
	                                         false
	                                         );
	        if(rs.hasMoreElements())
	        {
	          LDAPEntry entry = rs.next();
	
		  return (entry.getAttribute(inputData).getByteValueArray())[0];
	
	        }
	}
	catch(Exception e)
	{
	        return null;
	}
    }
    return null;
  }

  private int WHLDAP_SetFilter (WHLDAP_FILTER  pldapfilter,int dwFilterType)
  {
    ldapFilter.dwSize = pldapfilter.dwSize ;
    ldapFilter.pbData = pldapfilter.pbData ;
    ldapFilterType = dwFilterType;
    return 0;

  }

  public byte[] WHLDAP_GetCertByMailAddr(long certType, String MailAddr)
  {
    String ldapIp =conf.getParamValue("LDAPServer");
	String caname =conf.getParamValue("LDAPSearchBase");
	int ldapPort=Integer.valueOf(conf.getParamValue("LDAPPort")).intValue();

	WHLDAP_SVR_CONNCET_PARA para = new WHLDAP_SVR_CONNCET_PARA();
	para.m_dwSearchScop = LDAPConnection.SCOPE_ONE;
	para.m_ldapsvr_host = ldapIp;
	para.m_ldapsvr_port = ldapPort;
	para.m_searchBase = "casn="+caname;

	WHLDAP_SetSvrPara(para);

	WHLDAP_FILTER filter = new WHLDAP_FILTER();
	filter.pbData = "&(causermail=" +MailAddr +")(objectclass=causer)";
	WHLDAP_SetFilter(filter,1);

	WHLDAP_Connect(1,2,null,null);
	byte[] data = WHLDAP_GetData("causerid","causer",1,1,0);
	WHLDAP_DisConnect(0x01);

        String userid = new String(data);
	para.m_searchBase = "causerid="+userid +",casn="+caname;

	WHLDAP_SetSvrPara(para);

	WHLDAP_Connect(1,2,null,null);
	if(certType == 1)
		filter.pbData = "&(cacertproperty=exchange)(objectclass=cacert)";
	if(certType == 2)
		filter.pbData = "&(cacertproperty=signature)(objectclass=cacert)";
	WHLDAP_SetFilter(filter,1);

	byte[] certValue = WHLDAP_GetData("usercertificate","cacert",1,1,0);
	WHLDAP_DisConnect(0x01);
	return certValue;

  }

  public byte[] WHLDAP_GetCertByUserid(long certType, String userid)
  {
          String ldapIp =conf.getParamValue("LDAPServer");
          String caname =conf.getParamValue("LDAPSearchBase");
		  int ldapPort=Integer.valueOf(conf.getParamValue("LDAPPort")).intValue();

          WHLDAP_SVR_CONNCET_PARA para = new WHLDAP_SVR_CONNCET_PARA();
          para.m_dwSearchScop = LDAPConnection.SCOPE_ONE;
          para.m_ldapsvr_host = ldapIp;
          para.m_ldapsvr_port = ldapPort;
          para.m_searchBase = "causerid="+userid+",casn="+caname;
          WHLDAP_SetSvrPara(para);

          WHLDAP_FILTER filter = new WHLDAP_FILTER();
          if(certType == 1)
               filter.pbData="&(cacertproperty=exchange)(objectclass=cacert)";
          if(certType == 2)
               filter.pbData="&(cacertproperty=signature)(objectclass=cacert)";
          WHLDAP_SetFilter(filter,1);

          WHLDAP_Connect(1,2,null,null);

          byte[] certValue = WHLDAP_GetData("usercertificate","cacert",1,1,0);

          WHLDAP_DisConnect(1);
          return certValue;
  }

  public byte[] WHLDAP_GetCertByCertID(String certsn)
  {

          String ldapIp =conf.getParamValue("LDAPServer");
          String caname =conf.getParamValue("LDAPSearchBase");
		  int ldapPort=Integer.valueOf(conf.getParamValue("LDAPPort")).intValue();

          WHLDAP_SVR_CONNCET_PARA para = new WHLDAP_SVR_CONNCET_PARA();
          para.m_dwSearchScop = LDAPConnection.SCOPE_ONE;
          para.m_ldapsvr_host = ldapIp;
          para.m_ldapsvr_port = ldapPort;
          para.m_searchBase ="casn="+caname;
          WHLDAP_SetSvrPara(para);

          WHLDAP_FILTER filter = new WHLDAP_FILTER();
          filter.pbData= "&(cacertsn="+certsn+")(objectclass=cacert)";
          WHLDAP_SetFilter(filter,1);

          WHLDAP_Connect(1,2,null,null);

          byte[] certValue = WHLDAP_GetData("usercertificate","cacert",1,1,0);

          WHLDAP_DisConnect(1);
          return certValue;
  }

  public byte[] WHLDAP_GetCRLFromLDAP()
  {
        return  WHLDAP_GetCertByCertID("crl");
  }

  public byte[] WHLDAP_GetSOAFromLDAP(String certsn)
  {
          String ldapIp = conf.getParamValue("LDAPServerIP");
          String searchBase = conf.getParamValue("LDAPSOASearchBase");
          String ldapPort = conf.getParamValue("LDAPServerPort");

          WHLDAP_SVR_CONNCET_PARA para = new WHLDAP_SVR_CONNCET_PARA();
          para.m_dwSearchScop = LDAPConnection.SCOPE_ONE;
          para.m_ldapsvr_host = ldapIp;
          para.m_ldapsvr_port = new Integer(ldapPort).intValue();
          para.m_searchBase ="soaprivvalue="+searchBase;
          WHLDAP_SetSvrPara(para);
          WHLDAP_FILTER filter = new WHLDAP_FILTER();
          filter.pbData= "(objectclass=pvcertsn)";
          WHLDAP_SetFilter(filter,1);
          WHLDAP_Connect(1,2,null,null);

          byte[] certValue = WHLDAP_GetData("spvcertificate","pvcertsn",1,2,0);

          WHLDAP_DisConnect(1);
          return certValue;
  }


  public byte[] WHLDAP_GetAATFromLDAP(String certsn)
  {
            String ldapIp = conf.getParamValue("LDAPServerIP");
          String searchBase = conf.getParamValue("LDAPAATSearchBase");
          String ldapPort = conf.getParamValue("LDAPServerPort");

          WHLDAP_SVR_CONNCET_PARA para = new WHLDAP_SVR_CONNCET_PARA();
          para.m_dwSearchScop = LDAPConnection.SCOPE_ONE;
          para.m_ldapsvr_host = ldapIp;
          para.m_ldapsvr_port = new Integer(ldapPort).intValue();
          para.m_searchBase ="aatemplate="+searchBase;
          WHLDAP_SetSvrPara(para);
          WHLDAP_FILTER filter = new WHLDAP_FILTER();
          filter.pbData= "(objectclass=tempcertsn)";
          WHLDAP_SetFilter(filter,1);
          WHLDAP_Connect(1,2,null,null);

          byte[] certValue = WHLDAP_GetData("aatcertificate","tempcertsn",1,2,0);
          WHLDAP_DisConnect(1);
          return certValue;
  }

  public PKI_DATA[] WHLDAP_GetAACertFromLDAPByUserID(String userid)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -