Commit 2a2cfe67 authored by Patrick Dowler's avatar Patrick Dowler
Browse files

added --resourceID command-line argument to cadc-cdp and cadc-cert-gen;...

added --resourceID command-line argument to cadc-cdp and cadc-cert-gen; removed --cred arg from cadc-cert-gen
parent 97109c03
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -15,7 +15,7 @@ sourceCompatibility = 1.7


group = 'org.opencadc'
group = 'org.opencadc'


version = '1.0.2'
version = '1.1'


mainClassName = 'ca.nrc.cadc.cred.client.Main'
mainClassName = 'ca.nrc.cadc.cred.client.Main'


+24 −14
Original line number Original line Diff line number Diff line
@@ -89,6 +89,7 @@ import java.io.File;
import java.io.FileWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.PrintWriter;
import java.net.URISyntaxException;
import java.security.Principal;
import java.security.Principal;
import java.util.HashSet;
import java.util.HashSet;
import java.util.Set;
import java.util.Set;
@@ -107,6 +108,7 @@ public class Main implements PrivilegedAction<Boolean>
    public static final String ARG_VIEW_CMD = "view";
    public static final String ARG_VIEW_CMD = "view";
    public static final String ARG_DELEGATE_CMD = "delegate";
    public static final String ARG_DELEGATE_CMD = "delegate";
    public static final String ARG_VALID_DAYS = "daysValid";
    public static final String ARG_VALID_DAYS = "daysValid";
    public static final String ARG_RESOUIRCE_ID = "resourceID";
    
    
    public static final String ARG_GET_PROXY = "get";
    public static final String ARG_GET_PROXY = "get";
    public static final String ARG_USERID = "userid";
    public static final String ARG_USERID = "userid";
@@ -140,8 +142,6 @@ public class Main implements PrivilegedAction<Boolean>
    
    
    private Operation operation; // current operation on Cred client
    private Operation operation; // current operation on Cred client


    public static final String SERVICE_ID = "ivo://cadc.nrc.ca/cred";

    /**
    /**
     * Main class for accessing CDP
     * Main class for accessing CDP
     * 
     * 
@@ -384,12 +384,8 @@ public class Main implements PrivilegedAction<Boolean>
        }
        }
        catch (Exception ex)
        catch (Exception ex)
        {
        {
            logger.error("failed to initialise SSL from certificates: "
            logger.error("failed to initialise SSL from certificates: " + ex.getMessage());
                    + ex.getMessage());
            logger.debug("failed to initialise SSL from certificates: ", ex);
            if (logger.getLevel() == Level.DEBUG)
            {
                ex.printStackTrace();
            }
            if (ex instanceof IllegalArgumentException)
            if (ex instanceof IllegalArgumentException)
            {
            {
                usage();
                usage();
@@ -397,16 +393,28 @@ public class Main implements PrivilegedAction<Boolean>
            System.exit(INIT_STATUS);
            System.exit(INIT_STATUS);
        }
        }
        
        
        String rid = argMap.getValue(ARG_RESOUIRCE_ID);
        if (rid == null)
        {
            usage();
            logger.error("missing required --resourceID");
            System.exit(INIT_STATUS);
        }
        try
        try
        {
        {
            URI serviceURI = new URI(SERVICE_ID);
            URI resourceID = new URI(rid);
            this.client = new CredClient(serviceURI);
            this.client = new CredClient(resourceID);
            logger.info("created: " + client.getClass().getSimpleName() + " for " + serviceURI);
            logger.info("created: " + client.getClass().getSimpleName() + " for " + resourceID);
        }
        catch(URISyntaxException ex)
        {
            logger.error("malformed resourceID: " + rid);
            System.exit(INIT_STATUS);
        }
        }
        catch (Exception e)
        catch (Exception e)
        {
        {
            logger.error("failed to find service URL for " + SERVICE_ID);
            logger.error("reason: " + e.getMessage());
            logger.error("reason: " + e.getMessage());
            logger.debug("reason", e);
            System.exit(INIT_STATUS);
            System.exit(INIT_STATUS);
        }
        }
    }
    }
@@ -417,11 +425,13 @@ public class Main implements PrivilegedAction<Boolean>
    public static void usage()
    public static void usage()
    {
    {
        String[] um = {
        String[] um = {
                "Usage: java -jar cadcCDP.jar [-v|--verbose|-d|--debug] <op> ...",
                "Usage: java -jar cadcCDP.jar [-v|--verbose|-d|--debug] --resourceID=<CDP service to use> <op> ...",
                CertCmdArgUtil.getCertArgUsage(),
                CertCmdArgUtil.getCertArgUsage(),
                "",
                "",
                "Help: java -jar cadcCDP.jar <-h | --help>",
                "Help: java -jar cadcCDP.jar <-h | --help>",
                "",
                "",
                "  --resourceID specifies the CDP service to use (e.g. ivo://cadc.nrc.ca/cred)",
                "",
                "  <op> is one of:    ",
                "  <op> is one of:    ",
                "  --delegate [--daysValid=<days>]",
                "  --delegate [--daysValid=<days>]",
                "          create new proxy certificate on the server",
                "          create new proxy certificate on the server",
+1 −1
Original line number Original line Diff line number Diff line
@@ -14,7 +14,7 @@ sourceCompatibility = 1.7


group = 'org.opencadc'
group = 'org.opencadc'


version = '1.0.1'
version = '1.1'


mainClassName = 'ca.nrc.cadc.cert.Main'
mainClassName = 'ca.nrc.cadc.cert.Main'


+6 −2
Original line number Original line Diff line number Diff line
@@ -54,10 +54,14 @@ public abstract class AbstractCertGenAction implements PrivilegedAction<Object>
{
{
    private static Logger LOGGER = Logger.getLogger(AbstractCertGenAction.class);
    private static Logger LOGGER = Logger.getLogger(AbstractCertGenAction.class);


    public static final URI CRED_SERVICE_ID = URI.create("ivo://cadc.nrc.ca/cred");

    protected int expiring;
    protected int expiring;
    protected String userid;
    protected String userid;
    protected final URI serviceID;
    
    protected AbstractCertGenAction(URI serviceID)
    {
        this.serviceID = serviceID;
    }


    public boolean init(final ArgumentMap argMap) throws IOException
    public boolean init(final ArgumentMap argMap) throws IOException
    {
    {
+8 −3
Original line number Original line Diff line number Diff line
@@ -49,8 +49,6 @@ import java.security.cert.CertificateNotYetValidException;
import java.security.cert.X509Certificate;
import java.security.cert.X509Certificate;
import java.util.Calendar;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.GregorianCalendar;
import java.util.Iterator;
import java.util.List;
import java.util.TimeZone;
import java.util.TimeZone;


import javax.security.auth.x500.X500Principal;
import javax.security.auth.x500.X500Principal;
@@ -71,6 +69,8 @@ import ca.nrc.cadc.cred.CertUtil;
import ca.nrc.cadc.cred.client.CredClient;
import ca.nrc.cadc.cred.client.CredClient;
import ca.nrc.cadc.net.ResourceNotFoundException;
import ca.nrc.cadc.net.ResourceNotFoundException;
import ca.nrc.cadc.util.ArgumentMap;
import ca.nrc.cadc.util.ArgumentMap;
import java.net.URI;
import java.security.spec.InvalidKeySpecException;


/**
/**
 * Generates a new certificate using CDP client API.
 * Generates a new certificate using CDP client API.
@@ -90,6 +90,11 @@ public class CertGenAction extends DbCertGenAction
    X509CertificateChain signer;
    X509CertificateChain signer;
    boolean dryRun = true;
    boolean dryRun = true;


    public CertGenAction(URI serviceID)
    {
        super(serviceID);
    }
    
    @Override
    @Override
    public boolean init(final ArgumentMap argMap) throws IOException
    public boolean init(final ArgumentMap argMap) throws IOException
    {
    {
@@ -206,7 +211,7 @@ public class CertGenAction extends DbCertGenAction


        LOGGER.debug("Generate private key & CSR");
        LOGGER.debug("Generate private key & CSR");


        CredClient client = new CredClient(CRED_SERVICE_ID);
        CredClient client = new CredClient(serviceID);
        try
        try
        {
        {
            client.deleteResource(userDN); // remove old CSR
            client.deleteResource(userDN); // remove old CSR
Loading