?? ldapprocess.java.sun.three
字號:
/**
* @(#)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服務(wù)器的信息交互
* @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)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -