test/java/security/cert/PKIXParameters/InvalidParameters.java

Print this page

        

@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2001, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.

@@ -22,11 +22,11 @@
  */
 
 /**
  * @test
  * @test 4422738
- * @compile -source 1.4 InvalidParameters.java
+ * @compile InvalidParameters.java
  * @run main InvalidParameters
  * @summary Make sure PKIXParameters(Set) and setTrustAnchors() detects invalid
  *          parameters and throws correct exceptions
  */
 import java.security.InvalidAlgorithmParameterException;

@@ -62,16 +62,18 @@
             params.setTrustAnchors((Set) null);
             throw new Exception("should have thrown NullPointerException");
         } catch (NullPointerException npe) { }
 
         // make sure Set of invalid objects throws ClassCastException
+        @SuppressWarnings("unchecked") // Knowingly do something bad
+        Set<TrustAnchor> badSet = (Set<TrustAnchor>) (Set) Collections.singleton(new String());
         try {
-            PKIXParameters p = new PKIXParameters(Collections.singleton(new String()));
+            PKIXParameters p = new PKIXParameters(badSet);
             throw new Exception("should have thrown ClassCastException");
         } catch (ClassCastException cce) { }
         try {
-            params.setTrustAnchors(Collections.singleton(new String()));
+            params.setTrustAnchors(badSet);
             throw new Exception("should have thrown ClassCastException");
         } catch (ClassCastException cce) { }
     }
 
     static class TestPublicKey implements PublicKey {