package org.apache.kerberos.kerb.client; import org.apache.kerberos.kerb.client.preauth.PreauthHandler; import org.apache.kerberos.kerb.crypto.Nonce; public class KrbContext { private String kdcRealm; private KrbConfig config; private String kdcHost; private short kdcPort; private long timeout = 10L; private PreauthHandler preauthHandler; public void init(KrbConfig config) { this.config = config; preauthHandler = new PreauthHandler(); preauthHandler.init(this); } public String getKdcHost() { if (kdcHost != null) { return kdcHost; } return config.getKdcHost(); } public void setKdcHost(String kdcHost) { this.kdcHost = kdcHost; } public short getKdcPort() { if (kdcPort > 0) { return kdcPort; } return config.getKdcPort(); } public void setKdcPort(short kdcPort) { this.kdcPort = kdcPort; } public void setTimeout(long timeout) { this.timeout = timeout; } public long getTimeout() { return this.timeout; } public KrbConfig getConfig() { return config; } public void setKdcRealm(String realm) { this.kdcRealm = realm; } public String getKdcRealm() { if (kdcRealm != null) { return kdcRealm; } return config.getKdcRealm(); } public int generateNonce() { return Nonce.value(); } public long getTicketValidTime() { return 8 * 60 * 60 * 1000; } public PreauthHandler getPreauthHandler() { return preauthHandler; } }