Skip to main content

Helper_Main.java

import java.util.Arrays;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Vector;

import com.eruces.teagent.TEAgentConnection;
import com.eruces.teagent.TEAgentException;

public class Helper_Main {

public static String PadString(String str) {

final int total_len = 140;

int len = (total_len - str.length()) / 2;

char[] chars = new char[len];
Arrays.fill(chars, '-');
String s = new String(chars);
String a = s;

if (str.length() % 2 == 1) {
a += '-';
}

return a + ' ' + str + ' ' + s;
}

public static void main(String args[]) {

// Testing
args = new String[]{ "blah", "asdf = blahblah", "user = root " };

Helper_Load_Properties props = new Helper_Load_Properties("settings.txt", args, false);
props.list();

TEAgentConnection conn = null;

System.out.println("\n" + PadString("Running: Sample_Admin_Connect"));

conn = Sample_Admin_Connect.nativeConnect(props.get("admin"), props.get("pass"), props.get("serv"), Integer.parseInt(props.get("port")));

System.out.println("\n" + PadString("Running: Sample_Admin_ACL_Template_Operations"));

Sample_Admin_ACL_Template_Operations.createAclTemplate(conn, props.get("testtemplate"), props.get("native_user"));

System.out.println("\n" + PadString("Running: Sample_Admin_Template_Directory_Operations"));

Sample_Admin_Template_Directory_Operations.createTemplateDirectory(conn, props.get("testdirectory_a"), props.get("testtemplate"));

Sample_Admin_Template_Directory_Operations.listAllTemplateDirectories(conn);

Sample_Admin_Template_Directory_Operations.changeTemplateDirectory(conn, props.get("testdirectory_a"), props.get("testdirectory_b"));
Sample_Admin_Template_Directory_Operations.changeTemplateDirectory(conn, props.get("testdirectory_b"), props.get("testdirectory_a"));

Sample_Admin_Template_Directory_Operations.removeTemplateDirectory(conn, props.get("testdirectory_a"));

System.out.println("\n" + PadString("Running: Sample_Admin_ACL_Template_Operations"));

Sample_Admin_ACL_Template_Operations.listAllAclTemplates(conn);

System.out.println("\n" + PadString("Running: Sample_Admin_Principal_Operations"));

Sample_Admin_Principal_Operations.createPrincipal(conn, props.get("testuser_native_a"), props.get("pass"), Helper_Principal_Enum.Native);
Sample_Admin_Principal_Operations.createPrincipal(conn, props.get("testuser_native_b"), props.get("pass"), Helper_Principal_Enum.Native);
Sample_Admin_Principal_Operations.createPrincipal(conn, props.get("testuser_windows"), "", Helper_Principal_Enum.Windows);

Sample_Admin_ACL_Template_Operations.AclTemplate_AddUserTo(conn, props.get("testtemplate"), props.get("testuser_native_a"));

System.out.println("\n" + PadString("Running: Sample_Admin_Role_Operations"));

Sample_Admin_Role_Operations.addRole_Principal(conn, props.get("testuser_native_a"), "Encryptor");
Sample_Admin_Role_Operations.addRole_Principal(conn, props.get("testuser_native_a"), "Exchanger");

TEAgentConnection conn_a = Sample_Admin_Connect.nativeConnect(props.get("testuser_native_a"), props.get("pass"), props.get("serv"), Integer.parseInt(props.get("port")));

System.out.println("\n" + PadString("Running: Sample_Bonus_Crypt_Image"));

Sample_Bonus_Crypt_Image.cryptImage(conn_a, props.get("testimage"));

System.out.println("\n" + PadString("Running: Sample_User_Operations"));

String hidden_link = Sample_User_Operations.createKey(conn_a, props.get("testtemplate"));

System.out.println("\n" + PadString("Running: Sample_Admin_ACL_Operations"));

Sample_Admin_ACL_Operations.addEntry(conn_a, hidden_link, props.get("testuser_native_b"));

// Have "testuser_native_b" access the hidden link here. Maybe do some decryption?

// Why is this messing up? You're not trying to remove the owner, but it thinks that you are.
Sample_Admin_ACL_Operations.removeEntry(conn_a, hidden_link, props.get("testuser_native_b"));

Sample_Admin_Connect.disconnect(conn_a);

Sample_Admin_Role_Operations.removeRole_Principal(conn, props.get("testuser_native_a"), "Encryptor");



Sample_Admin_ACL_Template_Operations.AclTemplate_RemoveUserFrom(conn, props.get("testtemplate"), props.get("testuser_native_a"));

System.out.println("\n" + PadString("Running: Sample_Admin_Group_Operations"));

Sample_Admin_Group_Operations.addGroup(conn, props.get("testgroup"));

System.out.println("\n" + PadString("Running: Sample_Admin_Reviewer_Operations"));

Sample_Admin_Reviewer_Operations.principal_AddReviewer(conn, props.get("testuser_native_a"), props.get("admin"));
Sample_Admin_Reviewer_Operations.principal_RemoveReviewer(conn, props.get("testuser_native_a"), props.get("admin"));

Sample_Admin_Principal_Operations.joinGroupPrincipal(conn, props.get("testuser_native_a"), props.get("testgroup"));

// for (String str : Sample_Admin_Principal_Operations.listGroupsPrincipal(conn, props.get("testuser_native_a"))) {
// System.out.println(str);
// }

// for (Entry<Long, String> entry : Sample_Admin_Role_Operations.listAllOperations(conn).entrySet()) {
// System.out.println(entry.getValue() + " - " + entry.getKey());
// }


System.out.println("\n" + PadString("Running: Sample_Admin_Principal_Operations"));

Sample_Admin_Principal_Operations.leaveGroupPrincipal(conn, props.get("testuser_native_a"), props.get("testgroup"));


Sample_Admin_Principal_Operations.removePrincipal(conn, props.get("testuser_native_a"), props.get("admin"), Helper_Principal_Enum.Native);
Sample_Admin_Principal_Operations.removePrincipal(conn, props.get("testuser_native_b"), props.get("admin"), Helper_Principal_Enum.Native);
Sample_Admin_Principal_Operations.removePrincipal(conn, props.get("testuser_windows"), props.get("admin"), Helper_Principal_Enum.Windows);

System.out.println("\n" + PadString("Running: Sample_Admin_Group_Operations"));


Sample_Admin_Group_Operations.removeGroup(conn, props.get("testgroup"), props.get("admin"));

System.out.println("\n" + PadString("Running: Sample_Admin_Role_Operations"));

Sample_Admin_Role_Operations.addRole(conn, props.get("testrole"));

Sample_Admin_Role_Operations.role_AddOperationTo(conn, props.get("testrole"), props.get("testoperation"));

// for (String str : Sample_Admin_Role_Operations.role_ListOperations(conn, props.get("testrole"))) {
// System.out.println(str);
// }

Sample_Admin_Role_Operations.role_RemoveOperationFrom(conn, props.get("testrole"), props.get("testoperation"));

Sample_Admin_Role_Operations.removeRole(conn, props.get("testrole"));

System.out.println("\n" + PadString("Running: Sample_Admin_ACL_Template_Operations"));

Sample_Admin_ACL_Template_Operations.removeAclTemplate(conn, props.get("testtemplate"));

Vector<String> test_a = Sample_Admin_Principal_Operations.listAllPrincipals(conn);
Vector<String> test_b = Sample_Admin_Group_Operations.listAllGroups(conn);
Map<Long, String> test_c = Sample_Admin_Role_Operations.listAllRoles(conn);


System.out.println("\n" + PadString("Running: Sample_Java_Hash"));

Sample_Java_Hash.main();

Sample_Admin_Connect.disconnect(conn);

// The per-authentication connect demos below are driven through each sample's
// public connect()/disconnect() API rather than its main(), so that every sample
// keeps a self-contained standalone main() of its own.
//
// Only the authentication schemes supported by 8.1 are exercised here:
// SRP user/password (above), LDAP, and certificate. The NIS/Unix scheme was
// excised with the Unix/NIS/PAM auth family (TE81-141), and the Kerberos
// connect demo was retired with the jkrb client shim (TE81-2 / ADR-0002).

System.out.println("\n" + PadString("Running: Java_Connect_LDAP"));
try {
Java_Connect_LDAP ldap = new Java_Connect_LDAP();
ldap.connect(props.get("serv"), Integer.parseInt(props.get("port")),
props.get("ldap_user"), props.get("ldap_password"));
ldap.disconnect();
}
catch (TEAgentException te) {
te.printStackTrace();
}

System.out.println("\n" + PadString("Running: Java_Connect_Cert"));
//are we running on Linux? Else assume Windows
String cert = System.getProperty("os.name").startsWith("Linux")
? props.get("certificate_user_lin")
: props.get("certificate_user_win");
try {
Java_Connect_Cert certConn = new Java_Connect_Cert();
certConn.connect(props.get("serv"), Integer.parseInt(props.get("port")),
cert, props.get("certificate_password"));
certConn.disconnect();
}
catch (Exception e) {
e.printStackTrace();
}




// conn = Sample_Admin_Connect.certificateConnect("User_Cert_Client_RSA_Chain.p12", props.get("pass"), props.get("serv"), Integer.parseInt(props.get("port")));
// Sample_Admin_Connect.disconnect(conn);
//
// conn = Sample_Admin_Connect.certificateConnect("User_Cert_Client_RSA_NoChain.p12", props.get("pass"), props.get("serv"), Integer.parseInt(props.get("port")));
// Sample_Admin_Connect.disconnect(conn);
//
// conn = Sample_Admin_Connect.certificateConnect("User_Cert_Client_ECC_Chain.p12", props.get("pass"), props.get("serv"), Integer.parseInt(props.get("port")));
// Sample_Admin_Connect.disconnect(conn);
//
// conn = Sample_Admin_Connect.certificateConnect("User_Cert_Client_ECC_NoChain.p12", props.get("pass"), props.get("serv"), Integer.parseInt(props.get("port")));
// Sample_Admin_Connect.disconnect(conn);

}

}