1 #
   2 # Copyright (c) 2015, 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 8056174
  26 # @summary confirm behaviors for different sig names
  27 #
  28 # set a few environment variables so that the shell-script can run stand-alone
  29 # in the source directory
  30 if [ "${TESTSRC}" = "" ] ; then
  31    TESTSRC="."
  32 fi
  33 
  34 if [ "${TESTJAVA}" = "" ] ; then
  35   JAVA_CMD=`which java`
  36   TESTJAVA=`dirname $JAVA_CMD`/..
  37 fi
  38 
  39 # set platform-dependent variables
  40 OS=`uname -s`
  41 case "$OS" in
  42   Windows_* )
  43     FS="\\"
  44     ;;
  45   * )
  46     FS="/"
  47     ;;
  48 esac
  49 
  50 KSFILE=options.jks
  51 
  52 KT="${TESTJAVA}${FS}bin${FS}keytool ${TESTTOOLVMOPTS} -keystore options.jks -storepass changeit -keypass changeit -keyalg rsa"
  53 JAR="${TESTJAVA}${FS}bin${FS}jar ${TESTTOOLVMOPTS}"
  54 JS="${TESTJAVA}${FS}bin${FS}jarsigner ${TESTTOOLVMOPTS} -keystore options.jks -storepass changeit"
  55 
  56 rm options.*
  57 
  58 $KT -genkeypair -alias "hello world" -dname CN=Me
  59 
  60 touch options.txt
  61 $JAR cvf options.jar options.txt
  62 
  63 # Special alias name will be normalized
  64 $JS options.jar "hello world" || exit 1
  65 $JAR tvf options.jar | grep HELLO_WO.SF || exit 2
  66 
  67 # Special -sigfile option will be rejected
  68 $JS options.jar "hello world" -sigfile "a b c" && exit 11
  69 
  70 # Long -sigfile option allowed but truncated (jarsigner.html does not say it's illegal)
  71 $JS options.jar "hello world" -sigfile 123456789 || exit 21
  72 $JAR tvf options.jar | grep 12345678.SF || exit 22
  73 
  74 exit 0