/*
* Copyright (c) 2000, 2012, 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.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/*
* @test
* @author Charlie Lai
* @bug 4394746
* @summary Resources should not be loaded until necessar
* @run main/othervm/policy=Format.policy -Djava.security.auth.login.config=file:${test.src}/Format.config Format
*
*/
import javax.security.auth.*;
import javax.security.auth.login.*;
import javax.security.auth.callback.*;
import java.io.*;
import java.util.*;
import com.sun.security.auth.*;
public class Format
implements java.io.Serializable, java.security.Principal
{
public String getName() { return null ; }
public static void main(String[] args) {
try {
PrivateCredentialPermission pcp = new PrivateCredentialPermission
("test" , "write" );
throw new SecurityException("test 1 failed" );
} catch (IllegalArgumentException iae) {
// good
System.out.println("Test 1: " + iae.getMessage());
}
try {
PrivateCredentialPermission pcp = new PrivateCredentialPermission
("Format" , "read" );
throw new SecurityException("test 2 failed" );
} catch (IllegalArgumentException iae) {
// good
System.out.println("Test 2: " + iae.getMessage());
}
try {
PrivateCredentialPermission pcp = new PrivateCredentialPermission
("Format Format" , "read" );
throw new SecurityException("test 3 failed" );
} catch (IllegalArgumentException iae) {
// good
System.out.println("Test 3: " + iae.getMessage());
}
try {
PrivateCredentialPermission pcp = new PrivateCredentialPermission
("Format Format Format" , "read" );
throw new SecurityException("test 4 failed" );
} catch (IllegalArgumentException iae) {
// good
System.out.println("Test 4: " + iae.getMessage());
}
try {
PrivateCredentialPermission pcp = new PrivateCredentialPermission
("Format Format \" Format", " read");
throw new SecurityException("test 5 failed" );
} catch (IllegalArgumentException iae) {
// good
System.out.println("Test 5: " + iae.getMessage());
}
try {
PrivateCredentialPermission pcp = new PrivateCredentialPermission
("Format * \" Format\"" , "read" );
throw new SecurityException("test 6 failed" );
} catch (IllegalArgumentException iae) {
// good
System.out.println("Test 6: " + iae.getMessage());
}
try {
javax.security.auth.x500.X500Principal p =
new javax.security.auth.x500.X500Principal((String)null );
throw new SecurityException("test 7 failed" );
} catch (NullPointerException npe) {
// good
System.out.println("Test 7: " + npe.getMessage());
}
try {
Subject s = new Subject(false , null , null , null );
throw new SecurityException("test 8 failed" );
} catch (NullPointerException npe) {
// good
System.out.println("Test 8: " + npe.getMessage());
}
try {
Subject.getSubject(null );
throw new SecurityException("test 9 failed" );
} catch (NullPointerException npe) {
// good
System.out.println("Test 9: " + npe.getMessage());
}
try {
Subject.doAs(null , (java.security.PrivilegedAction)null );
throw new SecurityException("test 10 failed" );
} catch (NullPointerException npe) {
// good
System.out.println("Test 10: " + npe.getMessage());
}
try {
Subject s = new Subject();
s.getPrincipals(null );
throw new SecurityException("test 11 failed" );
} catch (NullPointerException npe) {
// good
System.out.println("Test 11: " + npe.getMessage());
}
try {
Subject s = new Subject();
s.getPrincipals().add(new javax.security.auth.x500.X500Principal
("cn=test1" ));
s.getPublicCredentials().add(new Format());
s.getPrivateCredentials().add(new Format());
System.out.println("Test 12, s.toString() = " + s.toString());
} catch (Exception e) {
throw new SecurityException("test 12 failed: e.toString()" , e);
}
try {
Subject s = new Subject();
s.getPrincipals().add(new javax.security.auth.x500.X500Principal
("cn=test1" ));
s.setReadOnly();
java.util.Iterator i = s.getPrincipals().iterator();
i.next();
i.remove();
throw new SecurityException("test 13 failed" );
} catch (IllegalStateException ise) {
// good
System.out.println("Test 13: " + ise.getMessage());
}
try {
Subject s = new Subject();
s.getPrincipals().add(new Format());
throw new SecurityException("test 14 failed" );
} catch (SecurityException se) {
// good
System.out.println("Test 14: " + se.getMessage());
}
try {
Subject s = new Subject();
s.getPrincipals((Class )Format.class ).add(new Subject());
throw new SecurityException("test 15 failed" );
} catch (SecurityException se) {
// good
System.out.println("Test 15: " + se.getMessage());
}
try {
LoginContext lc = new LoginContext(null );
throw new SecurityException("test 16 failed" );
} catch (LoginException le) {
// good
System.out.println("Test 16: " + le.getMessage());
}
try {
LoginContext lc = new LoginContext("nothing" );
throw new SecurityException("test 17 failed" );
} catch (LoginException le) {
// good
System.out.println("Test 17: " + le.getMessage());
}
try {
LoginContext lc = new LoginContext("test" , (Subject)null );
throw new SecurityException("test 18 failed" );
} catch (LoginException le) {
// good
System.out.println("Test 18: " + le.getMessage());
}
try {
LoginContext lc = new LoginContext("test" , (CallbackHandler)null );
throw new SecurityException("test 19 failed" );
} catch (LoginException le) {
// good
System.out.println("Test 19: " + le.getMessage());
}
try {
LoginContext lc = new LoginContext("test" );
lc.logout();
throw new SecurityException("test 20 failed" );
} catch (LoginException le) {
// good
System.out.println("Test 20: " + le.getMessage());
}
try {
LoginContext lc = new LoginContext("test2" );
lc.login();
throw new SecurityException("test 21 failed" );
} catch (LoginException le) {
// good
System.out.println("Test 21: " + le.getMessage());
}
/*** TESTS FOR THE COM PACKAGE RESOURCES ***/
try {
NTDomainPrincipal p = new NTDomainPrincipal(null );
throw new SecurityException("test 22 failed" );
} catch (NullPointerException e) {
// good
System.out.println("Test 22: " + e.getMessage());
}
try {
NTDomainPrincipal p = new NTDomainPrincipal("test" );
System.out.println("NTDomainPrincipal = " + p.toString());
} catch (Exception e) {
throw new SecurityException("test 23 failed" );
}
try {
NTNumericCredential p = new NTNumericCredential(1L);
System.out.println("NTNumericCredential = " + p.toString());
} catch (Exception e) {
throw new SecurityException("test 24 failed" );
}
try {
NTSid p = new NTSid("" );
throw new SecurityException("test 25 failed" );
} catch (IllegalArgumentException e) {
// good
System.out.println("Test 25: " + e.getMessage());
}
try {
NTSid p = new NTSid("test" );
System.out.println("NTSid = " + p.toString());
} catch (Exception e) {
throw new SecurityException("test 26 failed" );
}
try {
NTSidDomainPrincipal p = new NTSidDomainPrincipal("test" );
System.out.println("NTSidDomainPrincipal = " + p.toString());
} catch (Exception e) {
throw new SecurityException("test 27 failed" );
}
try {
NTSidGroupPrincipal p = new NTSidGroupPrincipal("test" );
System.out.println("NTSidGroupPrincipal = " + p.toString());
} catch (Exception e) {
throw new SecurityException("test 28 failed" );
}
try {
NTSidPrimaryGroupPrincipal p =
new NTSidPrimaryGroupPrincipal("test" );
System.out.println("NTSidPrimaryGroupPrincipal = " + p.toString());
} catch (Exception e) {
throw new SecurityException("test 29 failed" );
}
try {
NTSidUserPrincipal p = new NTSidUserPrincipal("test" );
System.out.println("NTSidUserPrincipal = " + p.toString());
} catch (Exception e) {
throw new SecurityException("test 30 failed" );
}
try {
NTUserPrincipal p = new NTUserPrincipal("test" );
System.out.println("NTUserPrincipal = " + p.toString());
} catch (Exception e) {
throw new SecurityException("test 31 failed" );
}
try {
UnixNumericGroupPrincipal p = new UnixNumericGroupPrincipal("0" ,
true );
System.out.println("NTPrimaryGroupPrincipal = " + p.toString());
} catch (Exception e) {
throw new SecurityException("test 32 failed" );
}
try {
UnixNumericGroupPrincipal p = new UnixNumericGroupPrincipal("1" ,
false );
System.out.println("UnixNumericGroupPrincipal = " + p.toString());
} catch (Exception e) {
throw new SecurityException("test 33 failed" );
}
try {
UnixNumericUserPrincipal p = new UnixNumericUserPrincipal("2" );
System.out.println("UnixNumericUserPrincipal = " + p.toString());
} catch (Exception e) {
throw new SecurityException("test 34 failed" );
}
try {
UnixPrincipal p = new UnixPrincipal("test" );
System.out.println("UnixPrincipal = " + p.toString());
} catch (Exception e) {
throw new SecurityException("test 35 failed" );
}
System.out.println("Format test succeeded" );
}
}
Messung V0.5 C=95 H=91 G=92
¤ Dauer der Verarbeitung: 0.0 Sekunden
(vorverarbeitet)
¤
*© Formatika GbR, Deutschland