PublicKeyInterop.sh revision 17113:d17577d4839b
1#!/bin/sh
2
3#
4# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
5# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6#
7# This code is free software; you can redistribute it and/or modify it
8# under the terms of the GNU General Public License version 2 only, as
9# published by the Free Software Foundation.
10#
11# This code is distributed in the hope that it will be useful, but WITHOUT
12# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14# version 2 for more details (a copy is included in the LICENSE file that
15# accompanied this code).
16#
17# You should have received a copy of the GNU General Public License version
18# 2 along with this work; if not, write to the Free Software Foundation,
19# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20#
21# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22# or visit www.oracle.com if you need additional information or have any
23# questions.
24#
25
26# @test
27# @bug 6888925
28# @requires os.family == "windows"
29# @run shell PublicKeyInterop.sh
30# @summary SunMSCAPI's Cipher can't use RSA public keys obtained from other
31#          sources.
32#
33
34# set a few environment variables so that the shell-script can run stand-alone
35# in the source directory
36if [ "${TESTSRC}" = "" ] ; then
37   TESTSRC="."
38fi
39
40if [ "${TESTCLASSES}" = "" ] ; then
41   TESTCLASSES="."
42fi
43
44if [ "${TESTJAVA}" = "" ] ; then
45   echo "TESTJAVA not set.  Test cannot execute."
46   echo "FAILED!!!"
47   exit 1
48fi
49
50OS=`uname -s`
51case "$OS" in
52    Windows* | CYGWIN* )
53
54        echo "Creating a temporary RSA keypair in the Windows-My store..."
55        ${TESTJAVA}/bin/keytool ${TESTTOOLVMOPTS} \
56	    -genkeypair \
57	    -storetype Windows-My \
58	    -keyalg RSA \
59	    -alias 6888925 \
60	    -dname "cn=6888925,c=US" \
61	    -noprompt
62
63        echo
64        echo "Running the test..."
65        ${TESTJAVA}/bin/javac --add-exports java.base/sun.security.util=ALL-UNNAMED \
66            ${TESTTOOLVMOPTS} ${TESTJAVACOPTS} -d . ${TESTSRC}\\PublicKeyInterop.java
67        ${TESTJAVA}/bin/java --add-exports java.base/sun.security.util=ALL-UNNAMED \
68            ${TESTVMOPTS} PublicKeyInterop
69
70        rc=$?
71
72        echo
73        echo "Removing the temporary RSA keypair from the Windows-My store..."
74        ${TESTJAVA}/bin/keytool ${TESTTOOLVMOPTS} \
75	    -delete \
76	    -storetype Windows-My \
77	    -alias 6888925
78
79	echo done.
80        exit $rc
81        ;;
82
83    * )
84        echo "This test is not intended for '$OS' - passing test"
85        exit 0
86        ;;
87esac
88