Class AbstractPreauthPlugin

java.lang.Object
org.apache.kerby.kerberos.kerb.server.preauth.AbstractPreauthPlugin
All Implemented Interfaces:
org.apache.kerby.kerberos.kerb.preauth.PreauthPluginMeta, KdcPreauth
Direct Known Subclasses:
EncTsPreauth, PkinitPreauth, TgtPreauth, TokenPreauth

public class AbstractPreauthPlugin extends Object implements KdcPreauth
  • Constructor Summary

    Constructors
    Constructor
    Description
    AbstractPreauthPlugin(org.apache.kerby.kerberos.kerb.preauth.PreauthPluginMeta meta)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    When exiting...
    org.apache.kerby.kerberos.kerb.preauth.PaFlags
    getFlags(KdcRequest kdcRequest, org.apache.kerby.kerberos.kerb.preauth.PluginRequestContext requestContext, org.apache.kerby.kerberos.kerb.type.pa.PaDataType paType)
    Return PA_REAL if pa_type is a real preauthentication type or PA_INFO if it is an informational type.
     
    org.apache.kerby.kerberos.kerb.type.pa.PaDataType[]
     
    int
     
    org.apache.kerby.kerberos.kerb.preauth.PluginRequestContext
    Initializing request context
    void
    initWith(KdcContext kdcContext)
    Initializing plugin context for each realm
    void
    provideEdata(KdcRequest kdcRequest, org.apache.kerby.kerberos.kerb.preauth.PluginRequestContext requestContext, org.apache.kerby.kerberos.kerb.type.pa.PaData outPaData)
    Optional: provide pa_data to send to the client as part of the "you need to use preauthentication" error.
    void
    providePaData(KdcRequest kdcRequest, org.apache.kerby.kerberos.kerb.preauth.PluginRequestContext requestContext, org.apache.kerby.kerberos.kerb.type.pa.PaData paData)
    Optional: generate preauthentication response data to send to the client as part of the AS-REP.
    boolean
    verify(KdcRequest kdcRequest, org.apache.kerby.kerberos.kerb.preauth.PluginRequestContext requestContext, org.apache.kerby.kerberos.kerb.type.pa.PaDataEntry paData)
    Optional: verify preauthentication data sent by the client, setting the TKT_FLG_PRE_AUTH or TKT_FLG_HW_AUTH flag in the enc_tkt_reply's "flags" field as appropriate.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • AbstractPreauthPlugin

      public AbstractPreauthPlugin(org.apache.kerby.kerberos.kerb.preauth.PreauthPluginMeta meta)
  • Method Details

    • getName

      public String getName()
      Specified by:
      getName in interface org.apache.kerby.kerberos.kerb.preauth.PreauthPluginMeta
    • getVersion

      public int getVersion()
      Specified by:
      getVersion in interface org.apache.kerby.kerberos.kerb.preauth.PreauthPluginMeta
    • getPaTypes

      public org.apache.kerby.kerberos.kerb.type.pa.PaDataType[] getPaTypes()
      Specified by:
      getPaTypes in interface org.apache.kerby.kerberos.kerb.preauth.PreauthPluginMeta
    • initWith

      public void initWith(KdcContext kdcContext)
      Description copied from interface: KdcPreauth
      Initializing plugin context for each realm
      Specified by:
      initWith in interface KdcPreauth
      Parameters:
      kdcContext - kdc context
    • initRequestContext

      public org.apache.kerby.kerberos.kerb.preauth.PluginRequestContext initRequestContext(KdcRequest kdcRequest)
      Description copied from interface: KdcPreauth
      Initializing request context
      Specified by:
      initRequestContext in interface KdcPreauth
      Parameters:
      kdcRequest - kdc context
      Returns:
      request context
    • provideEdata

      public void provideEdata(KdcRequest kdcRequest, org.apache.kerby.kerberos.kerb.preauth.PluginRequestContext requestContext, org.apache.kerby.kerberos.kerb.type.pa.PaData outPaData) throws org.apache.kerby.kerberos.kerb.KrbException
      Description copied from interface: KdcPreauth
      Optional: provide pa_data to send to the client as part of the "you need to use preauthentication" error.
      Specified by:
      provideEdata in interface KdcPreauth
      Parameters:
      kdcRequest - kdc request
      requestContext - request context
      outPaData - out preauthentication data
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e
    • verify

      public boolean verify(KdcRequest kdcRequest, org.apache.kerby.kerberos.kerb.preauth.PluginRequestContext requestContext, org.apache.kerby.kerberos.kerb.type.pa.PaDataEntry paData) throws org.apache.kerby.kerberos.kerb.KrbException
      Description copied from interface: KdcPreauth
      Optional: verify preauthentication data sent by the client, setting the TKT_FLG_PRE_AUTH or TKT_FLG_HW_AUTH flag in the enc_tkt_reply's "flags" field as appropriate.
      Specified by:
      verify in interface KdcPreauth
      Parameters:
      kdcRequest - kdc request
      requestContext - request context
      paData - preauthentication data
      Returns:
      true if verify success
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e
    • providePaData

      public void providePaData(KdcRequest kdcRequest, org.apache.kerby.kerberos.kerb.preauth.PluginRequestContext requestContext, org.apache.kerby.kerberos.kerb.type.pa.PaData paData)
      Description copied from interface: KdcPreauth
      Optional: generate preauthentication response data to send to the client as part of the AS-REP.
      Specified by:
      providePaData in interface KdcPreauth
      Parameters:
      kdcRequest - kdc request
      requestContext - request context
      paData - preauthentication data
    • getFlags

      public org.apache.kerby.kerberos.kerb.preauth.PaFlags getFlags(KdcRequest kdcRequest, org.apache.kerby.kerberos.kerb.preauth.PluginRequestContext requestContext, org.apache.kerby.kerberos.kerb.type.pa.PaDataType paType)
      Description copied from interface: KdcPreauth
      Return PA_REAL if pa_type is a real preauthentication type or PA_INFO if it is an informational type.
      Specified by:
      getFlags in interface KdcPreauth
      Parameters:
      kdcRequest - kdc request
      requestContext - request context
      paType - preauthentication type
      Returns:
      PaFlags
    • destroy

      public void destroy()
      Description copied from interface: KdcPreauth
      When exiting...
      Specified by:
      destroy in interface KdcPreauth