import java.io.*; import java.security.*; import java.util.*; import edu.uci.ics.jung.graph.*; import net.deterlab.abac.Credential; import net.deterlab.abac.CredentialGraph; import net.deterlab.abac.Query; import net.deterlab.abac.Role; import net.deterlab.abac.Identity; import org.bouncycastle.openssl.PEMReader; import org.bouncycastle.jce.provider.X509CertificateObject; import java.security.KeyPair; import java.security.PublicKey; // import org.bouncycastle.util.io.pem.PemObject; /** * Simple test of the native Java implementation of ABAC. Loads credentials * from an rt0 file and runs a query against them. */ public class MakeTest { public static void main(String[] args) throws IOException { Identity id = null; Credential newCred = null; try { id = new Identity(args[0]); Credential.addIdentity(id); } catch (Exception e) { System.out.println(e); } System.err.println("ID " + id); PEMReader pr = new PEMReader(new FileReader(args[1])); Object o = pr.readObject(); System.err.println(o.getClass().getName()); if ( o instanceof KeyPair ) { KeyPair p = (KeyPair) o; System.err.println(p.getPrivate().getFormat()); Role role = new Role(args[args.length-2], true); Role prin = new Role(args[args.length-1], true); Credential c = new Credential(role, prin); c.make_cert(p.getPrivate()); c.write("./test.der"); try { newCred = new Credential("./test.der"); } catch (Exception e) { System.out.println(e); } System.err.println(newCred); } } }