www.pudn.com > ejbca_3_5_3(1).zip > ejbca.sh


#!/usr/bin/env bash

# OS specific support.
cygwin=false;
case "`uname`" in
CYGWIN*) cygwin=true ;;
esac

JAVACMD=`which java`
# Check that JAVA_HOME is set
if [ ! -n "$JAVA_HOME" ]; then
if [ ! -n "$JAVACMD" ]
then
echo "You must set JAVA_HOME before running the EJBCA cli."
exit 1
fi
else
JAVACMD=$JAVA_HOME/bin/java
fi

# Wich command are we running?
if [ "$1" = "batch" ] ; then
class_name=org.ejbca.ui.cli.batch.BatchMakeP12
elif [ "$1" = "ca" ] ; then
class_name=org.ejbca.ui.cli.ca
elif [ "$1" = "ra" ] ; then
class_name=org.ejbca.ui.cli.ra
elif [ "$1" = "setup" ] ; then
class_name=org.ejbca.ui.cli.setup
elif [ "$1" = "hardtoken" ] ; then
class_name=org.ejbca.ui.cli.hardtoken.hardtoken
elif [ "$1" = "template" ] ; then
CP=:${EJBCA_HOME}/lib/ext/xerces_2_3_0.jar
class_name=org.ejbca.ui.cli.SVGTemplatePrinter
elif [ "$1" = "ocsp" ] ; then
class_name=org.ejbca.ui.cli.Ocsp
elif [ "$1" = "asn1dump" ] ; then
class_name=org.ejbca.ui.cli.Asn1Dump
elif [ "$1" = "encryptpwd" ] ; then
class_name=org.ejbca.ui.cli.EncryptPwd
else
echo "Usage: $0 [batch|ca|ra|setup|hardtoken|template|ocsp|asn1dump|encryptpwd] options"
echo "For options information, specify a command directive"
exit 1
fi

# discard $1 from the command line args
shift

# J2EE server classpath
if [ ! -n "$APPSRV_HOME" ]; then
if [ -n "$JBOSS_HOME" ]; then
APPSRV_HOME=$JBOSS_HOME
fi
fi
if [ -n "$APPSRV_HOME" ]; then
J2EE_DIR="${APPSRV_HOME}"/client
if [ -r "$APPSRV_HOME"/server/lib/weblogic.jar ]; then
echo "Using Weblogic JNDI provider..."
J2EE_DIR="${APPSRV_HOME}"/server/lib
elif [ -r "$APPSRV_HOME"/lib/appserv-rt.jar ]; then
echo Using Glassfish JNDI provider...
J2EE_DIR="${APPSRV_HOME}"/lib
else
echo "Using JBoss JNDI provider..."
fi
else
echo "Could not find a valid J2EE server for JNDI provider.."
echo "Specify a APPSRV_HOME environment variable"
exit 1
fi

EJBCA_HOME=..
if [ ! -x ejbca.sh ]
then
EJBCA_HOME=.
fi
# Check that classes exist
if [ ! -d ${EJBCA_HOME}/tmp/bin/classes ]
then
echo "You must build EJBCA before using the cli, use 'ant'."
exit 1
fi

# library classpath
CP="$EJBCA_HOME/tmp/bin/classes"$CP
for i in "${J2EE_DIR}"/*.jar
do
CP="$i":"$CP"
done
for i in "${EJBCA_HOME}"/lib/*.jar
do
CP="$i":"$CP"
done

CP=$CP:$EJBCA_HOME/bin

# For Cygwin, switch paths to Windows format before running java
if $cygwin; then
CP=`cygpath --path --windows "$CP"`
fi

exec "$JAVACMD" -cp $CP $class_name "$@"