Java Security cloneKerberosTicket(KerberosTicket kerberosTicket)

Here you can find the source of cloneKerberosTicket(KerberosTicket kerberosTicket)

Description

clone Kerberos Ticket

License

Apache License

Declaration

public static KerberosTicket cloneKerberosTicket(KerberosTicket kerberosTicket) 

Method Source Code

//package com.java2s;
/**/*  w w  w . j a  v  a2 s  . c o m*/
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import javax.security.auth.kerberos.KerberosTicket;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

public class Main {
    public static KerberosTicket cloneKerberosTicket(KerberosTicket kerberosTicket) {
        if (kerberosTicket != null) {
            try {
                return (deserializeKerberosTicket(serializeKerberosTicket(kerberosTicket)));
            } catch (Exception e) {
                throw new RuntimeException("Failed to clone KerberosTicket TGT!!", e);
            }
        }
        return null;
    }

    public static KerberosTicket deserializeKerberosTicket(byte[] tgtBytes) {
        KerberosTicket ret;
        try {

            ByteArrayInputStream bin = new ByteArrayInputStream(tgtBytes);
            ObjectInputStream in = new ObjectInputStream(bin);
            ret = (KerberosTicket) in.readObject();
            in.close();
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
        return ret;
    }

    public static byte[] serializeKerberosTicket(KerberosTicket tgt) throws Exception {
        ByteArrayOutputStream bao = new ByteArrayOutputStream();
        ObjectOutputStream out = new ObjectOutputStream(bao);
        out.writeObject(tgt);
        out.flush();
        out.close();
        return bao.toByteArray();
    }
}

Related

  1. addLoginCallbackMessage(Callback[] callbacks, String userId, String password)
  2. addLoginCallbackMessage(Callback[] callbacks, String username, String password)
  3. canGetSubject()
  4. checkDoAsPermission()
  5. checkPolicy(int flags, Map props)
  6. convertLegacyToRFC2253(String dn)
  7. credsToTicket(Credentials serviceCreds)
  8. extractDirective(HashMap map, String key, String value)
  9. filterMechs(String[] mechs, int[] policies, Map props)