Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/test/jdk/java/security/misc/GetInstanceNullsEmpties.java
41149 views
1
/*
2
* Copyright (c) 2016, 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
import java.security.*;
25
import java.security.cert.*;
26
import javax.crypto.*;
27
import javax.net.ssl.*;
28
import javax.security.auth.login.*;
29
import java.lang.reflect.*;
30
import java.util.Arrays;
31
32
/*
33
* @test
34
* @bug 4985694
35
* @summary Incomplete spec for most of the getInstances
36
*/
37
/**
38
* A simple test to see what is being thrown when null Strings are passed
39
* to the various getInstance() methods.
40
*
41
* These tests use various algorithm names that don't exist (e.g. "FOO"
42
* Ciphers). Just need something non-null for testing, as the tests will throw
43
* exceptions before trying to instantiate a real object.
44
*/
45
public class GetInstanceNullsEmpties {
46
47
private static final Provider SUN = Security.getProvider("SUN");
48
49
/*
50
* See if there are more than "expected" number of getInstance() methods,
51
* which will indicate to developers that this test needs an update.
52
*/
53
private static void checkNewMethods(Class<?> clazz, int expected)
54
throws Exception {
55
56
long found = Arrays.stream(clazz.getMethods())
57
.filter(name -> name.getName().equals("getInstance"))
58
.count();
59
60
if (found != expected) {
61
throw new Exception("Number of getInstance() mismatch: "
62
+ expected + " expected, " + found + " found");
63
}
64
}
65
66
/**
67
* Main loop.
68
*/
69
public static void main(String[] args) throws Exception {
70
71
/*
72
* JCA
73
*/
74
testAlgorithmParameterGenerator();
75
testAlgorithmParameters();
76
testCertificateFactory();
77
testCertPathBuilder();
78
testCertPathValidator();
79
testCertStore();
80
testKeyFactory();
81
testKeyPairGenerator();
82
testKeyStore();
83
testMessageDigest();
84
testPolicy();
85
testSecureRandom();
86
testSignature();
87
88
/*
89
* JCE
90
*/
91
testCipher();
92
testExemptionMechanism();
93
testKeyAgreement();
94
testKeyGenerator();
95
testMac();
96
testSecretKeyFactory();
97
98
/*
99
* JSSE
100
*/
101
testKeyManagerFactory();
102
testSSLContext();
103
testTrustManagerFactory();
104
105
/*
106
* JGSS
107
*
108
* KeyTab.getInstance doesn't take algorithm names, so we'll
109
* ignore this one.
110
*/
111
testConfiguration();
112
113
System.out.println("\nTEST PASSED!");
114
}
115
116
private static Method getInstance(Class clazz, Class... args)
117
throws Exception {
118
boolean firstPrinted = false;
119
120
System.out.print("\n" + clazz.getName() + "(");
121
for (Class c : args) {
122
System.out.print(firstPrinted
123
? ", " + c.getName() : c.getName());
124
firstPrinted = true;
125
}
126
System.out.println("):");
127
128
return clazz.getMethod("getInstance", args);
129
}
130
131
private static void run(Method m, Class expectedException,
132
Object... args) throws Exception {
133
134
try {
135
m.invoke(null, args);
136
throw new Exception("Didn't throw exception");
137
} catch (InvocationTargetException ite) {
138
Throwable root = ite.getCause();
139
if (root instanceof Exception) {
140
Exception e = (Exception) root;
141
if (expectedException.isInstance(e)) {
142
System.out.print("OK ");
143
return;
144
} else {
145
System.out.println(
146
"Unexpected InvocationTargetException!");
147
throw e;
148
}
149
}
150
throw ite;
151
}
152
}
153
154
/*
155
* Constants so lines aren't so long.
156
*/
157
private static final Class STRING = String.class;
158
private static final Class PROVIDER = Provider.class;
159
160
private static void testAlgorithmParameterGenerator() throws Exception {
161
Class clazz = AlgorithmParameterGenerator.class;
162
Method m;
163
164
checkNewMethods(clazz, 3);
165
166
m = getInstance(clazz, STRING);
167
run(m, NullPointerException.class, (Object) null);
168
run(m, NoSuchAlgorithmException.class, "");
169
170
m = getInstance(clazz, STRING, STRING);
171
run(m, NullPointerException.class, null, "SUN");
172
run(m, NoSuchAlgorithmException.class, "", "SUN");
173
run(m, IllegalArgumentException.class, "FOO", null);
174
run(m, IllegalArgumentException.class, "FOO", "");
175
176
m = getInstance(clazz, STRING, PROVIDER);
177
run(m, NullPointerException.class, null, SUN);
178
run(m, NoSuchAlgorithmException.class, "", SUN);
179
run(m, IllegalArgumentException.class, "FOO", null);
180
}
181
182
private static void testAlgorithmParameters() throws Exception {
183
Class clazz = AlgorithmParameters.class;
184
Method m;
185
186
checkNewMethods(clazz, 3);
187
188
m = getInstance(clazz, STRING);
189
run(m, NullPointerException.class, (Object) null);
190
run(m, NoSuchAlgorithmException.class, "");
191
192
m = getInstance(clazz, STRING, STRING);
193
run(m, NullPointerException.class, null, "SUN");
194
run(m, NoSuchAlgorithmException.class, "", "SUN");
195
run(m, IllegalArgumentException.class, "FOO", null);
196
run(m, IllegalArgumentException.class, "FOO", "");
197
198
m = getInstance(clazz, STRING, PROVIDER);
199
run(m, NullPointerException.class, null, SUN);
200
run(m, NoSuchAlgorithmException.class, "", SUN);
201
run(m, IllegalArgumentException.class, "FOO", null);
202
}
203
204
private static void testCertPathBuilder() throws Exception {
205
Class clazz = CertPathBuilder.class;
206
Method m;
207
208
checkNewMethods(clazz, 3);
209
210
m = getInstance(clazz, STRING);
211
run(m, NullPointerException.class, (Object) null);
212
run(m, NoSuchAlgorithmException.class, "");
213
214
m = getInstance(clazz, STRING, STRING);
215
run(m, NullPointerException.class, null, "SUN");
216
run(m, NoSuchAlgorithmException.class, "", "SUN");
217
run(m, IllegalArgumentException.class, "FOO", null);
218
run(m, IllegalArgumentException.class, "FOO", "");
219
220
m = getInstance(clazz, STRING, PROVIDER);
221
run(m, NullPointerException.class, null, SUN);
222
run(m, NoSuchAlgorithmException.class, "", SUN);
223
run(m, IllegalArgumentException.class, "FOO", null);
224
}
225
226
private static void testCertPathValidator() throws Exception {
227
Class clazz = CertPathValidator.class;
228
Method m;
229
230
checkNewMethods(clazz, 3);
231
232
m = getInstance(clazz, STRING);
233
run(m, NullPointerException.class, (Object) null);
234
run(m, NoSuchAlgorithmException.class, "");
235
236
m = getInstance(clazz, STRING, STRING);
237
run(m, NullPointerException.class, null, "SUN");
238
run(m, NoSuchAlgorithmException.class, "", "SUN");
239
run(m, IllegalArgumentException.class, "FOO", null);
240
run(m, IllegalArgumentException.class, "FOO", "");
241
242
m = getInstance(clazz, STRING, PROVIDER);
243
run(m, NullPointerException.class, null, SUN);
244
run(m, NoSuchAlgorithmException.class, "", SUN);
245
run(m, IllegalArgumentException.class, "FOO", null);
246
}
247
248
private static void testCertStore() throws Exception {
249
Class clazz = CertStore.class;
250
Method m;
251
CertStoreParameters csp = () -> null;
252
253
checkNewMethods(clazz, 3);
254
255
m = getInstance(clazz, STRING, CertStoreParameters.class);
256
run(m, NullPointerException.class, (Object) null, csp);
257
run(m, NoSuchAlgorithmException.class, "", csp);
258
259
m = getInstance(clazz, STRING, CertStoreParameters.class, STRING);
260
run(m, NullPointerException.class, null, csp, "SUN");
261
run(m, NoSuchAlgorithmException.class, "", csp, "SUN");
262
run(m, IllegalArgumentException.class, "FOO", csp, null);
263
run(m, IllegalArgumentException.class, "FOO", csp, "");
264
265
m = getInstance(clazz, STRING, CertStoreParameters.class, PROVIDER);
266
run(m, NullPointerException.class, null, csp, SUN);
267
run(m, NoSuchAlgorithmException.class, "", csp, SUN);
268
run(m, IllegalArgumentException.class, "FOO", csp, null);
269
}
270
271
private static void testCertificateFactory() throws Exception {
272
Class clazz = CertificateFactory.class;
273
Method m;
274
275
checkNewMethods(clazz, 3);
276
277
m = getInstance(clazz, STRING);
278
run(m, NullPointerException.class, (Object) null);
279
run(m, CertificateException.class, "");
280
281
m = getInstance(clazz, STRING, STRING);
282
run(m, NullPointerException.class, null, "SUN");
283
run(m, CertificateException.class, "", "SUN");
284
run(m, IllegalArgumentException.class, "FOO", null);
285
run(m, IllegalArgumentException.class, "FOO", "");
286
287
m = getInstance(clazz, STRING, PROVIDER);
288
run(m, NullPointerException.class, null, SUN);
289
run(m, CertificateException.class, "", SUN);
290
run(m, IllegalArgumentException.class, "FOO", null);
291
}
292
293
private static void testCipher() throws Exception {
294
Class clazz = Cipher.class;
295
Method m;
296
297
checkNewMethods(clazz, 3);
298
299
/*
300
* Note the Cipher API is spec'd to throw a NoSuchAlgorithmException
301
* for a null transformation.
302
*/
303
m = getInstance(clazz, STRING);
304
run(m, NoSuchAlgorithmException.class, (Object) null);
305
run(m, NoSuchAlgorithmException.class, "");
306
307
m = getInstance(clazz, STRING, STRING);
308
run(m, NoSuchAlgorithmException.class, null, "SUN");
309
run(m, NoSuchAlgorithmException.class, "", "SUN");
310
run(m, IllegalArgumentException.class, "FOO", null);
311
run(m, IllegalArgumentException.class, "FOO", "");
312
313
m = getInstance(clazz, STRING, PROVIDER);
314
run(m, NoSuchAlgorithmException.class, null, SUN);
315
run(m, NoSuchAlgorithmException.class, "", SUN);
316
run(m, IllegalArgumentException.class, "FOO", null);
317
}
318
319
private static void testConfiguration() throws Exception {
320
Class clazz = Configuration.class;
321
Method m;
322
Configuration.Parameters cp = new Configuration.Parameters() {
323
};
324
325
checkNewMethods(clazz, 3);
326
327
m = getInstance(clazz, STRING, Configuration.Parameters.class);
328
run(m, NullPointerException.class, (Object) null, cp);
329
run(m, NoSuchAlgorithmException.class, "", cp);
330
331
m = getInstance(clazz, STRING, Configuration.Parameters.class, STRING);
332
run(m, NullPointerException.class, null, cp, "SUN");
333
run(m, NoSuchAlgorithmException.class, "", cp, "SUN");
334
run(m, IllegalArgumentException.class, "FOO", cp, null);
335
run(m, IllegalArgumentException.class, "FOO", cp, "");
336
337
m = getInstance(clazz, STRING, Configuration.Parameters.class,
338
PROVIDER);
339
run(m, NullPointerException.class, null, cp, SUN);
340
run(m, NoSuchAlgorithmException.class, "", cp, SUN);
341
run(m, IllegalArgumentException.class, "FOO", cp, null);
342
}
343
344
private static void testExemptionMechanism() throws Exception {
345
Class clazz = ExemptionMechanism.class;
346
Method m;
347
348
checkNewMethods(clazz, 3);
349
350
m = getInstance(clazz, STRING);
351
run(m, NullPointerException.class, (Object) null);
352
run(m, NoSuchAlgorithmException.class, "");
353
354
m = getInstance(clazz, STRING, STRING);
355
run(m, NullPointerException.class, null, "SUN");
356
run(m, NoSuchAlgorithmException.class, "", "SUN");
357
run(m, IllegalArgumentException.class, "FOO", null);
358
run(m, IllegalArgumentException.class, "FOO", "");
359
360
m = getInstance(clazz, STRING, PROVIDER);
361
run(m, NullPointerException.class, null, SUN);
362
run(m, NoSuchAlgorithmException.class, "", SUN);
363
run(m, IllegalArgumentException.class, "FOO", null);
364
}
365
366
private static void testKeyAgreement() throws Exception {
367
Class clazz = KeyAgreement.class;
368
Method m;
369
370
checkNewMethods(clazz, 3);
371
372
m = getInstance(clazz, STRING);
373
run(m, NullPointerException.class, (Object) null);
374
run(m, NoSuchAlgorithmException.class, "");
375
376
m = getInstance(clazz, STRING, STRING);
377
run(m, NullPointerException.class, null, "SUN");
378
run(m, NoSuchAlgorithmException.class, "", "SUN");
379
run(m, IllegalArgumentException.class, "FOO", null);
380
run(m, IllegalArgumentException.class, "FOO", "");
381
382
m = getInstance(clazz, STRING, PROVIDER);
383
run(m, NullPointerException.class, null, SUN);
384
run(m, NoSuchAlgorithmException.class, "", SUN);
385
run(m, IllegalArgumentException.class, "FOO", null);
386
}
387
388
private static void testKeyFactory() throws Exception {
389
Class clazz = KeyFactory.class;
390
Method m;
391
392
checkNewMethods(clazz, 3);
393
394
m = getInstance(clazz, STRING);
395
run(m, NullPointerException.class, (Object) null);
396
run(m, NoSuchAlgorithmException.class, "");
397
398
m = getInstance(clazz, STRING, STRING);
399
run(m, NullPointerException.class, null, "SUN");
400
run(m, NoSuchAlgorithmException.class, "", "SUN");
401
run(m, IllegalArgumentException.class, "FOO", null);
402
run(m, IllegalArgumentException.class, "FOO", "");
403
404
m = getInstance(clazz, STRING, PROVIDER);
405
run(m, NullPointerException.class, null, SUN);
406
run(m, NoSuchAlgorithmException.class, "", SUN);
407
run(m, IllegalArgumentException.class, "FOO", null);
408
}
409
410
private static void testKeyGenerator() throws Exception {
411
Class clazz = KeyGenerator.class;
412
Method m;
413
414
checkNewMethods(clazz, 3);
415
416
m = getInstance(clazz, STRING);
417
run(m, NullPointerException.class, (Object) null);
418
run(m, NoSuchAlgorithmException.class, "");
419
420
m = getInstance(clazz, STRING, STRING);
421
run(m, NullPointerException.class, null, "SUN");
422
run(m, NoSuchAlgorithmException.class, "", "SUN");
423
run(m, IllegalArgumentException.class, "FOO", null);
424
run(m, IllegalArgumentException.class, "FOO", "");
425
426
m = getInstance(clazz, STRING, PROVIDER);
427
run(m, NullPointerException.class, null, SUN);
428
run(m, NoSuchAlgorithmException.class, "", SUN);
429
run(m, IllegalArgumentException.class, "FOO", null);
430
}
431
432
private static void testKeyManagerFactory() throws Exception {
433
Class clazz = KeyManagerFactory.class;
434
Method m;
435
436
checkNewMethods(clazz, 3);
437
438
m = getInstance(clazz, STRING);
439
run(m, NullPointerException.class, (Object) null);
440
run(m, NoSuchAlgorithmException.class, "");
441
442
m = getInstance(clazz, STRING, STRING);
443
run(m, NullPointerException.class, null, "SUN");
444
run(m, NoSuchAlgorithmException.class, "", "SUN");
445
run(m, IllegalArgumentException.class, "FOO", null);
446
run(m, IllegalArgumentException.class, "FOO", "");
447
448
m = getInstance(clazz, STRING, PROVIDER);
449
run(m, NullPointerException.class, null, SUN);
450
run(m, NoSuchAlgorithmException.class, "", SUN);
451
run(m, IllegalArgumentException.class, "FOO", null);
452
}
453
454
private static void testKeyPairGenerator() throws Exception {
455
Class clazz = KeyPairGenerator.class;
456
Method m;
457
458
checkNewMethods(clazz, 3);
459
460
m = getInstance(clazz, STRING);
461
run(m, NullPointerException.class, (Object) null);
462
run(m, NoSuchAlgorithmException.class, "");
463
464
m = getInstance(clazz, STRING, STRING);
465
run(m, NullPointerException.class, null, "SUN");
466
run(m, NoSuchAlgorithmException.class, "", "SUN");
467
run(m, IllegalArgumentException.class, "FOO", null);
468
run(m, IllegalArgumentException.class, "FOO", "");
469
470
m = getInstance(clazz, STRING, PROVIDER);
471
run(m, NullPointerException.class, null, SUN);
472
run(m, NoSuchAlgorithmException.class, "", SUN);
473
run(m, IllegalArgumentException.class, "FOO", null);
474
}
475
476
private static void testKeyStore() throws Exception {
477
Class clazz = KeyStore.class;
478
Method m;
479
480
/*
481
* There are actually two additional getInstance() methods with File
482
* as the first parameter.
483
*/
484
checkNewMethods(clazz, 5);
485
486
m = getInstance(clazz, STRING);
487
run(m, NullPointerException.class, (Object) null);
488
run(m, KeyStoreException.class, "");
489
490
m = getInstance(clazz, STRING, STRING);
491
run(m, NullPointerException.class, null, "SUN");
492
run(m, KeyStoreException.class, "", "SUN");
493
run(m, IllegalArgumentException.class, "FOO", null);
494
run(m, IllegalArgumentException.class, "FOO", "");
495
496
m = getInstance(clazz, STRING, PROVIDER);
497
run(m, NullPointerException.class, null, SUN);
498
run(m, KeyStoreException.class, "", SUN);
499
run(m, IllegalArgumentException.class, "FOO", null);
500
}
501
502
private static void testMac() throws Exception {
503
Class clazz = Mac.class;
504
Method m;
505
506
checkNewMethods(clazz, 3);
507
508
m = getInstance(clazz, STRING);
509
run(m, NullPointerException.class, (Object) null);
510
run(m, NoSuchAlgorithmException.class, "");
511
512
m = getInstance(clazz, STRING, STRING);
513
run(m, NullPointerException.class, null, "SUN");
514
run(m, NoSuchAlgorithmException.class, "", "SUN");
515
run(m, IllegalArgumentException.class, "FOO", null);
516
run(m, IllegalArgumentException.class, "FOO", "");
517
518
m = getInstance(clazz, STRING, PROVIDER);
519
run(m, NullPointerException.class, null, SUN);
520
run(m, NoSuchAlgorithmException.class, "", SUN);
521
run(m, IllegalArgumentException.class, "FOO", null);
522
}
523
524
private static void testMessageDigest() throws Exception {
525
Class clazz = MessageDigest.class;
526
Method m;
527
528
checkNewMethods(clazz, 3);
529
530
m = getInstance(clazz, STRING);
531
run(m, NullPointerException.class, (Object) null);
532
run(m, NoSuchAlgorithmException.class, "");
533
534
m = getInstance(clazz, STRING, STRING);
535
run(m, NullPointerException.class, null, "SUN");
536
run(m, NoSuchAlgorithmException.class, "", "SUN");
537
run(m, IllegalArgumentException.class, "FOO", null);
538
run(m, IllegalArgumentException.class, "FOO", "");
539
540
m = getInstance(clazz, STRING, PROVIDER);
541
run(m, NullPointerException.class, null, SUN);
542
run(m, NoSuchAlgorithmException.class, "", SUN);
543
run(m, IllegalArgumentException.class, "FOO", null);
544
}
545
546
private static void testPolicy() throws Exception {
547
Class clazz = Policy.class;
548
Method m;
549
Policy.Parameters pp = new Policy.Parameters() {
550
};
551
552
checkNewMethods(clazz, 3);
553
554
m = getInstance(clazz, STRING, Policy.Parameters.class);
555
run(m, NullPointerException.class, (Object) null, pp);
556
run(m, NoSuchAlgorithmException.class, "", pp);
557
558
m = getInstance(clazz, STRING, Policy.Parameters.class, STRING);
559
run(m, NullPointerException.class, null, pp, "SUN");
560
run(m, NoSuchAlgorithmException.class, "", pp, "SUN");
561
run(m, IllegalArgumentException.class, "FOO", pp, null);
562
run(m, IllegalArgumentException.class, "FOO", pp, "");
563
564
m = getInstance(clazz, STRING, Policy.Parameters.class, PROVIDER);
565
run(m, NullPointerException.class, null, pp, SUN);
566
run(m, NoSuchAlgorithmException.class, "", pp, SUN);
567
run(m, IllegalArgumentException.class, "FOO", pp, null);
568
}
569
570
private static void testSSLContext() throws Exception {
571
Class clazz = SSLContext.class;
572
Method m;
573
574
checkNewMethods(clazz, 3);
575
576
m = getInstance(clazz, STRING);
577
run(m, NullPointerException.class, (Object) null);
578
run(m, NoSuchAlgorithmException.class, "");
579
580
m = getInstance(clazz, STRING, STRING);
581
run(m, NullPointerException.class, null, "SUN");
582
run(m, NoSuchAlgorithmException.class, "", "SUN");
583
run(m, IllegalArgumentException.class, "FOO", null);
584
run(m, IllegalArgumentException.class, "FOO", "");
585
586
m = getInstance(clazz, STRING, PROVIDER);
587
run(m, NullPointerException.class, null, SUN);
588
run(m, NoSuchAlgorithmException.class, "", SUN);
589
run(m, IllegalArgumentException.class, "FOO", null);
590
}
591
592
private static void testSecretKeyFactory() throws Exception {
593
Class clazz = SecretKeyFactory.class;
594
Method m;
595
596
checkNewMethods(clazz, 3);
597
598
m = getInstance(clazz, STRING);
599
run(m, NullPointerException.class, (Object) null);
600
run(m, NoSuchAlgorithmException.class, "");
601
602
m = getInstance(clazz, STRING, STRING);
603
run(m, NullPointerException.class, null, "SUN");
604
run(m, NoSuchAlgorithmException.class, "", "SUN");
605
run(m, IllegalArgumentException.class, "FOO", null);
606
run(m, IllegalArgumentException.class, "FOO", "");
607
608
m = getInstance(clazz, STRING, PROVIDER);
609
run(m, NullPointerException.class, null, SUN);
610
run(m, NoSuchAlgorithmException.class, "", SUN);
611
run(m, IllegalArgumentException.class, "FOO", null);
612
}
613
614
private static void testSecureRandom() throws Exception {
615
Class clazz = SecureRandom.class;
616
Method m;
617
SecureRandomParameters srp = new SecureRandomParameters() {
618
};
619
620
checkNewMethods(clazz, 6);
621
622
m = getInstance(clazz, STRING);
623
run(m, NullPointerException.class, (Object) null);
624
run(m, NoSuchAlgorithmException.class, "");
625
626
m = getInstance(clazz, STRING, STRING);
627
run(m, NullPointerException.class, null, "SUN");
628
run(m, NoSuchAlgorithmException.class, "", "SUN");
629
run(m, IllegalArgumentException.class, "FOO", null);
630
run(m, IllegalArgumentException.class, "FOO", "");
631
632
m = getInstance(clazz, STRING, PROVIDER);
633
run(m, NullPointerException.class, null, SUN);
634
run(m, NoSuchAlgorithmException.class, "", SUN);
635
run(m, IllegalArgumentException.class, "FOO", null);
636
637
m = getInstance(clazz, STRING, SecureRandomParameters.class);
638
run(m, NullPointerException.class, (Object) null, srp);
639
run(m, NoSuchAlgorithmException.class, "", srp);
640
641
m = getInstance(clazz, STRING, SecureRandomParameters.class, STRING);
642
run(m, NullPointerException.class, null, srp, "SUN");
643
run(m, NoSuchAlgorithmException.class, "", srp, "SUN");
644
run(m, IllegalArgumentException.class, "FOO", srp, null);
645
run(m, IllegalArgumentException.class, "FOO", srp, "");
646
647
m = getInstance(clazz, STRING, SecureRandomParameters.class, PROVIDER);
648
run(m, NullPointerException.class, null, srp, SUN);
649
run(m, NoSuchAlgorithmException.class, "", srp, SUN);
650
run(m, IllegalArgumentException.class, "FOO", srp, null);
651
}
652
653
private static void testSignature() throws Exception {
654
Class clazz = Signature.class;
655
Method m;
656
657
checkNewMethods(clazz, 3);
658
659
m = getInstance(clazz, STRING);
660
run(m, NullPointerException.class, (Object) null);
661
run(m, NoSuchAlgorithmException.class, "");
662
663
m = getInstance(clazz, STRING, STRING);
664
run(m, NullPointerException.class, null, "SUN");
665
run(m, NoSuchAlgorithmException.class, "", "SUN");
666
run(m, IllegalArgumentException.class, "FOO", null);
667
run(m, IllegalArgumentException.class, "FOO", "");
668
669
m = getInstance(clazz, STRING, PROVIDER);
670
run(m, NullPointerException.class, null, SUN);
671
run(m, NoSuchAlgorithmException.class, "", SUN);
672
run(m, IllegalArgumentException.class, "FOO", null);
673
}
674
675
private static void testTrustManagerFactory() throws Exception {
676
Class clazz = TrustManagerFactory.class;
677
Method m;
678
679
checkNewMethods(clazz, 3);
680
681
m = getInstance(clazz, STRING);
682
run(m, NullPointerException.class, (Object) null);
683
run(m, NoSuchAlgorithmException.class, "");
684
685
m = getInstance(clazz, STRING, STRING);
686
run(m, NullPointerException.class, null, "SUN");
687
run(m, NoSuchAlgorithmException.class, "", "SUN");
688
run(m, IllegalArgumentException.class, "FOO", null);
689
run(m, IllegalArgumentException.class, "FOO", "");
690
691
m = getInstance(clazz, STRING, PROVIDER);
692
run(m, NullPointerException.class, null, SUN);
693
run(m, NoSuchAlgorithmException.class, "", SUN);
694
run(m, IllegalArgumentException.class, "FOO", null);
695
}
696
}
697
698