diff --git a/contrib/scripts/ast_tls_cert b/contrib/scripts/ast_tls_cert
index 991352072c4108050ba5a1fe7cf22e2e419a7dd5..3c5363a0043d4b652ff28e34db3c9f55d6763c0b 100755
--- a/contrib/scripts/ast_tls_cert
+++ b/contrib/scripts/ast_tls_cert
@@ -30,20 +30,45 @@ EOF
 }
 
 create_ca () {
-	echo "Creating ${CAKEY}"
+	echo "Creating CA key ${CAKEY}"
 	openssl genrsa -des3 -out ${CAKEY} 4096 > /dev/null
-	echo "Creating ${CACERT}"
+	if [ $? -ne 0 ];
+	then
+		echo "Failed"
+		exit 1
+	fi
+	echo "Creating CA certificate ${CACERT}"
 	openssl req -new -config ${CACFG} -x509 -days 365 -key ${CAKEY} -out ${CACERT} > /dev/null
+	if [ $? -ne 0 ];
+	then
+		echo "Failed"
+		exit 1
+	fi
 }
 
 create_cert () {
 	local base=${OUTPUT_DIR}/${OUTPUT_BASE}
-	echo "Creating ${base}.key"
+	echo "Creating certificate ${base}.key"
 	openssl genrsa -out ${base}.key 1024 > /dev/null
-	echo "Creating signing request"
+	if [ $? -ne 0 ];
+	then
+		echo "Failed"
+		exit 1
+	fi
+	echo "Creating signing request ${base}.csr"
 	openssl req -batch -new -config ${CONFIG_FILE} -key ${base}.key -out ${base}.csr > /dev/null
-	echo "Creating ${base}.crt"
+	if [ $? -ne 0 ];
+	then
+		echo "Failed"
+		exit 1
+	fi
+	echo "Creating certificate ${base}.crt"
 	openssl x509 -req -days 365 -in ${base}.csr -CA ${CACERT} -CAkey ${CAKEY} -set_serial 01 -out ${base}.crt > /dev/null
+	if [ $? -ne 0 ];
+	then
+		echo "Failed"
+		exit 1
+	fi
 	echo "Combining key and crt into ${base}.pem"
 	cat ${base}.key > ${base}.pem
 	cat ${base}.crt >> ${base}.pem
@@ -181,6 +206,12 @@ then
 	CACFG=${OUTPUT_DIR}/ca.cfg
 	create_config ca "${CACFG}" "${DEFAULT_CA_CN}" "${DEFAULT_CA_ORG}"
 	create_ca
+else
+	if [ -z ${CAKEY} ]
+	then
+		echo "-k must be specified if -c is"
+		exit 1
+	fi
 fi
 
 create_cert