< prev index next >

src/java.security.jgss/share/classes/sun/security/krb5/internal/KDCReq.java

Print this page

        

*** 57,69 **** * http://www.ietf.org/rfc/rfc4120.txt</a>. */ public class KDCReq { public KDCReqBody reqBody; - public PAData[] pAData = null; //optional private int pvno; private int msgType; public KDCReq(PAData[] new_pAData, KDCReqBody new_reqBody, int req_type) throws IOException { pvno = Krb5.PVNO; msgType = req_type; --- 57,69 ---- * http://www.ietf.org/rfc/rfc4120.txt</a>. */ public class KDCReq { public KDCReqBody reqBody; private int pvno; private int msgType; + private PAData[] pAData = null; //optional public KDCReq(PAData[] new_pAData, KDCReqBody new_reqBody, int req_type) throws IOException { pvno = Krb5.PVNO; msgType = req_type;
*** 142,152 **** throw new KrbApErrException(Krb5.KRB_AP_ERR_MSG_TYPE); } } else { throw new Asn1Exception(Krb5.ASN1_BAD_ID); } ! pAData = PAData.parseSequence(der.getData(), (byte) 0x03, true); subDer = der.getData().getDerValue(); if ((subDer.getTag() & 0x01F) == 0x04) { DerValue subsubDer = subDer.getData().getDerValue(); reqBody = new KDCReqBody(subsubDer, msgType); } else { --- 142,168 ---- throw new KrbApErrException(Krb5.KRB_AP_ERR_MSG_TYPE); } } else { throw new Asn1Exception(Krb5.ASN1_BAD_ID); } ! if ((der.getData().peekByte() & 0x1F) == 0x03) { ! subDer = der.getData().getDerValue(); ! DerValue subsubDer = subDer.getData().getDerValue(); ! if (subsubDer.getTag() != DerValue.tag_SequenceOf) { ! throw new Asn1Exception(Krb5.ASN1_BAD_ID); ! } ! Vector<PAData> v = new Vector<>(); ! while (subsubDer.getData().available() > 0) { ! v.addElement(new PAData(subsubDer.getData().getDerValue())); ! } ! if (v.size() > 0) { ! pAData = new PAData[v.size()]; ! v.copyInto(pAData); ! } ! } else { ! pAData = null; ! } subDer = der.getData().getDerValue(); if ((subDer.getTag() & 0x01F) == 0x04) { DerValue subsubDer = subDer.getData().getDerValue(); reqBody = new KDCReqBody(subsubDer, msgType); } else {
< prev index next >