Skip to content

Instantly share code, notes, and snippets.

@furu-nob
Created June 22, 2018 08:41
Show Gist options
  • Save furu-nob/240251a2806ceaea464101f07d7d77b6 to your computer and use it in GitHub Desktop.
Save furu-nob/240251a2806ceaea464101f07d7d77b6 to your computer and use it in GitHub Desktop.
#!/bin/sh
function USAGE {
cat <<EOL
Script for output NewKEY file and CSR file
Usage $0
$0 www.example.jp
Output
KEYFILE: ${KEYDIR}/www.example.jp.2018.nopass.key
CSRFILE: ${CSRFILE}/www.example.jp.2018.csr
EOL
}
DOMAINNAME=$1
NOWYEAR=$(date +%Y)
LASTYEAR=$(expr ${NOWYEAR} - 1)
BASEDIR='/etc/httpd/conf'
KEYDIR="${BASEDIR}/ssl.key"
CSRDIR="${BASEDIR}/ssl.csr"
CRTDIR="${BASEDIR}/ssl.crt"
KEYFILE="${KEYDIR}/${DOMAINNAME}.${NOWYEAR}.nopass.key"
CSRFILE="${CSRDIR}/${DOMAINNAME}.${NOWYEAR}.csr"
CRTFILE="${CRTDIR}/${DOMAINNAME}.${NOWYEAR}.crt"
LASTYEAR_CSRFILE=""${CSRDIR}/${DOMAINNAME}.${LASTYEAR}.csr""
if [ $# -ne 1 ] ;then
USAGE
exit 1
fi
if [ -f "${KEYFILE}" ] ;then
echo "KEYFILE: ${KEYFILE} exist. Error!"
exit 1
fi
if [ ! -f "${LASTYEAR_CSRFILE}" ] ;then
echo "LASTYEAR_CSRFILE: ${LASTYEAR_CSRFILE} not exist. Error!"
exit 1
fi
# Get old subject
LASTYEAR_SUBJECT=$(openssl req -noout -text -in ${LASTYEAR_CSRFILE} |grep Subject:|sed -e "s/,\ /\//g"|sed -e "s/^\ \ *Subject\:\ /\//")
COMMAND="openssl req -subj '${LASTYEAR_SUBJECT}' -sha256 -new -nodes -newkey rsa:2048 -keyout ${KEYFILE} -out ${CSRFILE}"
echo "Exec this commnad?"
echo $COMMAND
read -p "ok? (y/N): " yn
case "$yn" in [yY]*) ;; *) echo "abort." ; exit ;; esac
if eval ${COMMAND} ;then
echo "Command Sucsess!"
echo "# CSR is"
cat ${CSRFILE}
echo ""
else
echo "Command Fail!"
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment