import com.eruces.teagent.TEAgentConnection;
import com.eruces.teagent.TEAgentException;
import com.eruces.teagent.TEAgentConnectionFactory;
import com.eruces.teadmin.Administration;
import com.eruces.teadmin.AdminException;
import com.eruces.teadmin.PrincipalInfo;
import com.eruces.teadmin.TransportPrincipalInfo;
public class Java_Admin_Principal_Get_Cert {
private String m_strServerName;
private int m_nPort;
private String m_strUsername;
private String m_strPasswd;
private TEAgentConnection m_conn;
public void getPrincipal(String strSubject) throws TEAgentException, AdminException
{
Administration admin = new Administration();
admin.attachConnection(m_conn);
TransportPrincipalInfo principal = new TransportPrincipalInfo(strSubject);
PrincipalInfo principals[] = admin.getPrincipalList();
if( principals != null )
{
System.out.println("Principals got:");
for (int i=0; i<principals.length; i++)
{
if (principals[i] instanceof com.eruces.teadmin.TransportPrincipalInfo)
{
if (principal.equals((TransportPrincipalInfo)principals[i]))
{
System.out.println("Certificate user found:");
principal = (TransportPrincipalInfo)principals[i];
System.out.println(" " + principal.toString());
break;
}
}
}
}
else
System.out.println("Principal not found !");
admin.detachConnection();
}
public void connect(String strServerName, int nPort, String strUsername, String strPasswd) throws TEAgentException
{
m_strServerName = strServerName;
m_nPort = nPort;
m_strUsername = strUsername;
m_strPasswd = strPasswd;
m_conn = TEAgentConnectionFactory.getInstance(TEAgentConnectionFactory.SECURE_USER_PASSWORD);
m_conn.open(m_strServerName, m_nPort, m_strUsername, m_strPasswd);
System.out.println("Connected to " + m_strServerName + " at " + m_nPort + " as " + m_strUsername);
}
public void disconnect() throws TEAgentException
{
m_conn.close();
System.out.println("Disconnected from " + m_strServerName);
}
public static void main(String[] args)
{
try {
Java_Admin_Principal_Get_Cert test = new Java_Admin_Principal_Get_Cert();
test.connect("sampleserver", 8888, "admin", "password1A");
test.getPrincipal("cn=bob,cn=users,dc=example,dc=com");
test.disconnect();
}
catch (TEAgentException te) {
System.out.println("TEAgentException encountered: ");
te.printStackTrace();
}
catch (AdminException te) {
System.out.println("AdminException encountered: ");
te.printStackTrace();
}
catch (Exception ex) {
System.out.println("Exception encountered: ");
ex.printStackTrace();
}
}
}