0N/A#
2362N/A# Copyright (c) 2004, 2006, Oracle and/or its affiliates. All rights reserved.
0N/A# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
0N/A#
0N/A# This code is free software; you can redistribute it and/or modify it
0N/A# under the terms of the GNU General Public License version 2 only, as
0N/A# published by the Free Software Foundation.
0N/A#
0N/A# This code is distributed in the hope that it will be useful, but WITHOUT
0N/A# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
0N/A# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
0N/A# version 2 for more details (a copy is included in the LICENSE file that
0N/A# accompanied this code).
0N/A#
0N/A# You should have received a copy of the GNU General Public License version
0N/A# 2 along with this work; if not, write to the Free Software Foundation,
0N/A# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
0N/A#
2362N/A# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
2362N/A# or visit www.oracle.com if you need additional information or have any
2362N/A# questions.
0N/A#
0N/A
0N/A# @test
0N/A# @bug 5038659
0N/A# @summary Enable PKCS#11 KeyStore for SunPKCS11-Solaris
0N/A#
0N/A# @run shell Solaris.sh
0N/A
0N/A# To run by hand:
0N/A# %sh Solaris.sh <recompile> [yes|no]
0N/A# <command> [list|basic]
0N/A#
0N/A# %sh Solaris.sh no list
0N/A#
0N/A# Note:
0N/A# . test only runs on solaris at the moment
0N/A# . 'list' lists the token aliases
0N/A# . 'basic' tests different things
0N/A
0N/A# set a few environment variables so that the shell-script can run stand-alone
0N/A# in the source directory
0N/A
0N/A# if running by hand on windows, change TESTSRC and TESTCLASSES to "."
0N/Aif [ "${TESTSRC}" = "" ] ; then
0N/A TESTSRC=`pwd`
0N/Afi
0N/Aif [ "${TESTCLASSES}" = "" ] ; then
0N/A TESTCLASSES=`pwd`
0N/Afi
0N/A
0N/A# if running by hand on windows, change this to appropriate value
0N/Aif [ "${TESTJAVA}" = "" ] ; then
0N/A TESTJAVA="/net/radiant/export1/charlie/mustang/build/solaris-sparc"
0N/Afi
0N/Aecho TESTSRC=${TESTSRC}
0N/Aecho TESTCLASSES=${TESTCLASSES}
0N/Aecho TESTJAVA=${TESTJAVA}
0N/Aecho ""
0N/A
0N/A# get command from input args -
0N/A# default to 'solaris basic'
0N/A
0N/ARECOMPILE="yes"
0N/Aif [ $# = '2' ] ; then
0N/A RECOMPILE=$1
0N/A TEST=$2
0N/Aelif [ $# = '1' ] ; then
0N/A TEST=$1
0N/Aelse
0N/A TEST="basic"
0N/Afi
0N/A
0N/ADEBUG=sunpkcs11,pkcs11keystore
0N/A
0N/Aecho RECOMPILE=${RECOMPILE}
0N/Aecho TEST=${TEST}
0N/Aecho DEBUG=${DEBUG}
0N/Aecho ""
0N/A
0N/AOS=`uname -s`
0N/Acase "$OS" in
0N/A SunOS )
0N/A FS="/"
0N/A PS=":"
0N/A SCCS="${FS}usr${FS}ccs${FS}bin${FS}sccs"
0N/A CP="${FS}bin${FS}cp -f"
0N/A RM="${FS}bin${FS}rm -rf"
0N/A MKDIR="${FS}bin${FS}mkdir -p"
0N/A CHMOD="${FS}bin${FS}chmod"
0N/A ;;
0N/A * )
0N/A echo "Unsupported System ${OS} - Test only runs on Solaris 10"
0N/A exit 0;
0N/A ;;
0N/Aesac
0N/A
0N/AOS_VERSION=`uname -r`
0N/Acase "$OS_VERSION" in
0N/A 5.1* )
0N/A SOFTTOKEN_DIR=${TESTCLASSES}
0N/A export SOFTTOKEN_DIR
0N/A ;;
0N/A * )
0N/A echo "Unsupported Version ${OS_VERSION} - Test only runs on Solaris 10"
0N/A exit 0;
0N/A ;;
0N/Aesac
0N/A
0N/A# copy keystore into write-able location
0N/A
0N/Aecho "Removing old pkcs11_keystore, creating new pkcs11_keystore"
0N/A
0N/Aecho ${RM} ${TESTCLASSES}${FS}pkcs11_softtoken
0N/A${RM} ${TESTCLASSES}${FS}pkcs11_softtoken
0N/A
0N/Aecho ${MKDIR} ${TESTCLASSES}${FS}pkcs11_softtoken${FS}private
0N/A${MKDIR} ${TESTCLASSES}${FS}pkcs11_softtoken${FS}private
0N/A
0N/Aecho ${MKDIR} ${TESTCLASSES}${FS}pkcs11_softtoken${FS}public
0N/A${MKDIR} ${TESTCLASSES}${FS}pkcs11_softtoken${FS}public
0N/A
0N/Aecho ${CP} ${TESTSRC}${FS}BasicData${FS}pkcs11_softtoken${FS}objstore_info \
0N/A ${TESTCLASSES}${FS}pkcs11_softtoken
0N/A${CP} ${TESTSRC}${FS}BasicData${FS}pkcs11_softtoken${FS}objstore_info \
0N/A ${TESTCLASSES}${FS}pkcs11_softtoken
0N/A
0N/Aecho ${CHMOD} +w ${TESTCLASSES}${FS}pkcs11_softtoken${FS}objstore_info
0N/A${CHMOD} 600 ${TESTCLASSES}${FS}pkcs11_softtoken${FS}objstore_info
0N/A
0N/A# compile test
0N/A
0N/Aif [ "${RECOMPILE}" = "yes" ] ; then
0N/A cd ${TESTCLASSES}
0N/A ${RM} *.class
0N/A ${TESTJAVA}${FS}bin${FS}javac \
0N/A -classpath ${TESTSRC}${FS}..${PS}${TESTSRC}${FS}loader.jar \
0N/A -d ${TESTCLASSES} \
0N/A ${TESTSRC}${FS}Basic.java
0N/Afi
0N/A
0N/A# run test
0N/A
0N/Acd ${TESTSRC}
0N/A${TESTJAVA}${FS}bin${FS}java \
0N/A -classpath ${TESTCLASSES}${PS}${TESTSRC}${FS}loader.jar \
0N/A -DDIR=${TESTSRC}${FS}BasicData${FS} \
0N/A -DCUSTOM_P11_CONFIG=${TESTSRC}${FS}BasicData${FS}p11-solaris.txt \
0N/A -DNO_DEFAULT=true \
0N/A -DNO_DEIMOS=true \
0N/A -DTOKEN=solaris \
0N/A -DTEST=${TEST} \
0N/A -Djava.security.manager \
0N/A -Djava.security.policy=${TESTSRC}${FS}Basic.policy \
0N/A -Djava.security.debug=${DEBUG} \
0N/A Basic
0N/A
0N/A# clean up
0N/A
0N/A#${RM} ${TESTCLASSES}${FS}pkcs11_softtoken
0N/A
0N/A# return
0N/A
0N/Aexit $?