1 # 2 # Copyright (c) 2009, 2010, 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 6712755 26 # @summary jarsigner fails to sign itextasian.jar since 1.5.0_b14, it works with 1.5.0_13 27 # 28 # @run shell emptymanifest.sh 29 # 30 31 if [ "${TESTJAVA}" = "" ] ; then 32 JAVAC_CMD=`which javac` 33 TESTJAVA=`dirname $JAVAC_CMD`/.. 34 fi 35 36 # set platform-dependent variables 37 OS=`uname -s` 38 case "$OS" in 39 Windows_* ) 40 FS="\\" 41 ;; 42 * ) 43 FS="/" 44 ;; 45 esac 46 47 KS=emptymanifest.jks 48 JFILE=em.jar 49 50 KT="$TESTJAVA${FS}bin${FS}keytool -storepass changeit -keypass changeit -keystore $KS" 51 JAR=$TESTJAVA${FS}bin${FS}jar 52 JAVA=$TESTJAVA${FS}bin${FS}java 53 JAVAC=$TESTJAVA${FS}bin${FS}javac 54 JARSIGNER=$TESTJAVA${FS}bin${FS}jarsigner 55 56 rm $KS $JFILE 57 echo A > A 58 echo B > B 59 mkdir META-INF 60 cat <<EOF > CrLf.java 61 class CrLf { 62 public static void main(String[] args) throws Exception { 63 System.out.write(new byte[] {'\r', '\n'}); 64 } 65 } 66 EOF 67 $JAVAC ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} CrLf.java 68 $JAVA ${TESTVMOPTS} ${TESTJAVAOPTS} CrLf > META-INF${FS}MANIFEST.MF 69 zip $JFILE META-INF${FS}MANIFEST.MF A B 70 71 $KT -alias a -dname CN=a -keyalg rsa -genkey -validity 300 72 73 $JARSIGNER -keystore $KS -storepass changeit $JFILE a || exit 1 74 $JARSIGNER -keystore $KS -verify -debug -strict $JFILE || exit 2 75 76 exit 0