Skip to content
Snippets Groups Projects
Commit e39dca45 authored by sveseli's avatar sveseli
Browse files

added dm certificate management scripts

parent f6bacdbe
No related branches found
No related tags found
No related merge requests found
#!/bin/bash
sbindir=`dirname $0`
# Set root/run directories
if [ -z $DM_ROOT_DIR ]; then
cd $sbindir/..
export DM_ROOT_DIR=`pwd`
fi
if [ -z $DM_INSTALL_DIR ]; then
cd $DM_ROOT_DIR/..
export DM_INSTALL_DIR=`pwd`
fi
CA_ROOT=$DM_INSTALL_DIR/etc/CA
CA_CONFIG=$DM_ROOT_DIR/etc/dm.openssl.cnf
CA_DESC="DM Certificate Authority"
LOG_FILE=/tmp/dm-ca.log.$$
LOCKFILE=$CA_ROOT/dm-ca.lock
echo "Creating $CA_DESC"
# Check for lock file
if [ -f $LOCKFILE ]; then
if [ "x$1" != "x--force" ]; then
echo "$0 has already been run and there is no need to re-run it."
exit -1
else
# Clean up CA...
rm -rf $CA_ROOT
fi
fi
# Prep directory
HOSTNAME=`hostname`
mkdir -p $CA_ROOT/newcerts
mkdir -p $CA_ROOT/certs
mkdir -p $CA_ROOT/certreqs
mkdir -p $CA_ROOT/private
mkdir -p $CA_ROOT/crl
touch $CA_ROOT/index.txt
echo "01" > $CA_ROOT/serial
openssl req -days 3650 -nodes -new -x509 -keyout $CA_ROOT/private/cakey.pem -out $CA_ROOT/cacert.pem -config $CA_CONFIG >> $LOG_FILE 2>&1 << EOF
$CA_DESC
EOF
#Set the lockfile
if [ $? -eq 0 ]; then
echo "Created $CA_DESC"
touch $LOCKFILE
exit 0
else
echo "Error creating CA: check '$LOG_FILE'."
exit -2
fi
#!/bin/bash
sbindir=`dirname $0`
# Set root/run directories
if [ -z $DM_ROOT_DIR ]; then
cd $sbindir/..
export DM_ROOT_DIR=`pwd`
fi
if [ -z $DM_INSTALL_DIR ]; then
cd $DM_ROOT_DIR/..
export DM_INSTALL_DIR=`pwd`
fi
CA_ROOT=$DM_INSTALL_DIR/etc/CA
CA_CONFIG=$DM_ROOT_DIR/etc/dm.openssl.cnf
LOG_FILE=/tmp/dm-server-cert.log.$$
SERVER_NAME=$1
SERVER_CN=$2
ADMIN_EMAIL=$3
if [ $# -ne 3 ]; then
echo "Usage: $0 <server type> <server description> <admin email>"
exit 1
fi
CERT_DIR=$CA_ROOT/certs
CERT_REQ_DIR=$CA_ROOT/certreqs
REQUEST_CMD="openssl req -days 3650 -nodes -new -keyout $CERT_DIR/$SERVER_NAME.key -out $CERT_REQ_DIR/$SERVER_NAME.csr -extensions server -config $CA_CONFIG"
SIGN_CMD="openssl ca -days 3650 -out $CERT_DIR/$SERVER_NAME.crt -in $CERT_REQ_DIR/$SERVER_NAME.csr -extensions server -config $CA_CONFIG"
$REQUEST_CMD >> $LOG_FILE 2>&1 << EOF
$SERVER_CN
$ADMIN_EMAIL
EOF
if [ $? -ne 0 ]; then
echo "Error creating server certificate, check '$LOG_FILE'."
exit -1
fi
$SIGN_CMD >> $LOG_FILE 2>&1 << EOF
y
y
EOF
if [ $? -eq 0 ]; then
chmod 400 $CERT_DIR/*
exit 0
else
echo "Error creating server certificate, check '$LOG_FILE'."
exit -1
fi
#!/bin/bash
# Set root/run directories
if [ -z $DM_ROOT_DIR ]; then
cd $sbindir/..
export DM_ROOT_DIR=`pwd`
fi
if [ -z $DM_INSTALL_DIR ]; then
cd $DM_ROOT_DIR/..
export DM_INSTALL_DIR=`pwd`
fi
CA_ROOT=$DM_INSTALL_DIR/etc/CA
CA_CONFIG=$DM_ROOT_DIR/etc/dm.openssl.cnf
LOG_FILE=/tmp/dm-user-cert.log.$$
USERNAME=$1
USER_CN=$2
USER_EMAIL=$3
if [ $# -ne 3 ]; then
echo "Usage: $0 <username> <user cn> <user email>"
exit 1
fi
CERT_DIR=$CA_ROOT/certs
CERT_REQ_DIR=$CA_ROOT/certreqs
REQUEST_CMD="openssl req -days 3650 -nodes -new -keyout $CERT_DIR/$USERNAME.key -out $CERT_REQ_DIR/$USERNAME.csr -config $CA_CONFIG"
SIGN_CMD="openssl ca -days 3650 -out $CERT_DIR/$USERNAME.crt -in $CERT_REQ_DIR/$USERNAME.csr -config $CA_CONFIG"
$REQUEST_CMD >> $LOG_FILE 2>&1 << EOF
$USER_CN
$USER_EMAIL
EOF
if [ $? -ne 0 ]; then
echo "Error creating server certificate, check '$LOG_FILE'."
exit -1
fi
$SIGN_CMD >> $LOG_FILE 2>&1 << EOF
y
y
EOF
if [ $? -eq 0 ]; then
chmod 400 $CERT_DIR/*
exit 0
else
echo "Error creating server certificate, check '$LOG_FILE'."
exit -1
fi
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment