3789983e89
Reviewed-by: darcy, ihse
129 lines
4.2 KiB
Bash
129 lines
4.2 KiB
Bash
#
|
|
# Copyright (c) 2006, 2014, Oracle and/or its affiliates. All rights reserved.
|
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
#
|
|
# This code is free software; you can redistribute it and/or modify it
|
|
# under the terms of the GNU General Public License version 2 only, as
|
|
# published by the Free Software Foundation.
|
|
#
|
|
# This code is distributed in the hope that it will be useful, but WITHOUT
|
|
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
# version 2 for more details (a copy is included in the LICENSE file that
|
|
# accompanied this code).
|
|
#
|
|
# You should have received a copy of the GNU General Public License version
|
|
# 2 along with this work; if not, write to the Free Software Foundation,
|
|
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
#
|
|
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
# or visit www.oracle.com if you need additional information or have any
|
|
# questions.
|
|
#
|
|
|
|
# @test
|
|
# @bug 6418647 8005527
|
|
# @summary Doc bug 5035358 shows sun.security.util.Password.readPassword() is buggy.
|
|
# @author Weijun Wang
|
|
# @run shell/manual console.sh
|
|
|
|
if [ "$ALT_PASS" = "" ]; then
|
|
PASSW=äöäöäö
|
|
else
|
|
PASSW=$ALT_PASS
|
|
fi
|
|
|
|
KS=/tmp/kkk.$$
|
|
|
|
cat <<____
|
|
|
|
ATTENTION
|
|
===============================================================
|
|
|
|
This test is about non-ASCII password input compatibility between
|
|
JDK 5.0 and later versions. Before running the test, make sure that --
|
|
|
|
\$J5 points to a JDK 5.0 installation
|
|
\$JM points to the current installation
|
|
|
|
The password string used in this test is $PASSW. If you find difficulty
|
|
entering it in in your system, feel free to change it to something else
|
|
by providing \$ALT_PASS. It should be no less than 6 characters and include
|
|
some non-ASCII characters.
|
|
|
|
For each test, type into the characters as described in the test header.
|
|
<R> means the RETURN (or ENTER key). Please wait for a little while
|
|
after <R> is pressed each time.
|
|
|
|
\$J5 is now $J5
|
|
\$JM is now $JM
|
|
|
|
____
|
|
|
|
|
|
if [ "$J5" = "" -o "$JM" = "" ]; then
|
|
echo "Define \$J5 and \$JM first"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Press ENTER to start the test, or Ctrl-C to stop it"
|
|
read x
|
|
|
|
echo
|
|
echo "=========================================="
|
|
echo "Test #1: 5->6, non-prompt. Please type <R>"
|
|
echo "=========================================="
|
|
echo
|
|
rm $KS 2> /dev/null
|
|
$J5/bin/keytool -keystore $KS -genkey -dname CN=olala -storepass $PASSW || exit 1
|
|
$JM/bin/keytool -keystore $KS -list -storepass $PASSW || exit 2
|
|
|
|
echo "=========================================="
|
|
echo "Test #2: 6->5, non-prompt. Please type <R>"
|
|
echo "=========================================="
|
|
echo
|
|
|
|
rm $KS 2> /dev/null
|
|
$JM/bin/keytool -keystore $KS -genkey -dname CN=olala -storepass $PASSW || exit 3
|
|
$J5/bin/keytool -keystore $KS -list -storepass $PASSW || exit 4
|
|
|
|
echo "============================================================"
|
|
echo "Test #3: 5->6, prompt. Please type $PASSW <R> <R> $PASSW <R>"
|
|
echo "============================================================"
|
|
echo
|
|
|
|
rm $KS 2> /dev/null
|
|
$J5/bin/keytool -keystore $KS -genkey -dname CN=olala || exit 5
|
|
$JM/bin/keytool -keystore $KS -list || exit 6
|
|
echo $PASSW| $J5/bin/keytool -keystore $KS -list || exit 7
|
|
echo $PASSW| $JM/bin/keytool -keystore $KS -list || exit 8
|
|
|
|
echo "======================================================================="
|
|
echo "Test #4: 6->5, prompt. Please type $PASSW <R> $PASSW <R> <R> $PASSW <R>"
|
|
echo "======================================================================="
|
|
echo
|
|
|
|
rm $KS 2> /dev/null
|
|
$JM/bin/keytool -keystore $KS -genkey -dname CN=olala || exit 9
|
|
$J5/bin/keytool -keystore $KS -list || exit 10
|
|
echo $PASSW| $JM/bin/keytool -keystore $KS -list || exit 11
|
|
echo $PASSW| $J5/bin/keytool -keystore $KS -list || exit 12
|
|
|
|
echo "==========================================="
|
|
echo "Test #5: 5->6, pipe. Please type $PASSW <R>"
|
|
echo "==========================================="
|
|
echo
|
|
|
|
rm $KS 2> /dev/null
|
|
echo $PASSW| $J5/bin/keytool -keystore $KS -genkey -dname CN=olala || exit 13
|
|
$JM/bin/keytool -keystore $KS -list || exit 14
|
|
echo $PASSW| $J5/bin/keytool -keystore $KS -list || exit 15
|
|
echo $PASSW| $JM/bin/keytool -keystore $KS -list || exit 16
|
|
|
|
rm $KS 2> /dev/null
|
|
|
|
echo
|
|
echo "Success"
|
|
|
|
exit 0
|