CloneKeyAskPassword.sh revision 6073:cea72c2bf071
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 33if [ "${TESTSRC}" = "" ] ; then 34 TESTSRC="." 35fi 36 37if [ "${TESTCLASSES}" = "" ] ; then 38 TESTCLASSES="." 39fi 40 41if [ "${TESTJAVA}" = "" ] ; then 42 echo "TESTJAVA not set. Test cannot execute." 43 echo "FAILED!!!" 44 exit 1 45fi 46 47# set platform-dependent variables 48OS=`uname -s` 49case "$OS" in 50 SunOS ) 51 PATHSEP=":" 52 FILESEP="/" 53 ;; 54 Linux ) 55 PATHSEP=":" 56 FILESEP="/" 57 ;; 58 Darwin ) 59 PATHSEP=":" 60 FILESEP="/" 61 ;; 62 CYGWIN* ) 63 PATHSEP=";" 64 FILESEP="/" 65 ;; 66 Windows* ) 67 PATHSEP=";" 68 FILESEP="\\" 69 ;; 70 * ) 71 echo "Unrecognized system!" 72 exit 1; 73 ;; 74esac 75 76# get a writeable keystore 77cp ${TESTSRC}${FILESEP}CloneKeyAskPassword.jks . 78chmod 644 CloneKeyAskPassword.jks 79 80# run the test: attempt to clone the private key 81${TESTJAVA}${FILESEP}bin${FILESEP}keytool \ 82 -keyclone \ 83 -alias mykey \ 84 -dest myclone \ 85 -keystore CloneKeyAskPassword.jks \ 86 -storepass test123 <<EOF 87test456 88EOF 89 90exit $? 91