Top Description Inners Fields Constructors Methods
org.keycloak.common.util

public abstract Class KerberosJdkProvider

extends Object
Class Inheritance
Known Direct Subclasses
org.keycloak.common.util.KerberosJdkProvider.SunJDKProvider, org.keycloak.common.util.KerberosJdkProvider.IBMJDKProvider
Imports
org.ietf.jgss.GSSCredential, .GSSManager, .GSSName, .Oid, org.jboss.logging.Logger, org.keycloak.common.constants.KerberosConstants, javax.security.auth.Subject, javax.security.auth.kerberos.KerberosPrincipal, .KerberosTicket, javax.security.auth.login.AppConfigurationEntry, .Configuration, java.io.File, java.lang.reflect.Method, java.net.MalformedURLException, java.security.PrivilegedExceptionAction, java.util.Arrays, .Collections, .HashMap, .Iterator, .List, .Map, .Set

Provides abstraction to handle differences between various JDK vendors (Sun, IBM)
Author
Marek Posolda

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class
private static class

Field Summary

Modifier and TypeField and Description
private static final Logger

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public abstract Configuration
createJaasConfigurationForServer(String keytab, String serverPrincipal, boolean debug)

public abstract Configuration
public static KerberosJdkProvider
public abstract KerberosTicket
public boolean

Returns:

true if Kerberos (GSS API) is available in underlying JDK and it is possible to use it. False otherwise
isKerberosAvailable
()

public GSSCredential
public GSSCredential
kerberosTicketToGSSCredential(KerberosTicket kerberosTicket, final int lifetime, final int usage)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

loggerback to summary
private static final Logger logger

Constructor Detail

KerberosJdkProviderback to summary
public KerberosJdkProvider()

Method Detail

createJaasConfigurationForServerback to summary
public abstract Configuration createJaasConfigurationForServer(String keytab, String serverPrincipal, boolean debug)
createJaasConfigurationForUsernamePasswordLoginback to summary
public abstract Configuration createJaasConfigurationForUsernamePasswordLogin(boolean debug)
getProviderback to summary
public static KerberosJdkProvider getProvider()
gssCredentialToKerberosTicketback to summary
public abstract KerberosTicket gssCredentialToKerberosTicket(KerberosTicket kerberosTicket, GSSCredential gssCredential)
isKerberosAvailableback to summary
public boolean isKerberosAvailable()
Returns:boolean

true if Kerberos (GSS API) is available in underlying JDK and it is possible to use it. False otherwise

kerberosTicketToGSSCredentialback to summary
public GSSCredential kerberosTicketToGSSCredential(KerberosTicket kerberosTicket)
kerberosTicketToGSSCredentialback to summary
public GSSCredential kerberosTicketToGSSCredential(KerberosTicket kerberosTicket, final int lifetime, final int usage)
org.keycloak.common.util back to summary

private Class KerberosJdkProvider.IBMJDKProvider

extends KerberosJdkProvider
Class Inheritance

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public Configuration
public Configuration
private String
public KerberosTicket
Inherited from org.keycloak.common.util.KerberosJdkProvider:
getProviderisKerberosAvailablekerberosTicketToGSSCredentialkerberosTicketToGSSCredential

Constructor Detail

IBMJDKProviderback to summary
private IBMJDKProvider()

Method Detail

createJaasConfigurationForServerback to summary
public Configuration createJaasConfigurationForServer(String keytab, final String serverPrincipal, final boolean debug)

Implements abstract org.keycloak.common.util.KerberosJdkProvider.createJaasConfigurationForServer.

Annotations
@Override
createJaasConfigurationForUsernamePasswordLoginback to summary
public Configuration createJaasConfigurationForUsernamePasswordLogin(final boolean debug)

Implements abstract org.keycloak.common.util.KerberosJdkProvider.createJaasConfigurationForUsernamePasswordLogin.

Annotations
@Override
getKeytabURLback to summary
private String getKeytabURL(String keytab)
gssCredentialToKerberosTicketback to summary
public KerberosTicket gssCredentialToKerberosTicket(KerberosTicket kerberosTicket, GSSCredential gssCredential)

Implements abstract org.keycloak.common.util.KerberosJdkProvider.gssCredentialToKerberosTicket.

Annotations
@Override
org.keycloak.common.util back to summary

private Class KerberosJdkProvider.SunJDKProvider

extends KerberosJdkProvider
Class Inheritance

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public Configuration
createJaasConfigurationForServer(final String keytab, final String serverPrincipal, final boolean debug)

Implements abstract org.keycloak.common.util.KerberosJdkProvider.createJaasConfigurationForServer.

public Configuration
public KerberosTicket
Inherited from org.keycloak.common.util.KerberosJdkProvider:
getProviderisKerberosAvailablekerberosTicketToGSSCredentialkerberosTicketToGSSCredential

Constructor Detail

SunJDKProviderback to summary
private SunJDKProvider()

Method Detail

createJaasConfigurationForServerback to summary
public Configuration createJaasConfigurationForServer(final String keytab, final String serverPrincipal, final boolean debug)

Implements abstract org.keycloak.common.util.KerberosJdkProvider.createJaasConfigurationForServer.

Annotations
@Override
createJaasConfigurationForUsernamePasswordLoginback to summary
public Configuration createJaasConfigurationForUsernamePasswordLogin(final boolean debug)

Implements abstract org.keycloak.common.util.KerberosJdkProvider.createJaasConfigurationForUsernamePasswordLogin.

Annotations
@Override
gssCredentialToKerberosTicketback to summary
public KerberosTicket gssCredentialToKerberosTicket(KerberosTicket kerberosTicket, GSSCredential gssCredential)

Implements abstract org.keycloak.common.util.KerberosJdkProvider.gssCredentialToKerberosTicket.

Annotations
@Override