summaryrefslogtreecommitdiff
path: root/cpp/src/tests/ssl_test
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2008-10-17 09:41:26 +0000
committerGordon Sim <gsim@apache.org>2008-10-17 09:41:26 +0000
commited27e866fb3927257791591e00b9d9e90477e845 (patch)
tree6550b389be9612f69337d449f315759679077843 /cpp/src/tests/ssl_test
parent5644e4fbfd777921b33874aed13c45d544c8a383 (diff)
downloadqpid-python-ed27e866fb3927257791591e00b9d9e90477e845.tar.gz
QPID-106: SSL support for c++ (broker and client), can be enabled/disabled explictly via --with-ssl/--without-ssl args to configure; by default will build the modules if dependencies are found. See SSL readme file for more details.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@705534 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/tests/ssl_test')
-rwxr-xr-xcpp/src/tests/ssl_test43
1 files changed, 43 insertions, 0 deletions
diff --git a/cpp/src/tests/ssl_test b/cpp/src/tests/ssl_test
new file mode 100755
index 0000000000..ed06f19fd3
--- /dev/null
+++ b/cpp/src/tests/ssl_test
@@ -0,0 +1,43 @@
+#!/bin/sh
+# Run a simple test over SSL
+MY_DIR=$(dirname $(which $0))
+CERT_DIR=${MY_DIR}/test_cert_db
+CERT_PW_FILE=${MY_DIR}/cert.password
+HOSTNAME=`hostname`
+COUNT=10000
+
+trap stop_broker EXIT
+
+error() { echo $*; exit 1; }
+
+create_certs() {
+ #create certificate and key databases with single, simple, self-signed certificate in it
+ mkdir ${CERT_DIR}
+ certutil -N -d ${CERT_DIR} -f ${CERT_PW_FILE}
+ certutil -S -d ${CERT_DIR} -n ${HOSTNAME} -s "CN=${HOSTNAME}" -t "CT,," -x -f ${CERT_PW_FILE} -z /usr/bin/certutil
+}
+
+start_broker() {
+ ${MY_DIR}/../qpidd --daemon --transport ssl --port 0 --ssl-port 0 --no-data-dir --no-module-dir --auth no\
+ --load-module ${MY_DIR}/../.libs/ssl.so --ssl-cert-db $CERT_DIR --ssl-cert-password-file $CERT_PW_FILE > qpidd.port
+ PORT=`cat qpidd.port`
+}
+
+stop_broker() {
+ ${MY_DIR}/../qpidd -q --port $PORT
+}
+
+if [[ !(-e ${CERT_PW_FILE}) ]] ; then
+ echo password > ${CERT_PW_FILE}
+fi
+if [[ !(-e ${CERT_DIR}) ]] ; then
+ create_certs || error "Could not create test certificate"
+fi
+
+start_broker || error "Could not start broker"
+echo "Running SSL test on port $PORT"
+export QPID_LOAD_MODULE=${MY_DIR}/../.libs/sslconnector.so
+export QPID_SSL_CERT_DB=${CERT_DIR}
+export QPID_SSL_CERT_PASSWORD_FILE=${CERT_PW_FILE}
+${MY_DIR}/perftest --count ${COUNT} --port ${PORT} -P ssl -b $HOSTNAME --summary
+