55#
66# Generate new certs, import them, list keystore contents and disable the HTTP port.
77#
8- # Version: 0.4
8+ # Version: 0.5
99#
1010# --------------------------------------------------------------------------------------------------
1111
1212# Edit the following parameter to suit your environment
1313CONTROLLER_HOME=/opt/AppDynamics/Controller
1414
15+
1516# ###############################################
1617# Do not edit below this line
17-
18- CONTROLLER_KEYTOOL_HOME=$CONTROLLER_HOME /jre/bin
19- CONTROLLER_CONFIG_HOME=$CONTROLLER_HOME /appserver/glassfish/domains/domain1/config
20- CONTROLLER_SIGNED_CERT_ALIAS_NAME=" s1as"
21- CONTROLLER_KEYSTORE_NAME=" keystore.jks"
22- CONTROLLER_KEYSTORE_PASSWORD=" changeit"
18+ DATETIME=` date +%Y%m%d%H%M`
19+ CSR=" ./$HOSTNAME -$DATETIME .csr"
20+
21+ SIGNED_CERT_ALIAS_NAME=" s1as"
22+ KEYSTORE_NAME=" keystore.jks"
23+ KEYSTORE_PASSWORD=" changeit"
24+ CONFIG_HOME=$CONTROLLER_HOME /appserver/glassfish/domains/domain1/config
25+ KEYSTORE_PATH=$CONFIG_HOME /$KEYSTORE_NAME
26+ KEYTOOL_HOME=$CONTROLLER_HOME /jre/bin
27+ KEYTOOL=$KEYTOOL_HOME /keytool
28+ KEYSTORE_BACKUP=" ./$KEYSTORE_NAME -$DATETIME .bak"
2329
2430# 1
2531generate-csr ()
2632{
27- validate
28-
29- local DATETIME=` date +%Y%m%d%H%M`
30- local KEYSTORE_BACKUP=" $CONTROLLER_KEYSTORE_NAME .$DATETIME .bak"
31- local CSR=" $HOSTNAME -$DATETIME .csr"
32-
3333 echo " Generating a new Certificate Signing Request..."
3434
3535 # ########################################
3636 # Backup the keystore
37- if [ -f $CONTROLLER_CONFIG_HOME /$CONTROLLER_KEYSTORE_NAME ]; then
38- echo " Creating backup keystore $CONTROLLER_CONFIG_HOME /$KEYSTORE_BACKUP "
39- cp $CONTROLLER_CONFIG_HOME /$CONTROLLER_KEYSTORE_NAME $CONTROLLER_CONFIG_HOME /$KEYSTORE_BACKUP
37+ if [ -f $KEYSTORE_PATH ]; then
38+ echo " Creating backup keystore $KEYSTORE_BACKUP "
39+ cp $KEYSTORE_PATH $KEYSTORE_BACKUP
40+
41+ if [ $? -gt 0 ] ; then
42+ echo " ERROR: unable to create the backup keystore"
43+ exit 1
44+ fi
4045 fi
4146
4247 # ########################################
43- # Delete the existing $CONTROLLER_SIGNED_CERT_ALIAS_NAME
44- echo " Deleting $CONTROLLER_SIGNED_CERT_ALIAS_NAME in $CONTROLLER_CONFIG_HOME / $CONTROLLER_KEYSTORE_NAME "
45- $CONTROLLER_KEYTOOL_HOME /keytool -delete -alias $CONTROLLER_SIGNED_CERT_ALIAS_NAME -keystore $CONTROLLER_CONFIG_HOME / $CONTROLLER_KEYSTORE_NAME -storepass $CONTROLLER_KEYSTORE_PASSWORD
48+ # Delete the existing $SIGNED_CERT_ALIAS_NAME
49+ echo " Deleting $SIGNED_CERT_ALIAS_NAME in $KEYSTORE_PATH "
50+ $KEYTOOL -delete -alias $SIGNED_CERT_ALIAS_NAME -keystore $KEYSTORE_PATH -storepass $KEYSTORE_PASSWORD
4651
52+ if [ $? -gt 0 ] ; then
53+ echo " ERROR: unable to delete the alias"
54+ exit 1
55+ fi
4756
4857 # ########################################
4958 # Generate the keypair
50- echo " Generating the new keypair in $CONTROLLER_CONFIG_HOME /$CONTROLLER_KEYSTORE_NAME "
51- $CONTROLLER_KEYTOOL_HOME /keytool -genkeypair -alias $CONTROLLER_SIGNED_CERT_ALIAS_NAME -keyalg RSA -keystore $CONTROLLER_CONFIG_HOME /$CONTROLLER_KEYSTORE_NAME -keysize 2048 -validity 1825 -storepass $CONTROLLER_KEYSTORE_PASSWORD
59+ echo " Generating the new keypair in $KEYSTORE_PATH "
60+ $KEYTOOL -genkeypair -alias $SIGNED_CERT_ALIAS_NAME -keyalg RSA -keystore $KEYSTORE_PATH -keysize 2048 -validity 1825 -storepass $KEYSTORE_PASSWORD
61+
62+ if [ $? -gt 0 ] ; then
63+ echo " ERROR: unable to generate the keypair"
64+ exit 1
65+ fi
5266
5367
5468 # ########################################
5569 # Generate the CSR
56- echo " Generating the Certificate Signing Request at $CONTROLLER_CONFIG_HOME /$CSR "
57- $CONTROLLER_KEYTOOL_HOME /keytool -certreq -alias $CONTROLLER_SIGNED_CERT_ALIAS_NAME -keystore $CONTROLLER_CONFIG_HOME /$CONTROLLER_KEYSTORE_NAME -storepass $CONTROLLER_KEYSTORE_PASSWORD -file $CONTROLLER_CONFIG_HOME /$CSR
70+ echo " Generating the Certificate Signing Request at $CSR "
71+ $KEYTOOL -certreq -alias $SIGNED_CERT_ALIAS_NAME -keystore $KEYSTORE_PATH -storepass $KEYSTORE_PASSWORD -file $CSR
72+
73+ if [ $? -gt 0 ] ; then
74+ echo " ERROR: unable to generate the CSR"
75+ exit 1
76+ fi
5877
5978 # ########################################
6079 echo " "
61- echo " Finished. CSR generated at $CONTROLLER_CONFIG_HOME / $ CSR. "
80+ echo " Finished. CSR generated at $CSR "
6281 echo " Send this CSR to your Certificate Authority for signing, then import the signed cert. You may need to first import the CA's chain or root cert, depending on your setup. Contact your company's PKI team for guidance. "
6382}
6483
6584# 2
6685import-signed-cert ()
6786{
68- validate
69-
7087 echo " Importing a signed certificate..."
7188 read -rp $' Certificate filename: ' cert
7289
@@ -75,17 +92,20 @@ import-signed-cert()
7592 exit
7693 fi
7794
78- echo " Importing certificate: $cert "
79- $CONTROLLER_KEYTOOL_HOME /keytool -import -trustcacerts -alias $CONTROLLER_SIGNED_CERT_ALIAS_NAME -keystore $CONTROLLER_CONFIG_HOME /$CONTROLLER_KEYSTORE_NAME -storepass $CONTROLLER_KEYSTORE_PASSWORD -file $cert
95+ echo " Importing $cert into $KEYSTORE_PATH for alias $alias "
96+ $KEYTOOL -import -trustcacerts -alias $SIGNED_CERT_ALIAS_NAME -keystore $KEYSTORE_PATH -storepass $KEYSTORE_PASSWORD -file $cert
97+
98+ if [ $? -gt 0 ] ; then
99+ echo " ERROR: unable to import the certificate"
100+ exit 1
101+ fi
80102
81103 echo " Finished"
82104}
83105
84106# 3
85107import-cert-chain ()
86108{
87- validate
88-
89109 echo " Importing a root or intermediate certificate..."
90110 read -rp $' Certificate filename: ' cert
91111
@@ -98,33 +118,35 @@ import-cert-chain()
98118 local filename=" ${fullfile##*/ } "
99119 local alias=$( echo $filename | cut -f 1 -d ' .' ) # File name without the extension
100120
101- echo " Importing $cert into keystore alias $alias "
102- $CONTROLLER_KEYTOOL_HOME /keytool -import -trustcacerts -alias $alias -keystore $CONTROLLER_CONFIG_HOME /$CONTROLLER_KEYSTORE_NAME -storepass $CONTROLLER_KEYSTORE_PASSWORD -file $cert
121+ echo " Importing $cert into $KEYSTORE_PATH for alias $alias "
122+ $KEYTOOL -import -trustcacerts -alias $alias -keystore $KEYSTORE_PATH -storepass $KEYSTORE_PASSWORD -file $cert
123+
124+ if [ $? -gt 0 ] ; then
125+ echo " ERROR: unable to import the certificate"
126+ exit 1
127+ fi
103128
104129 echo " Finished"
105130}
106131
107132# 4
108133list ()
109134{
110- validate
111-
112- $CONTROLLER_KEYTOOL_HOME /keytool -list -keystore $CONTROLLER_CONFIG_HOME /$CONTROLLER_KEYSTORE_NAME -storepass $CONTROLLER_KEYSTORE_PASSWORD | more
135+ $KEYTOOL -list -keystore $KEYSTORE_PATH -storepass $KEYSTORE_PASSWORD | more
113136}
114137
115138validate ()
116139{
117- local valid=true
118140 if [ ! -d " $CONTROLLER_HOME " ]; then
119141 echo " ERROR: Unable to find $CONTROLLER_HOME . Set the variable in this script."
120142 exit 1
121143 fi
122- if [ ! -d " $CONTROLLER_KEYTOOL_HOME " ]; then
123- echo " ERROR: Unable to find $CONTROLLER_KEYTOOL_HOME . Set the variable in this script."
144+ if [ ! -d " $KEYTOOL_HOME " ]; then
145+ echo " ERROR: Unable to find $KEYTOOL_HOME . Set the variable in this script."
124146 exit 1
125147 fi
126- if [ ! -d " $CONTROLLER_CONFIG_HOME " ]; then
127- echo " ERROR: Unable to find $CONTROLLER_CONFIG_HOME . Set the variable in this script."
148+ if [ ! -d " $CONFIG_HOME " ]; then
149+ echo " ERROR: Unable to find $CONFIG_HOME . Set the variable in this script."
128150 exit 1
129151 fi
130152}
@@ -178,4 +200,5 @@ main()
178200 done
179201}
180202
203+ validate
181204main
0 commit comments