auth-certificate 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/bin/sh
  2. #
  3. # Copyright (C) 2016 Red Hat, Inc.
  4. #
  5. # This file is part of openconnect.
  6. #
  7. # This is free software; you can redistribute it and/or
  8. # modify it under the terms of the GNU Lesser General Public License
  9. # as published by the Free Software Foundation; either version 2.1 of
  10. # the License, or (at your option) any later version.
  11. #
  12. # This library is distributed in the hope that it will be useful, but
  13. # WITHOUT ANY WARRANTY; without even the implied warranty of
  14. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  15. # Lesser General Public License for more details.
  16. #
  17. # You should have received a copy of the GNU Lesser General Public License
  18. # along with this program. If not, see <http://www.gnu.org/licenses/>
  19. # This test uses LD_PRELOAD
  20. PRELOAD=1
  21. SERV="${SERV:-../src/ocserv}"
  22. srcdir=${srcdir:-.}
  23. top_builddir=${top_builddir:-..}
  24. . `dirname $0`/common.sh
  25. key_list=${key_list:-`echo ${certdir}/*-key-*.{pem,der,p12}`}
  26. echo "Testing certificate auth..."
  27. launch_simple_sr_server -d 1 -f -c configs/test-user-cert.config
  28. PID=$!
  29. wait_server $PID
  30. for KEY in ${key_list}; do
  31. echo -n "Connecting to obtain cookie (with key ${KEY##*/})... "
  32. if [ "${KEY%%.p12}" != "${KEY}" ]; then
  33. CERTARGS="-c ${KEY} --key-password password"
  34. else
  35. CERTARGS="--sslkey ${KEY} --key-password password -c ${KEY%-key-*}-cert.pem"
  36. fi
  37. ( echo "test" | LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $ADDRESS:443 -u test $CERTARGS --servercert=d66b507ae074d03b02eafca40d35f87dd81049d3 --cookieonly --passwd-on-stdin ) ||
  38. fail $PID "Could not connect with key ${KEY##*/}!"
  39. done
  40. echo ok
  41. cleanup
  42. exit 0