Examples of KerberosTicket


Examples of javax.security.auth.kerberos.KerberosTicket

                true, // initial
                true, // pre-authent
                true // hw-authent
        };

        KerberosTicket krbTicket = new KerberosTicket(ticket, pClient, pServer,
                sessionKey, KEY_TYPE, myFlags, // <=== we test this
                authTime, startTime, endTime, renewTill, addesses);

        // test: returned value is copied
        assertNotSame(krbTicket.getFlags(), krbTicket.getFlags());

        // test: flags values
        assertTrue(krbTicket.isForwardable());
        assertTrue(krbTicket.isForwarded());
        assertTrue(krbTicket.isInitial());
        assertTrue(krbTicket.isPostdated());
        assertTrue(krbTicket.isProxiable());
        assertTrue(krbTicket.isProxy());
        assertTrue(krbTicket.isRenewable());

        //
        // test: number of flags less the in Kerberos protocol (<32)
        //
        boolean[] ktFlags = krbTicket.getFlags();
        assertEquals("flags length", FLAGS_NUM, ktFlags.length);
        int index = 0;
        // must match to initial array
        for (; index < flags.length; index++) {
            assertEquals("Index: " + index, myFlags[index], ktFlags[index]);
        }
        // the rest is expected to be false
        for (; index < FLAGS_NUM; index++) {
            assertEquals("Index: " + index, false, ktFlags[index]);
        }

        //
        // test: flags array is greater then 32
        //
        myFlags = new boolean[50];

        krbTicket = new KerberosTicket(ticket, pClient, pServer, sessionKey,
                KEY_TYPE, myFlags, // <=== we test this
                authTime, startTime, endTime, renewTill, addesses);

        ktFlags = krbTicket.getFlags();

        assertEquals(myFlags.length, ktFlags.length);
        for (index = 0; index < ktFlags.length; index++) {
            assertEquals(false, ktFlags[index]);
        }

        // initial array is copied
        assertFalse(krbTicket.isForwardable());
        myFlags[1] = true;
        assertFalse(krbTicket.isForwardable());

        //
        // test: Null value
        //
        krbTicket = new KerberosTicket(ticket, pClient, pServer, sessionKey,
                KEY_TYPE, null, // <=== we test this
                authTime, startTime, endTime, renewTill, addesses);
        assertTrue(Arrays.equals(new boolean[FLAGS_NUM], krbTicket.getFlags()));
    }
View Full Code Here

Examples of javax.security.auth.kerberos.KerberosTicket

    /**
     * @tests javax.security.auth.kerberos.KerberosTicket#getServer()
     */
    public void test_getServer() throws Exception {

        KerberosTicket krbTicket = new KerberosTicket(ticket, pClient, pServer,
                sessionKey, KEY_TYPE, flags, authTime, startTime, endTime,
                renewTill, addesses);

        assertSame(pServer, krbTicket.getServer());

        // server principal: null value is illegal for constructor
        try {
            new KerberosTicket(ticket, pClient, null, sessionKey, KEY_TYPE,
                    flags, authTime, startTime, endTime, renewTill, addesses);
            fail("No expected IllegalArgumentException");
        } catch (IllegalArgumentException e) {
        }
    }
View Full Code Here

Examples of javax.security.auth.kerberos.KerberosTicket

    /**
     * @tests javax.security.auth.kerberos.KerberosTicket#getSessionKey()
     */
    public void test_getSessionKey() throws Exception {

        KerberosTicket krbTicket = new KerberosTicket(ticket, pClient, pServer,
                sessionKey, KEY_TYPE, flags, authTime, startTime, endTime,
                renewTill, addesses);

        assertSame(krbTicket.getSessionKey(), krbTicket.getSessionKey());

        // test returned SecretKey object
        SecretKey sKey = krbTicket.getSessionKey();
        byte[] keyBytes = sKey.getEncoded();

        assertTrue(Arrays.equals(sessionKey, keyBytes));
        // initial byte array is copied
        assertNotSame(sessionKey, sKey.getEncoded());
        // key instance is immutable
        assertNotSame(sKey.getEncoded(), sKey.getEncoded());

        assertEquals("algorithm", "DES", sKey.getAlgorithm());
        assertEquals("format", "RAW", sKey.getFormat());

        // sessionKey: null value is illegal for constructor
        try {
            new KerberosTicket(ticket, pClient, pServer, null, KEY_TYPE, flags,
                    authTime, startTime, endTime, renewTill, addesses);
            fail("No expected IllegalArgumentException");
        } catch (IllegalArgumentException e) {
        }
    }
View Full Code Here

Examples of javax.security.auth.kerberos.KerberosTicket

    /**
     * @tests javax.security.auth.kerberos.KerberosTicket#getSessionKeyType()
     */
    public void test_getSessionKeyType() throws Exception {

        KerberosTicket krbTicket = new KerberosTicket(ticket, pClient, pServer,
                sessionKey, KEY_TYPE, flags, authTime, startTime, endTime,
                renewTill, addesses);

        assertEquals(KEY_TYPE, krbTicket.getSessionKeyType());
    }
View Full Code Here

Examples of javax.security.auth.kerberos.KerberosTicket

     */
    public void test_getStartTime() throws Exception {

        Date newStartTime = new Date(START_TIME);

        KerberosTicket krbTicket = new KerberosTicket(ticket, pClient, pServer,
                sessionKey, KEY_TYPE, flags, authTime, newStartTime, endTime,
                renewTill, addesses);

        // initial value is copied
        newStartTime.setTime(START_TIME + 1);
        assertEquals(START_TIME + 1, krbTicket.getStartTime().getTime());

        // returned value is copied
        assertNotSame(krbTicket.getStartTime(), krbTicket.getStartTime());

        // start time: null value is valid for constructor
        krbTicket = new KerberosTicket(ticket, pClient, pServer, sessionKey,
                KEY_TYPE, flags, authTime, null, endTime, renewTill, addesses);
        assertEquals(authTime, krbTicket.getStartTime());
        assertNotSame(authTime, krbTicket.getStartTime());
    }
View Full Code Here

Examples of javax.security.auth.kerberos.KerberosTicket

     * @tests javax.security.auth.kerberos.KerberosTicket#destroy()
     * @tests javax.security.auth.kerberos.KerberosTicket#isDestroyed()
     */
    public void test_Destroyable() throws Exception {

        KerberosTicket kt = new KerberosTicket(ticket, pClient, pServer,
                sessionKey, KEY_TYPE, flags, authTime, startTime, endTime,
                renewTill, addesses);

        assertFalse(kt.isDestroyed());

        kt.destroy();
        assertTrue(kt.isDestroyed());

        // no exceptions for second destroy
        kt.destroy();

        assertNull(kt.getAuthTime());
        assertNull(kt.getClient());
        assertNull(kt.getClientAddresses());

        try {
            kt.getEncoded();
            fail("No expected IllegalStateException");
        } catch (IllegalStateException e) {
        }

        assertNull(kt.getEndTime());
        assertNull(kt.getFlags());
        assertNull(kt.getRenewTill());
        assertNull(kt.getServer());

        try {
            kt.getSessionKey();
            fail("No expected IllegalStateException");
        } catch (IllegalStateException e) {
        }

        try {
            kt.getSessionKeyType();
            fail("No expected IllegalStateException");
        } catch (IllegalStateException e) {
        }

        try {
            kt.toString();
            fail("No expected IllegalStateException");
        } catch (IllegalStateException e) {
        }
    }
View Full Code Here

Examples of javax.security.auth.kerberos.KerberosTicket

        //
        // test: should not renew ticket because renewTill < current time
        //
        Date newRenewTill = new Date((new Date()).getTime() - 3600000);

        KerberosTicket krbTicket = new KerberosTicket(ticket, pClient, pServer,
                sessionKey, KEY_TYPE, myFlags, authTime, startTime, endTime,
                newRenewTill, // <=== we test this: it is less then current time
                addesses);

        try {
            krbTicket.refresh();
            fail("No expected RefreshFailedException");
        } catch (RefreshFailedException e) {
        }

        //
        // test: should not renew ticket because renewable flag is false
        //
        newRenewTill = new Date((new Date()).getTime() + 3600000);
        myFlags[8] = false;

        krbTicket = new KerberosTicket(encTicket, pClient, pServer, sessionKey,
                KEY_TYPE, myFlags, // <=== we test this: it is not renewable
                authTime, startTime, endTime, newRenewTill, addesses);

        try {
            krbTicket.refresh();
            fail("No expected RefreshFailedException");
        } catch (RefreshFailedException e) {
        }

        //
        // test: dependency on system props 'kdc' and 'realm'
        //

        // verify that env. is clean
        assertNull(System.getProperty(ENV_KDC));
        assertNull(System.getProperty(ENV_REALM));

        // create real DES key
        byte[] newSessionKey = new KerberosKey(new KerberosPrincipal(
                "me@MY.REALM"), "pwd".toCharArray(), "DES").getEncoded();

        myFlags[8] = true;
        krbTicket = new KerberosTicket(encTicket, pClient, pServer,
                newSessionKey, KEY_TYPE, myFlags, authTime, startTime, endTime,
                newRenewTill, addesses);

        // case 1: unset 'kdc' and set 'realm'
        TestUtils.setSystemProperty(ENV_KDC, "some_value");
        try {
            krbTicket.refresh();
            fail("No expected RefreshFailedException");
        } catch (RefreshFailedException e) {
        } finally {
            TestUtils.setSystemProperty(ENV_KDC, null);
        }

        // case 2: set 'kdc' and unset 'realm' sys.props
        TestUtils.setSystemProperty(ENV_REALM, "some_value");
        try {
            krbTicket.refresh();
            fail("No expected RefreshFailedException");
        } catch (RefreshFailedException e) {
        } finally {
            TestUtils.setSystemProperty(ENV_REALM, null);
        }
View Full Code Here

Examples of javax.security.auth.kerberos.KerberosTicket

   
    /**
     * @tests javax.security.auth.kerberos.KerberosTicket#equals(java.lang.Object)
     */
    public void test_equals() throws Exception {
        KerberosTicket krbTicket1 = new KerberosTicket(ticket, pClient,
                pServer, sessionKey, KEY_TYPE, flags, authTime, startTime,
                endTime, renewTill, addesses);
        KerberosTicket krbTicket2 = new KerberosTicket(ticket, pClient,
                pServer, sessionKey, KEY_TYPE, flags, authTime, startTime,
                endTime, renewTill, addesses);
        KerberosTicket krbTicket3 = new KerberosTicket(ticket, pClient,
                pServer, sessionKey, KEY_TYPE, new boolean[] { true, false },
                authTime, startTime, endTime, renewTill, addesses);
        assertEquals("krbTicket1 and krbTicket2 should be equivalent ",
                krbTicket1, krbTicket2);
        assertFalse("krbTicket1 and krbTicket3 sholudn't be equivalent ",
                krbTicket1.equals(krbTicket3));
        try {
            krbTicket2.destroy();
        } catch (DestroyFailedException e) {
            fail("krbTicket2 destroy failed");
        }
        assertFalse("Destroyed krbTicket sholudn't be equivalent ", krbTicket1
                .equals(krbTicket2));
       
        //Regression test for KerberosTicket.equals().
        final KerberosPrincipal clientPrincipal = new KerberosPrincipal(
                "leo@EXAMPLE.COM");
        final KerberosPrincipal serverPrincipal = new KerberosPrincipal(
                "krbtgt/EXAMPLE.COM@EXAMPLE.COM");
        KerberosTicket tgt = new KerberosTicket(new byte[0], clientPrincipal,
                serverPrincipal, new byte[0], 1, new boolean[0],
                new Date(1000), null, new Date(new Date().getTime() + 1000),
                null, null);
        assertEquals(tgt, tgt);
        KerberosTicket tgt1 = new KerberosTicket(new byte[0], clientPrincipal,
                serverPrincipal, new byte[0], 1, new boolean[0],
                new Date(1000), null, new Date(new Date().getTime() + 1000),
                null, null);
        assertEquals(tgt, tgt1);
        assertEquals(tgt1, tgt);
View Full Code Here

Examples of javax.security.auth.kerberos.KerberosTicket

    /**
     * @tests javax.security.auth.kerberos.KerberosTicket#hashCode()
     */
    public void test_hashCode() {
        KerberosTicket krbTicket1 = new KerberosTicket(ticket, pClient,
                pServer, sessionKey, KEY_TYPE, flags, authTime, startTime,
                endTime, renewTill, addesses);
        KerberosTicket krbTicket2 = new KerberosTicket(ticket, pClient,
                pServer, sessionKey, KEY_TYPE, flags, authTime, startTime,
                endTime, renewTill, addesses);
        assertEquals("krbTicket1 and krbTicket2 should be equivalent",
                krbTicket1, krbTicket2);
        assertEquals("hashCode should be equivalent", krbTicket1.hashCode(),
                krbTicket2.hashCode());
    }
View Full Code Here

Examples of javax.security.auth.kerberos.KerberosTicket

                WSSecurityException.ErrorCode.FAILURE,
                "kerberosLoginError",
                "No Client principals found after login");
        }
        // Store the TGT
        KerberosTicket tgt = getKerberosTicket(clientSubject, null);

        // Get the service ticket
        KerberosClientExceptionAction action =
            new KerberosClientExceptionAction(clientPrincipals.iterator().next(), serviceName, isUsernameServiceNameForm);
        KerberosContext krbCtx = null;
        try {
            krbCtx = (KerberosContext) Subject.doAs(clientSubject, action);

            // Get the secret key from KerberosContext if available, otherwise use Kerberos ticket's session key
            Key sessionKey = krbCtx.getSecretKey();
            if (sessionKey != null) {
                secretKey = new SecretKeySpec(sessionKey.getEncoded(), sessionKey.getAlgorithm());
            } else {
                KerberosTicket serviceTicket = getKerberosTicket(clientSubject, tgt);
                secretKey = serviceTicket.getSessionKey();
            }

            setToken(krbCtx.getKerberosToken());
        }
        catch (PrivilegedActionException e) {
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.