-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathcommon-func
More file actions
68 lines (48 loc) · 1.43 KB
/
common-func
File metadata and controls
68 lines (48 loc) · 1.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
CERT_ROOT_DIR=$(cd $(dirname ${BASH_SOURCE[0]}) && pwd)
#Default CA
CA_NAME=Dev_CA
CA_DIR=${CERT_ROOT_DIR}/CA_certs
#Default password
#must be longer than 4 characters
DEFAULT_PASS=pass
#Conf Location
CONF_FILE=${CERT_ROOT_DIR}/conf/openssl.cnf
#Output Location
CERT_DIR=${CERT_ROOT_DIR}/certs
#Temp Locations
TMP_DIR=${CERT_ROOT_DIR}/tmp
KEY_DIR=${TMP_DIR}/keys
REQ_DIR=${TMP_DIR}/reqs
WORKING_CONF=${TMP_DIR}/openssl.conf
getConfValue() {
fld_name=$1
grep "^${fld_name}\([ ]*[=]\)[ ]*.*" ${WORKING_CONF} | awk -F '=' '{print $2}' | sed -e 's/^ *//g' -e 's/ *$//g'
}
setConfValue() {
fld_name=$1
fld_val=$2
if test ! -f "${WORKING_CONF}"; then
echo "No configuration file found: ${WORKING_CONF}"
return 3
fi
sed -i -e "s#^${fld_name}\([ ]*[=]\)[ ]*.*#${fld_name}\1 ${fld_val}#" ${WORKING_CONF}
}
initTmp() {
#Creates all the temp directories for cert management
mkdir -p ${KEY_DIR}
mkdir -p ${REQ_DIR}
mkdir -p ${TMP_DIR}/newcerts
touch ${TMP_DIR}/index.txt
cp ${CONF_FILE} ${WORKING_CONF}
}
generalInit() {
initTmp
mkdir -p ${CA_DIR}
#Generate a random 20 character hex string for a serial, to be used for signing
echo $(printf "%04X%04X%04X%04X%04X" ${RANDOM} ${RANDOM} ${RANDOM} ${RANDOM} ${RANDOM}) > ${TMP_DIR}/serial.srl
setConfValue ca_certs_dir \'${CA_DIR}\'
setConfValue dir \'${TMP_DIR}\'
}
generalCleanup() {
rm -rf ${TMP_DIR}
}