auth-nonascii 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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. echo "Testing certificate auth with non-ASCII passwords..."
  26. launch_simple_sr_server -d 1 -f -c configs/test-user-cert.config
  27. PID=$!
  28. wait_server $PID
  29. KEY=${srcdir}/certs/user-key-nonascii-password.p12
  30. set -x
  31. for CHARSET in UTF-8 ISO8859-2; do
  32. echo -n "Connecting to obtain cookie (with password charset ${CHARSET})... "
  33. CERTARGS="-c ${KEY} --key-password $(cat ${srcdir}/pass-${CHARSET})"
  34. ( echo "test" | LC_ALL=cs_CZ.${CHARSET} LD_PRELOAD=libsocket_wrapper.so $OPENCONNECT -q $ADDRESS:443 -u test $CERTARGS --servercert=d66b507ae074d03b02eafca40d35f87dd81049d3 --cookieonly --passwd-on-stdin ) ||
  35. fail $PID "Could not connect with charset ${CHARSET}!"
  36. done
  37. echo ok
  38. cleanup
  39. exit 0