1
0
mirror of https://github.com/stefanocasazza/ULib.git synced 2025-09-28 19:05:55 +08:00
ULib/tests/examples/LCSP/LCSP_command/csp_SIGN_P10.sh
2015-01-23 17:24:36 +01:00

91 lines
1.6 KiB
Bash
Executable File

#!/bin/bash
# csp_SIGN_P10.sh: Creating a new certificate
#
# ARGV[1] = CA NAME
# ARGV[2] = REQUEST
# ARGV[3] = POLICY
#
# ENV[HOME] = Base directory for CA
# ENV[FILE_LOG] = Log file for command
# ENV[MSG_LOG] = Log separator
# ENV[OPENSSL] = Openssl path
# ENV[ENGINE] = Openssl Engine to use
# ENV[DEBUG] = Enable debugging
# ENV[TMPDIR] = Temporary directory
CANAME=$1
REQUEST=$2
POLICY=$3
#echo $CANAME > 1
#echo $REQUEST > 2
#echo $POLICY > 3
if [ -z "${CANAME}" ]; then
echo "CA name is empty" >&2
exit 1
fi
if [ -z "${REQUEST}" ]; then
echo "REQUEST is empty" >&2
exit 1
fi
if [ -z "${HOME}" ]; then
echo "HOME is not set" >&2
exit 1
fi
cd ${HOME}
if [ ! -f ${CANAME}/cacert.pem ]; then
echo "ERROR: CA ${CANAME} doesn't exists" >&2
exit 1
fi
if [ ! -f ../LCSP_command/.function ]; then
echo "Unable to found ../LCSP_command/.function" >&2
exit 1
fi
. ../LCSP_command/.function
chk_ENV `basename $0`
if [ -n "${POLICY}" ]; then
POLICY="-policy ${POLICY}"
fi
if [ -z "${TMPDIR}" ]; then
TMPDIR="/tmp"
fi
DEBUG_INFORMATION="ENV[TMPDIR] = \"${TMPDIR}\"
ARGV[1] (CANAME) = \"${CANAME}\"
ARGV[2] (REQUEST) = \"${REQUEST}\"
ARGV[3] (POLICY) = \"${POLICY}\"
"
FNAME="${TMPDIR}/casign`date +%s`$$"
# if something wrong exec this...
EXIT_CMD="rm -rf ${FNAME}"
begin_CMD
run_CMD "echo \"\${REQUEST}\"" ${FNAME}
if [ -f ${FNAME} ]; then
run_CMD "${OPENSSL} ca
-config ${CANAME}/openssl.cnf
-batch
-notext
${ENGINE}
${POLICY}
-name CA_${CANAME}
-in ${FNAME}"
fi
end_CMD