test/jdk/sun/security/tools/keytool/CloneKeyAskPassword.sh
branchniosocketimpl-branch
changeset 57322 4744fdcf458c
parent 57321 eef9324f94cc
parent 54527 96d290a7e94f
child 57336 766140c67efa
equal deleted inserted replaced
57321:eef9324f94cc 57322:4744fdcf458c
     1 #
       
     2 # Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
       
     3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
       
     4 #
       
     5 # This code is free software; you can redistribute it and/or modify it
       
     6 # under the terms of the GNU General Public License version 2 only, as
       
     7 # published by the Free Software Foundation.
       
     8 #
       
     9 # This code is distributed in the hope that it will be useful, but WITHOUT
       
    10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
       
    11 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
       
    12 # version 2 for more details (a copy is included in the LICENSE file that
       
    13 # accompanied this code).
       
    14 #
       
    15 # You should have received a copy of the GNU General Public License version
       
    16 # 2 along with this work; if not, write to the Free Software Foundation,
       
    17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
       
    18 #
       
    19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
       
    20 # or visit www.oracle.com if you need additional information or have any
       
    21 # questions.
       
    22 #
       
    23 
       
    24 # @test
       
    25 # @bug 6178366
       
    26 # @summary confirm that keytool correctly finds (and clones) a private key
       
    27 #          when the user is prompted for the key's password.
       
    28 #
       
    29 # @run shell CloneKeyAskPassword.sh
       
    30 
       
    31 # set a few environment variables so that the shell-script can run stand-alone
       
    32 # in the source directory
       
    33 if [ "${TESTSRC}" = "" ] ; then
       
    34    TESTSRC="."
       
    35 fi
       
    36 
       
    37 if [ "${TESTCLASSES}" = "" ] ; then
       
    38    TESTCLASSES="."
       
    39 fi
       
    40 
       
    41 if [ "${TESTJAVA}" = "" ] ; then
       
    42    echo "TESTJAVA not set.  Test cannot execute."
       
    43    echo "FAILED!!!"
       
    44    exit 1
       
    45 fi
       
    46 
       
    47 # set platform-dependent variables
       
    48 OS=`uname -s`
       
    49 case "$OS" in
       
    50   SunOS )
       
    51     PATHSEP=":"
       
    52     FILESEP="/"
       
    53     ;;
       
    54   Linux )
       
    55     PATHSEP=":"
       
    56     FILESEP="/"
       
    57     ;;
       
    58   Darwin )
       
    59     PATHSEP=":"
       
    60     FILESEP="/"
       
    61     ;;
       
    62   AIX )
       
    63     PATHSEP=":"
       
    64     FILESEP="/"
       
    65     ;;
       
    66   CYGWIN* )
       
    67     PATHSEP=";"
       
    68     FILESEP="/"
       
    69     ;;
       
    70   Windows* )
       
    71     PATHSEP=";"
       
    72     FILESEP="\\"
       
    73     ;;
       
    74   * )
       
    75     echo "Unrecognized system!"
       
    76     exit 1;
       
    77     ;;
       
    78 esac
       
    79 
       
    80 # get a writeable keystore
       
    81 cp ${TESTSRC}${FILESEP}CloneKeyAskPassword.jks .
       
    82 chmod 644 CloneKeyAskPassword.jks
       
    83 
       
    84 # run the test: attempt to clone the private key
       
    85 ${TESTJAVA}${FILESEP}bin${FILESEP}keytool ${TESTTOOLVMOPTS} \
       
    86         -keyclone \
       
    87         -alias mykey \
       
    88         -dest myclone \
       
    89         -keystore CloneKeyAskPassword.jks \
       
    90         -storepass test123 <<EOF
       
    91 test456
       
    92 EOF
       
    93 
       
    94 exit $?