From b597cfb5143b1b13ed8f5a64f142476a6f7eea9a Mon Sep 17 00:00:00 2001 From: Peter Wu Date: Sun, 27 Oct 2013 12:03:05 +0100 Subject: openssl-*: support custom s_server/s_client args --- openssl-connect | 18 +++++++++++++++--- openssl-listen | 21 +++++++++++++++------ 2 files changed, 30 insertions(+), 9 deletions(-) diff --git a/openssl-connect b/openssl-connect index fa9b09a..4a977f7 100755 --- a/openssl-connect +++ b/openssl-connect @@ -2,11 +2,23 @@ # Connects to a SSL host for a list of ciphers # Author: Peter Wu -host=${1:-localhost} -portbase=${2:-4430} +host=localhost +portbase=4430 PSK=12345678 PSK=0102030405060708091011121314151617181920 +# assume that openssl options always start with - +if [[ $1 != -* ]]; then + host=$1; shift +fi +if [[ $1 != -* ]]; then + portbase=$1; shift + if ! [[ $portbase -gt 0 ]] || ! [[ $portbase -le 65535 ]]; then + echo "Port must be between 1 and 65535" >&2 + exit 1 + fi +fi + s_client_client_random() { awk ' # match Master-Key from SSL Session dump @@ -101,7 +113,7 @@ while read cipher; do openssl s_client -connect "$host:$port" -ign_eof -cipher "$cipher" \ -no_comp \ "${opts[@]}" \ - -msg 2>&1 | s_client_client_random + -msg "$@" 2>&1 | s_client_client_random done # vim: set et sw=4 ts=4: diff --git a/openssl-listen b/openssl-listen index 65cf714..3919c40 100755 --- a/openssl-listen +++ b/openssl-listen @@ -13,12 +13,20 @@ ecc_pub=secp384r1-rsa.crt PSK=12345678 PSK=0102030405060708091011121314151617181920 -pkdir=$1 -portbase=${2:-4430} +pkdir=$1; shift +portbase=4430 +# assume that openssl options always start with - +if [[ $1 != -* ]]; then + portbase=$1; shift + if ! [[ $portbase -gt 0 ]] || ! [[ $portbase -le 65535 ]]; then + echo "Port must be between 1 and 65535" >&2 + exit 1 + fi +fi if [ -z "$pkdir" ]; then cat <