org.apache.directory.shared.kerberos.messages
Class KrbError

java.lang.Object
  extended by org.apache.directory.shared.asn1.AbstractAsn1Object
      extended by org.apache.directory.shared.kerberos.messages.KerberosMessage
          extended by org.apache.directory.shared.kerberos.messages.KrbError
All Implemented Interfaces:
org.apache.directory.shared.asn1.Asn1Object

public class KrbError
extends KerberosMessage

Class representing KRB-ERROR message

 KRB-ERROR       ::= [APPLICATION 30] SEQUENCE {
      pvno            [0] INTEGER (5),
      msg-type        [1] INTEGER (30),
      ctime           [2] KerberosTime OPTIONAL,
      cusec           [3] Microseconds OPTIONAL,
      stime           [4] KerberosTime,
      susec           [5] Microseconds,
      error-code      [6] Int32,
      crealm          [7] Realm OPTIONAL,
      cname           [8] PrincipalName OPTIONAL,
      realm           [9] Realm -- service realm --,
      sname           [10] PrincipalName -- service name --,
      e-text          [11] KerberosString OPTIONAL,
      e-data          [12] OCTET STRING OPTIONAL
 }
 

Author:
Apache Directory Project

Constructor Summary
KrbError()
          Creates a new instance of KrbError.
 
Method Summary
 int computeLength()
          Compute the KRB-ERROR length
 ByteBuffer encode(ByteBuffer buffer)
          Encode the KRB-ERROR message to a PDU.
 PrincipalName getCName()
           
 String getCRealm()
           
 KerberosTime getCTime()
           
 int getCusec()
           
 byte[] getEData()
           
 ErrorType getErrorCode()
           
 String getEText()
           
 String getRealm()
           
 PrincipalName getSName()
           
 KerberosTime getSTime()
           
 int getSusec()
           
 void setCName(PrincipalName cName)
           
 void setCRealm(String cRealm)
           
 void setCTime(KerberosTime cTime)
           
 void setCusec(int cusec)
           
 void setEData(byte[] eData)
           
 void setErrorCode(ErrorType errorCode)
           
 void setEText(String eText)
           
 void setRealm(String realm)
           
 void setSName(PrincipalName sName)
           
 void setSTime(KerberosTime sTime)
           
 void setSusec(int susec)
           
 String toString()
           
 
Methods inherited from class org.apache.directory.shared.kerberos.messages.KerberosMessage
getMessageType, getProtocolVersionNumber, setMessageType, setProtocolVersionNumber
 
Methods inherited from class org.apache.directory.shared.asn1.AbstractAsn1Object
addLength, getCurrentLength, getExpectedLength, getParent, getTlvId, setCurrentLength, setExpectedLength, setParent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

KrbError

public KrbError()
Creates a new instance of KrbError.

Method Detail

getCTime

public KerberosTime getCTime()
Returns:
the cTime

setCTime

public void setCTime(KerberosTime cTime)
Parameters:
cTime - the cTime to set

getCusec

public int getCusec()
Returns:
the cusec

setCusec

public void setCusec(int cusec)
Parameters:
cusec - the cusec to set

getSTime

public KerberosTime getSTime()
Returns:
the sTime

setSTime

public void setSTime(KerberosTime sTime)
Parameters:
sTime - the sTime to set

getSusec

public int getSusec()
Returns:
the susec

setSusec

public void setSusec(int susec)
Parameters:
susec - the susec to set

getErrorCode

public ErrorType getErrorCode()
Returns:
the errorCode

setErrorCode

public void setErrorCode(ErrorType errorCode)
Parameters:
errorCode - the errorCode to set

getCRealm

public String getCRealm()
Returns:
the cRealm

setCRealm

public void setCRealm(String cRealm)
Parameters:
cRealm - the cRealm to set

getCName

public PrincipalName getCName()
Returns:
the cName

setCName

public void setCName(PrincipalName cName)
Parameters:
cName - the cName to set

getRealm

public String getRealm()
Returns:
the realm

setRealm

public void setRealm(String realm)
Parameters:
realm - the realm to set

getSName

public PrincipalName getSName()
Returns:
the sName

setSName

public void setSName(PrincipalName sName)
Parameters:
sName - the sName to set

getEText

public String getEText()
Returns:
the eText

setEText

public void setEText(String eText)
Parameters:
eText - the eText to set

getEData

public byte[] getEData()
Returns:
the eData

setEData

public void setEData(byte[] eData)
Parameters:
eData - the eData to set

computeLength

public int computeLength()
Compute the KRB-ERROR length
 KRB-ERROR :
 
 0x7E L1 KRB-ERROR APPLICATION[30]
  |
  +--> 0x30 L2 KRB-ERROR sequence
        |
        +--> 0xA0 0x03 pvno tag
        |     |
        |     +--> 0x02 0x01 0x05 pvno (5)
        |
        +--> 0xA1 0x03 msg-type tag
        |     |
        |     +--> 0x02 0x01 0x1E msg-type (30)
        |     
        +--> 0xA2 0x11 ctime tag
        |     |
        |     +--> 0x18 0x0F ttt ctime (KerberosTime)
        |     
        +--> 0xA3 L3 cusec tag
        |     |
        |     +--> 0x02 L3-1 cusec
        |     
        +--> 0xA4 0x11 stime tag
        |     |
        |     +--> 0x18 0x0F ttt stime (KerberosTime)
        |     
        +--> 0xA5 L4 susec tag
        |     |
        |     +--> 0x02 L4-1 susec (KerberosTime)
        |     
        +--> 0xA6 L5 error-code tag
        |     |
        |     +--> 0x02 L5-1 nnn error-code
        |     
        +--> 0xA7 L6 crealm tag
        |     |
        |     +--> 0x1B L6-1 crealm (KerberosString)
        |     
        +--> 0xA8 L7 cname tag
        |     |
        |     +--> 0x30 L7-1 cname (PrincipalName)
        |
        +--> 0xA9 L8 realm tag
        |     |
        |     +--> 0x1B L8-1 realm (KerberosString)
        |     
        +--> 0xAA L9 sname tag
        |     |
        |     +--> 0x30 L9-1 sname (PrincipalName)
        |     
        +--> 0xAB L10 e-text tag
        |     |
        |     +--> 0x1B L10-1 e-text (KerberosString)
        |
        +--> 0xAC L11 e-data
              |
              +--> 0x04 L11-1 e-data (Octet String)
 


encode

public ByteBuffer encode(ByteBuffer buffer)
                  throws org.apache.directory.shared.asn1.EncoderException
Encode the KRB-ERROR message to a PDU.
 KRB-ERROR :
 
 0x7E LL
   0x30 LL
     0xA0 0x03 
       0x02 0x01 0x05  pvno 
     0xA1 0x03 
       0x02 0x01 0x1E msg-type
    [0xA2 0x11
       0x18 0x0F ttt] ctime
    [0xA3 LL
       0x02 LL nnn] cusec
     0xA4 0x11
       0x18 0x0F ttt  stime
     0xA5 LL
       0x02 LL nnn susec
     0xA6 LL
       0x02 LL nnn error-code
    [0xA7 LL
       0x1B LL abcd] crealm
    [0xA8 LL
       0x30 LL abcd] cname
     0xA9 LL
       0x1B LL abcd realm
     0xAA LL
       0x30 LL abcd sname
    [0xAB LL
       0x1B LL abcd] e-text
    [0xAC LL
       0x04 LL abcd] e-data
 

Specified by:
encode in interface org.apache.directory.shared.asn1.Asn1Object
Overrides:
encode in class org.apache.directory.shared.asn1.AbstractAsn1Object
Returns:
The constructed PDU.
Throws:
org.apache.directory.shared.asn1.EncoderException

toString

public String toString()
Overrides:
toString in class Object
See Also:
Object.toString()


Copyright © 2003-2012 The Apache Software Foundation. All Rights Reserved.