Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/openjdk-multiarch-jdk8u
Path: blob/aarch64-shenandoah-jdk8u272-b10/jdk/test/sun/security/tools/jarsigner/AlgOptions.sh
38854 views
1
#
2
# Copyright (c) 2005, 2012, 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 5094028 6219522
26
# @summary test new jarsigner -sigalg and -digestalg options
27
# @author Sean Mullan
28
#
29
# @run shell AlgOptions.sh
30
#
31
32
# set a few environment variables so that the shell-script can run stand-alone
33
# in the source directory
34
if [ "${TESTSRC}" = "" ] ; then
35
TESTSRC="."
36
fi
37
if [ "${TESTCLASSES}" = "" ] ; then
38
TESTCLASSES="."
39
fi
40
if [ "${TESTJAVA}" = "" ] ; then
41
echo "TESTJAVA not set. Test cannot execute."
42
echo "FAILED!!!"
43
exit 1
44
fi
45
46
# set platform-dependent variables
47
OS=`uname -s`
48
case "$OS" in
49
SunOS | Linux | Darwin | AIX )
50
NULL=/dev/null
51
PS=":"
52
FS="/"
53
CP="${FS}bin${FS}cp -f"
54
;;
55
CYGWIN* )
56
NULL=/dev/null
57
PS=";"
58
FS="/"
59
CP="cp -f"
60
;;
61
Windows_* )
62
NULL=NUL
63
PS=";"
64
FS="\\"
65
CP="cp -f"
66
;;
67
* )
68
echo "Unrecognized operating system!"
69
exit 1;
70
;;
71
esac
72
73
# copy jar file into writeable location
74
${CP} ${TESTSRC}${FS}AlgOptions.jar ${TESTCLASSES}${FS}AlgOptionsTmp.jar
75
76
failed=0
77
# test missing signature algorithm arg
78
${TESTJAVA}${FS}bin${FS}jarsigner \
79
-keystore ${TESTSRC}${FS}JarSigning.keystore \
80
-storepass bbbbbb \
81
-sigalg \
82
${TESTCLASSES}${FS}AlgOptionsTmp.jar c
83
RESULT=$?
84
if [ $RESULT -eq 0 ]; then
85
echo "test 1 failed"
86
failed=1
87
else
88
echo "test 1 passed"
89
fi
90
91
# test missing digest algorithm arg
92
${TESTJAVA}${FS}bin${FS}jarsigner \
93
-keystore ${TESTSRC}${FS}JarSigning.keystore \
94
-storepass bbbbbb \
95
-digestalg \
96
${TESTCLASSES}${FS}AlgOptionsTmp.jar c
97
RESULT=$?
98
if [ $RESULT -eq 0 ]; then
99
echo "test 2 failed"
100
failed=1
101
else
102
echo "test 2 passed"
103
fi
104
105
# test BOGUS signature algorithm
106
${TESTJAVA}${FS}bin${FS}jarsigner \
107
-keystore ${TESTSRC}${FS}JarSigning.keystore \
108
-storepass bbbbbb \
109
-sigalg BOGUS \
110
${TESTCLASSES}${FS}AlgOptionsTmp.jar c
111
RESULT=$?
112
if [ $RESULT -eq 0 ]; then
113
echo "test 3 failed"
114
failed=1
115
else
116
echo "test 3 passed"
117
fi
118
119
# test BOGUS digest algorithm
120
${TESTJAVA}${FS}bin${FS}jarsigner \
121
-keystore ${TESTSRC}${FS}JarSigning.keystore \
122
-storepass bbbbbb \
123
-digestalg BOGUS \
124
${TESTCLASSES}${FS}AlgOptionsTmp.jar c
125
RESULT=$?
126
if [ $RESULT -eq 0 ]; then
127
echo "test 4 failed"
128
failed=1
129
else
130
echo "test 4 passed"
131
fi
132
133
# test incompatible signature algorithm
134
${TESTJAVA}${FS}bin${FS}jarsigner \
135
-keystore ${TESTSRC}${FS}JarSigning.keystore \
136
-storepass bbbbbb \
137
-sigalg SHA1withDSA \
138
${TESTCLASSES}${FS}AlgOptionsTmp.jar c
139
RESULT=$?
140
if [ $RESULT -eq 0 ]; then
141
echo "test 5 failed"
142
failed=1
143
else
144
echo "test 5 passed"
145
fi
146
147
# test compatible signature algorithm
148
${TESTJAVA}${FS}bin${FS}jarsigner \
149
-keystore ${TESTSRC}${FS}JarSigning.keystore \
150
-storepass bbbbbb \
151
-sigalg SHA512withRSA \
152
${TESTCLASSES}${FS}AlgOptionsTmp.jar c
153
RESULT=$?
154
if [ $RESULT -eq 0 ]; then
155
echo "test 6 passed"
156
else
157
echo "test 6 failed"
158
failed=1
159
fi
160
161
# verify it
162
${TESTJAVA}${FS}bin${FS}jarsigner -verify ${TESTCLASSES}${FS}AlgOptionsTmp.jar
163
RESULT=$?
164
if [ $RESULT -eq 0 ]; then
165
echo "test 7 passed"
166
else
167
echo "test 7 failed"
168
failed=1
169
fi
170
171
# test non-default digest algorithm
172
${TESTJAVA}${FS}bin${FS}jarsigner \
173
-keystore ${TESTSRC}${FS}JarSigning.keystore \
174
-storepass bbbbbb \
175
-digestalg SHA-256 \
176
${TESTCLASSES}${FS}AlgOptionsTmp.jar c
177
RESULT=$?
178
if [ $RESULT -eq 0 ]; then
179
echo "test 8 passed"
180
else
181
echo "test 8 failed"
182
failed=1
183
fi
184
185
# verify it
186
${TESTJAVA}${FS}bin${FS}jarsigner -verify ${TESTCLASSES}${FS}AlgOptionsTmp.jar
187
RESULT=$?
188
if [ $RESULT -eq 0 ]; then
189
echo "test 9 passed"
190
else
191
echo "test 9 failed"
192
failed=1
193
fi
194
195
# test SHA-512 digest algorithm (creates long lines)
196
${TESTJAVA}${FS}bin${FS}jarsigner \
197
-keystore ${TESTSRC}${FS}JarSigning.keystore \
198
-storepass bbbbbb \
199
-digestalg SHA-512 \
200
-sigalg SHA512withRSA \
201
${TESTCLASSES}${FS}AlgOptionsTmp.jar c
202
RESULT=$?
203
if [ $RESULT -eq 0 ]; then
204
echo "test 10 passed"
205
else
206
echo "test 10 failed"
207
failed=1
208
fi
209
210
# verify it
211
${TESTJAVA}${FS}bin${FS}jarsigner -verify ${TESTCLASSES}${FS}AlgOptionsTmp.jar
212
RESULT=$?
213
if [ $RESULT -eq 0 ]; then
214
echo "test 11 passed"
215
else
216
echo "test 11 failed"
217
failed=1
218
fi
219
220
if [ $failed -eq 1 ]; then
221
exit 1
222
else
223
exit 0
224
fi
225
226