java.lang.Object
org.apache.kerby.kerberos.kerb.server.request.KdcRequest
Direct Known Subclasses:
AsRequest, TgsRequest

public abstract class KdcRequest extends Object
  • Constructor Summary

    Constructors
    Constructor
    Description
    KdcRequest(org.apache.kerby.kerberos.kerb.type.kdc.KdcReq kdcReq, KdcContext kdcContext)
    kdc request constructor
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    Do some authenticate.
    protected abstract void
    Check client.
    boolean
    checkCrossRealm(String remoteRealm)
     
    protected void
    Check encryption type.
    protected void
    Check policy.
    protected void
    Check Version.
    org.apache.kerby.kerberos.kerb.type.base.EncryptionKey
    Get armor key.
    Get client address.
    org.apache.kerby.kerberos.kerb.request.KrbIdentity
    Get client entry.
    org.apache.kerby.kerberos.kerb.type.base.EncryptionKey
    Get client key.
    org.apache.kerby.kerberos.kerb.type.base.EncryptionKey
    getClientKey(org.apache.kerby.kerberos.kerb.type.base.EncryptionType encType)
    Get client key with entryption type.
    org.apache.kerby.kerberos.kerb.type.base.PrincipalName
    Get client principal.
    org.apache.kerby.kerberos.kerb.request.KrbIdentity
     
    org.apache.kerby.kerberos.kerb.type.base.PrincipalName
     
    org.apache.kerby.kerberos.kerb.type.base.EncryptionType
    Get encryption type.
    protected org.apache.kerby.kerberos.kerb.request.KrbIdentity
    getEntry(String principal)
    Get identity entry with principal name.
    protected byte[]
    Get innerbodyout.
    Get kdc context.
    org.apache.kerby.kerberos.kerb.type.kdc.KdcOptions
     
    org.apache.kerby.kerberos.kerb.type.kdc.KdcReq
    Get KdcReq.
    Get preauth context.
    protected PreauthHandler
    Get preauth handler.
     
    org.apache.kerby.kerberos.kerb.type.base.KrbMessage
    Get the reply message.
     
    protected ByteBuffer
    Get request body.
    org.apache.kerby.kerberos.kerb.request.KrbIdentity
    Get server entry.
    org.apache.kerby.kerberos.kerb.type.base.EncryptionKey
    Get server key.
    org.apache.kerby.kerberos.kerb.type.base.PrincipalName
    Get server principal.
    org.apache.kerby.kerberos.kerb.type.base.EncryptionKey
    Get session key.
    org.apache.kerby.kerberos.kerb.request.KrbIdentity
    Get tgs entry.
    org.apache.kerby.kerberos.kerb.type.base.PrincipalName
    Get tgs principal name.
    org.apache.kerby.kerberos.kerb.type.ticket.Ticket
    Get ticket.
    protected org.apache.kerby.kerberos.kerb.type.base.AuthToken
    Get auth token.
    boolean
     
    boolean
     
    boolean
     
    protected boolean
     
    boolean
    Get whether pre-authenticated.
    protected boolean
    Get whether preauth required.
    protected abstract void
    Issue ticket.
    boolean
    Get whether is tcp.
    void
    isTcp(boolean isTcp)
    Set use tcp.
    protected boolean
    Get whether kdc request with token.
    protected org.apache.kerby.kerberos.kerb.type.base.KrbError
    makePreAuthenticationError(KdcContext kdcContext, org.apache.kerby.kerberos.kerb.type.kdc.KdcReq request, org.apache.kerby.kerberos.kerb.KrbErrorCode errorCode, boolean pkinit)
    Make preauthentication error.
    protected abstract void
    Make reply.
    protected void
    Do the preauth.
    void
    Process the kdcrequest from client and issue the ticket.
    protected void
    setArmorKey(org.apache.kerby.kerberos.kerb.type.base.EncryptionKey armorKey)
    Set armor key.
    void
    Set client address.
    void
    setClientEntry(org.apache.kerby.kerberos.kerb.request.KrbIdentity clientEntry)
    Set client entry.
    void
    setClientKey(org.apache.kerby.kerberos.kerb.type.base.EncryptionKey clientKey)
    Set client key.
    void
    setClientPrincipal(org.apache.kerby.kerberos.kerb.type.base.PrincipalName clientPrincipal)
    Set client principal.
    void
    setEncryptionType(org.apache.kerby.kerberos.kerb.type.base.EncryptionType encryptionType)
    Set encryption type.
    void
    setHttps(boolean https)
     
    void
    setPreAuthenticated(boolean isPreAuthenticated)
    Set whether pre-authenticated.
    protected void
    setPreauthRequired(boolean preauthRequired)
    Set whether preauth required.
    void
    setReply(org.apache.kerby.kerberos.kerb.type.kdc.KdcRep reply)
    Set kdc reply.
    void
     
    void
    setServerEntry(org.apache.kerby.kerberos.kerb.request.KrbIdentity serverEntry)
    Set server entry.
    void
    setServerKey(org.apache.kerby.kerberos.kerb.type.base.EncryptionKey serverKey)
    Set server key.
    void
    setServerPrincipal(org.apache.kerby.kerberos.kerb.type.base.PrincipalName serverPrincipal)
    Set server principal.
    void
    setSessionKey(org.apache.kerby.kerberos.kerb.type.base.EncryptionKey sessionKey)
    Set session key.
    void
    setTgsEntry(org.apache.kerby.kerberos.kerb.request.KrbIdentity tgsEntry)
    Set tgs entry .
    void
    setTicket(org.apache.kerby.kerberos.kerb.type.ticket.Ticket ticket)
    Set ticket.
    void
    setToken(org.apache.kerby.kerberos.kerb.type.base.AuthToken authToken)
    Set auth token.

    Methods inherited from class java.lang.Object

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

    • KdcRequest

      public KdcRequest(org.apache.kerby.kerberos.kerb.type.kdc.KdcReq kdcReq, KdcContext kdcContext)
      kdc request constructor
      Parameters:
      kdcReq - kdc request
      kdcContext - kdc context
  • Method Details

    • getSessionKey

      public org.apache.kerby.kerberos.kerb.type.base.EncryptionKey getSessionKey()
      Get session key.
      Returns:
      session key
    • setSessionKey

      public void setSessionKey(org.apache.kerby.kerberos.kerb.type.base.EncryptionKey sessionKey)
      Set session key.
      Parameters:
      sessionKey - The session key
    • getKdcContext

      public KdcContext getKdcContext()
      Get kdc context.
      Returns:
      kdc context
    • getKdcReq

      public org.apache.kerby.kerberos.kerb.type.kdc.KdcReq getKdcReq()
      Get KdcReq.
      Returns:
      kdc request
    • getPreauthContext

      public PreauthContext getPreauthContext()
      Get preauth context.
      Returns:
      preauthentication context.
    • process

      public void process() throws org.apache.kerby.kerberos.kerb.KrbException
      Process the kdcrequest from client and issue the ticket.
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e.
    • getTgsEntry

      public org.apache.kerby.kerberos.kerb.request.KrbIdentity getTgsEntry()
      Get tgs entry.
      Returns:
      TGS entry
    • setTgsEntry

      public void setTgsEntry(org.apache.kerby.kerberos.kerb.request.KrbIdentity tgsEntry)
      Set tgs entry .
      Parameters:
      tgsEntry - TGS entry
    • isTcp

      public boolean isTcp()
      Get whether is tcp.
      Returns:
      whether is tcp
    • isTcp

      public void isTcp(boolean isTcp)
      Set use tcp.
      Parameters:
      isTcp - set kdc request though TCP protocol or not
    • getReply

      public org.apache.kerby.kerberos.kerb.type.base.KrbMessage getReply()
      Get the reply message.
      Returns:
      reply
    • setReply

      public void setReply(org.apache.kerby.kerberos.kerb.type.kdc.KdcRep reply)
      Set kdc reply.
      Parameters:
      reply - reply
    • getClientAddress

      public InetAddress getClientAddress()
      Get client address.
      Returns:
      client address
    • setClientAddress

      public void setClientAddress(InetAddress clientAddress)
      Set client address.
      Parameters:
      clientAddress - client address
    • getEncryptionType

      public org.apache.kerby.kerberos.kerb.type.base.EncryptionType getEncryptionType()
      Get encryption type.
      Returns:
      encryption type
    • setEncryptionType

      public void setEncryptionType(org.apache.kerby.kerberos.kerb.type.base.EncryptionType encryptionType)
      Set encryption type.
      Parameters:
      encryptionType - encryption type
    • getTicket

      public org.apache.kerby.kerberos.kerb.type.ticket.Ticket getTicket()
      Get ticket.
      Returns:
      ticket
    • setTicket

      public void setTicket(org.apache.kerby.kerberos.kerb.type.ticket.Ticket ticket)
      Set ticket.
      Parameters:
      ticket - ticket
    • isPreAuthenticated

      public boolean isPreAuthenticated()
      Get whether pre-authenticated.
      Returns:
      whether preauthenticated
    • setPreAuthenticated

      public void setPreAuthenticated(boolean isPreAuthenticated)
      Set whether pre-authenticated.
      Parameters:
      isPreAuthenticated - whether is preauthenticated
    • getServerEntry

      public org.apache.kerby.kerberos.kerb.request.KrbIdentity getServerEntry()
      Get server entry.
      Returns:
      server entry
    • setServerEntry

      public void setServerEntry(org.apache.kerby.kerberos.kerb.request.KrbIdentity serverEntry)
      Set server entry.
      Parameters:
      serverEntry - server entry
    • getClientEntry

      public org.apache.kerby.kerberos.kerb.request.KrbIdentity getClientEntry()
      Get client entry.
      Returns:
      client entry
    • setClientEntry

      public void setClientEntry(org.apache.kerby.kerberos.kerb.request.KrbIdentity clientEntry)
      Set client entry.
      Parameters:
      clientEntry - client entry
    • getClientKey

      public org.apache.kerby.kerberos.kerb.type.base.EncryptionKey getClientKey(org.apache.kerby.kerberos.kerb.type.base.EncryptionType encType) throws org.apache.kerby.kerberos.kerb.KrbException
      Get client key with entryption type.
      Parameters:
      encType - encryption type
      Returns:
      encryption key
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e
    • getClientKey

      public org.apache.kerby.kerberos.kerb.type.base.EncryptionKey getClientKey()
      Get client key.
      Returns:
      client key
    • setClientKey

      public void setClientKey(org.apache.kerby.kerberos.kerb.type.base.EncryptionKey clientKey)
      Set client key.
      Parameters:
      clientKey - client key
    • getServerKey

      public org.apache.kerby.kerberos.kerb.type.base.EncryptionKey getServerKey()
      Get server key.
      Returns:
      The server key
    • setServerKey

      public void setServerKey(org.apache.kerby.kerberos.kerb.type.base.EncryptionKey serverKey)
      Set server key.
      Parameters:
      serverKey - server key
    • getTgsPrincipal

      public org.apache.kerby.kerberos.kerb.type.base.PrincipalName getTgsPrincipal()
      Get tgs principal name.
      Returns:
      principal name
    • getCrossRealmTgsPrincipal

      public org.apache.kerby.kerberos.kerb.type.base.PrincipalName getCrossRealmTgsPrincipal(String remoteRealm)
    • getCrossRealmTgsEntry

      public org.apache.kerby.kerberos.kerb.request.KrbIdentity getCrossRealmTgsEntry(String remoteRealm) throws org.apache.kerby.kerberos.kerb.KrbException
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException
    • checkCrossRealm

      public boolean checkCrossRealm(String remoteRealm) throws org.apache.kerby.kerberos.kerb.KrbException
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException
    • isCrossRealm

      public boolean isCrossRealm()
    • getRemoteRealm

      public String getRemoteRealm()
    • makeReply

      protected abstract void makeReply() throws org.apache.kerby.kerberos.kerb.KrbException
      Make reply.
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e
    • checkVersion

      protected void checkVersion() throws org.apache.kerby.kerberos.kerb.KrbException
      Check Version.
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e
    • checkPolicy

      protected void checkPolicy() throws org.apache.kerby.kerberos.kerb.KrbException
      Check policy.
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e
    • checkClient

      protected abstract void checkClient() throws org.apache.kerby.kerberos.kerb.KrbException
      Check client.
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e
    • preauth

      protected void preauth() throws org.apache.kerby.kerberos.kerb.KrbException
      Do the preauth.
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e
    • setPreauthRequired

      protected void setPreauthRequired(boolean preauthRequired)
      Set whether preauth required.
      Parameters:
      preauthRequired - whether preauthentication required
    • isPreauthRequired

      protected boolean isPreauthRequired()
      Get whether preauth required.
      Returns:
      whether preauthentication is required
    • getPreauthHandler

      protected PreauthHandler getPreauthHandler()
      Get preauth handler.
      Returns:
      preauthencation handler
    • checkEncryptionType

      protected void checkEncryptionType() throws org.apache.kerby.kerberos.kerb.KrbException
      Check encryption type.
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e
    • authenticate

      protected void authenticate() throws org.apache.kerby.kerberos.kerb.KrbException
      Do some authenticate.
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e
    • issueTicket

      protected abstract void issueTicket() throws org.apache.kerby.kerberos.kerb.KrbException
      Issue ticket.
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e
    • makePreAuthenticationError

      protected org.apache.kerby.kerberos.kerb.type.base.KrbError makePreAuthenticationError(KdcContext kdcContext, org.apache.kerby.kerberos.kerb.type.kdc.KdcReq request, org.apache.kerby.kerberos.kerb.KrbErrorCode errorCode, boolean pkinit) throws org.apache.kerby.kerberos.kerb.KrbException
      Make preauthentication error.
      Parameters:
      kdcContext - kdc context
      request - kdc request
      errorCode - krb error code
      Returns:
      The krb error reply to client
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e
    • getEntry

      protected org.apache.kerby.kerberos.kerb.request.KrbIdentity getEntry(String principal) throws org.apache.kerby.kerberos.kerb.KrbException
      Get identity entry with principal name.
      Parameters:
      principal - Principal
      Returns:
      krb identity entry
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e
    • getRequestBody

      protected ByteBuffer getRequestBody() throws org.apache.kerby.kerberos.kerb.KrbException
      Get request body.
      Returns:
      request body
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e
    • getArmorKey

      public org.apache.kerby.kerberos.kerb.type.base.EncryptionKey getArmorKey() throws org.apache.kerby.kerberos.kerb.KrbException
      Get armor key.
      Returns:
      armor key
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e
    • setArmorKey

      protected void setArmorKey(org.apache.kerby.kerberos.kerb.type.base.EncryptionKey armorKey)
      Set armor key.
      Parameters:
      armorKey - armor key
    • getClientPrincipal

      public org.apache.kerby.kerberos.kerb.type.base.PrincipalName getClientPrincipal()
      Get client principal.
      Returns:
      client principal
    • setClientPrincipal

      public void setClientPrincipal(org.apache.kerby.kerberos.kerb.type.base.PrincipalName clientPrincipal)
      Set client principal.
      Parameters:
      clientPrincipal - client principal
    • getServerPrincipal

      public org.apache.kerby.kerberos.kerb.type.base.PrincipalName getServerPrincipal()
      Get server principal.
      Returns:
      server principal
    • setServerPrincipal

      public void setServerPrincipal(org.apache.kerby.kerberos.kerb.type.base.PrincipalName serverPrincipal)
      Set server principal.
      Parameters:
      serverPrincipal - server principal
    • getInnerBodyout

      protected byte[] getInnerBodyout()
      Get innerbodyout.
      Returns:
      inner body out
    • isToken

      protected boolean isToken()
      Get whether kdc request with token.
      Returns:
      whether isToken
    • isHttps

      public boolean isHttps()
    • setHttps

      public void setHttps(boolean https)
    • setToken

      public void setToken(org.apache.kerby.kerberos.kerb.type.base.AuthToken authToken)
      Set auth token.
      Parameters:
      authToken - The auth token
    • getToken

      protected org.apache.kerby.kerberos.kerb.type.base.AuthToken getToken()
      Get auth token.
      Returns:
      token
    • isPkinit

      protected boolean isPkinit()
    • isAnonymous

      public boolean isAnonymous()
    • getKdcOptions

      public org.apache.kerby.kerberos.kerb.type.kdc.KdcOptions getKdcOptions()
    • setReqPackage

      public void setReqPackage(ByteBuffer reqPackage)
    • getReqPackage

      public ByteBuffer getReqPackage()