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 /*
25 * @test
26 * @bug 6659990
27 * @summary test the immutability of the Date fields in KerberosTicket class.
28 * @ignore Must set up KDC and setup Kerberos configuration file
29 */
30
31 import java.net.InetAddress;
32 import java.util.Date;
33 import java.io.*;
34 import javax.security.auth.kerberos.KerberosKey;
35 import javax.security.auth.kerberos.KerberosPrincipal;
36 import javax.security.auth.kerberos.KerberosTicket;
37 import sun.misc.BASE64Decoder;
38
39 public class KerberosTixDateTest {
40
41 // Serialized KerberosTicket from JDK6 (encoded in BASE64)
42 // Note: the KerberosTicket object is created using the same values as
43 // the KerberosTicket 't' in main(). Deserialization should succeed
44 // and the deserialized object should equal to 't'.
45 static String serializedKerberosTix =
46 "rO0ABXNyACtqYXZheC5zZWN1cml0eS5hdXRoLmtlcmJlcm9zLktlcmJlcm9zVGlja2V0ZqGBbXB3" +
47 "w7sCAApbAAxhc24xRW5jb2Rpbmd0AAJbQkwACGF1dGhUaW1ldAAQTGphdmEvdXRpbC9EYXRlO0wA" +
48 "BmNsaWVudHQAMExqYXZheC9zZWN1cml0eS9hdXRoL2tlcmJlcm9zL0tlcmJlcm9zUHJpbmNpcGFs" +
49 "O1sAD2NsaWVudEFkZHJlc3Nlc3QAF1tMamF2YS9uZXQvSW5ldEFkZHJlc3M7TAAHZW5kVGltZXEA" +
50 "fgACWwAFZmxhZ3N0AAJbWkwACXJlbmV3VGlsbHEAfgACTAAGc2VydmVycQB+AANMAApzZXNzaW9u" +
51 "S2V5dAAmTGphdmF4L3NlY3VyaXR5L2F1dGgva2VyYmVyb3MvS2V5SW1wbDtMAAlzdGFydFRpbWVx" +
52 "AH4AAnhwdXIAAltCrPMX+AYIVOACAAB4cAAAAARhc24xc3IADmphdmEudXRpbC5EYXRlaGqBAUtZ" +
53 "dBkDAAB4cHcIAAAAAAC8YU54c3IALmphdmF4LnNlY3VyaXR5LmF1dGgua2VyYmVyb3MuS2VyYmVy" +
54 "b3NQcmluY2lwYWyZp31dDx4zKQMAAHhwdXEAfgAIAAAAEzARoAMCAQGhCjAIGwZjbGllbnR1cQB+" +
55 "AAgAAAAVGxNKTEFCUy5TRkJBWS5TVU4uQ09NeHBxAH4AC3VyAAJbWlePIDkUuF3iAgAAeHAAAAAg" +
56 "AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABxAH4AC3NxAH4ADHVxAH4ACAAAABMwEaAD" +
57 "AgEBoQowCBsGc2VydmVydXEAfgAIAAAAFRsTSkxBQlMuU0ZCQVkuU1VOLkNPTXhzcgAkamF2YXgu" +
110 }
111
112 private static void checkEqualsAndHashCode(byte[] bytes, KerberosTicket t)
113 throws IOException, ClassNotFoundException {
114 ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
115 KerberosTicket deserializedTicket = (KerberosTicket)
116 (new ObjectInputStream(bais).readObject());
117 if (!deserializedTicket.equals(t)) {
118 throw new RuntimeException("equals() check fails!");
119 }
120 if (deserializedTicket.hashCode() != t.hashCode()) {
121 throw new RuntimeException("hashCode() check fails!");
122 }
123 }
124
125 private static void testS11nCompatibility(KerberosTicket t)
126 throws Exception {
127
128 System.out.println("Testing against KerberosTicket from JDK6...");
129 byte[] serializedBytes =
130 new BASE64Decoder().decodeBuffer(serializedKerberosTix);
131 checkEqualsAndHashCode(serializedBytes, t);
132
133 System.out.println("Testing against KerberosTicket from current rel...");
134 ByteArrayOutputStream baos = new ByteArrayOutputStream();
135 new ObjectOutputStream(baos).writeObject(t);
136 checkEqualsAndHashCode(baos.toByteArray(), t);
137
138 System.out.println("S11nCompatibility Test Passed");
139 }
140 }
|
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 /*
25 * @test
26 * @bug 6659990
27 * @summary test the immutability of the Date fields in KerberosTicket class.
28 * @ignore Must set up KDC and setup Kerberos configuration file
29 */
30
31 import java.net.InetAddress;
32 import java.util.Date;
33 import java.io.*;
34 import javax.security.auth.kerberos.KerberosKey;
35 import javax.security.auth.kerberos.KerberosPrincipal;
36 import javax.security.auth.kerberos.KerberosTicket;
37 import java.util.Base64;
38
39 public class KerberosTixDateTest {
40
41 // Serialized KerberosTicket from JDK6 (encoded in BASE64)
42 // Note: the KerberosTicket object is created using the same values as
43 // the KerberosTicket 't' in main(). Deserialization should succeed
44 // and the deserialized object should equal to 't'.
45 static String serializedKerberosTix =
46 "rO0ABXNyACtqYXZheC5zZWN1cml0eS5hdXRoLmtlcmJlcm9zLktlcmJlcm9zVGlja2V0ZqGBbXB3" +
47 "w7sCAApbAAxhc24xRW5jb2Rpbmd0AAJbQkwACGF1dGhUaW1ldAAQTGphdmEvdXRpbC9EYXRlO0wA" +
48 "BmNsaWVudHQAMExqYXZheC9zZWN1cml0eS9hdXRoL2tlcmJlcm9zL0tlcmJlcm9zUHJpbmNpcGFs" +
49 "O1sAD2NsaWVudEFkZHJlc3Nlc3QAF1tMamF2YS9uZXQvSW5ldEFkZHJlc3M7TAAHZW5kVGltZXEA" +
50 "fgACWwAFZmxhZ3N0AAJbWkwACXJlbmV3VGlsbHEAfgACTAAGc2VydmVycQB+AANMAApzZXNzaW9u" +
51 "S2V5dAAmTGphdmF4L3NlY3VyaXR5L2F1dGgva2VyYmVyb3MvS2V5SW1wbDtMAAlzdGFydFRpbWVx" +
52 "AH4AAnhwdXIAAltCrPMX+AYIVOACAAB4cAAAAARhc24xc3IADmphdmEudXRpbC5EYXRlaGqBAUtZ" +
53 "dBkDAAB4cHcIAAAAAAC8YU54c3IALmphdmF4LnNlY3VyaXR5LmF1dGgua2VyYmVyb3MuS2VyYmVy" +
54 "b3NQcmluY2lwYWyZp31dDx4zKQMAAHhwdXEAfgAIAAAAEzARoAMCAQGhCjAIGwZjbGllbnR1cQB+" +
55 "AAgAAAAVGxNKTEFCUy5TRkJBWS5TVU4uQ09NeHBxAH4AC3VyAAJbWlePIDkUuF3iAgAAeHAAAAAg" +
56 "AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABxAH4AC3NxAH4ADHVxAH4ACAAAABMwEaAD" +
57 "AgEBoQowCBsGc2VydmVydXEAfgAIAAAAFRsTSkxBQlMuU0ZCQVkuU1VOLkNPTXhzcgAkamF2YXgu" +
110 }
111
112 private static void checkEqualsAndHashCode(byte[] bytes, KerberosTicket t)
113 throws IOException, ClassNotFoundException {
114 ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
115 KerberosTicket deserializedTicket = (KerberosTicket)
116 (new ObjectInputStream(bais).readObject());
117 if (!deserializedTicket.equals(t)) {
118 throw new RuntimeException("equals() check fails!");
119 }
120 if (deserializedTicket.hashCode() != t.hashCode()) {
121 throw new RuntimeException("hashCode() check fails!");
122 }
123 }
124
125 private static void testS11nCompatibility(KerberosTicket t)
126 throws Exception {
127
128 System.out.println("Testing against KerberosTicket from JDK6...");
129 byte[] serializedBytes =
130 Base64.getMimeDecoder().decode(serializedKerberosTix);
131 checkEqualsAndHashCode(serializedBytes, t);
132
133 System.out.println("Testing against KerberosTicket from current rel...");
134 ByteArrayOutputStream baos = new ByteArrayOutputStream();
135 new ObjectOutputStream(baos).writeObject(t);
136 checkEqualsAndHashCode(baos.toByteArray(), t);
137
138 System.out.println("S11nCompatibility Test Passed");
139 }
140 }
|