ShortRSAKey1024.sh revision 5625:e2d265c9b592
1#!/bin/sh
2
3#
4# Copyright (c) 2012, 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
27# @test
28# @bug 7106773
29# @summary 512 bits RSA key cannot work with SHA384 and SHA512
30# @run shell ShortRSAKey1024.sh 1024
31# @run shell ShortRSAKey1024.sh 768
32# @run shell ShortRSAKey1024.sh 512
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  SunOS | Linux | Darwin | CYGWIN* )
53    FS="/"
54    ;;
55  Windows_* )
56    FS="\\"
57    ;;
58esac
59
60BITS=$1
61
62case "$OS" in
63    Windows* | CYGWIN* )
64
65        echo "Creating a temporary RSA keypair in the Windows-My store..."
66        ${TESTJAVA}${FS}bin${FS}keytool \
67            -genkeypair \
68            -storetype Windows-My \
69            -keyalg RSA \
70            -alias 7106773.$BITS \
71            -keysize $BITS \
72            -dname "cn=localhost,c=US" \
73            -debug \
74            -noprompt
75
76        if [ "$?" -ne "0" ]; then
77            echo "Unable to generate key pair in Windows-My keystore"
78            exit 1
79        fi
80
81        echo
82        echo "Running the test..."
83        ${TESTJAVA}${FS}bin${FS}javac -d . \
84            ${TESTSRC}${FS}ShortRSAKeyWithinTLS.java
85        ${TESTJAVA}${FS}bin${FS}java ShortRSAKeyWithinTLS 7106773.$BITS $BITS \
86            TLSv1.2 TLS_DHE_RSA_WITH_AES_128_CBC_SHA
87
88        rc=$?
89
90        echo
91        echo "Removing the temporary RSA keypair from the Windows-My store..."
92        ${TESTJAVA}${FS}bin${FS}keytool \
93            -delete \
94            -storetype Windows-My \
95            -debug \
96            -alias 7106773.$BITS
97
98        echo "Done".
99        exit $rc
100        ;;
101
102    * )
103        echo "This test is not intended for '$OS' - passing test"
104        exit 0
105        ;;
106esac
107