< prev index next >

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

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 2017, 2019 Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this --- 1,7 ---- /* ! * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this
*** 33,44 **** import sun.security.krb5.internal.crypto.EType; import sun.security.util.*; import sun.security.krb5.Asn1Exception; import java.io.IOException; - import java.util.Vector; - import sun.security.krb5.internal.util.KerberosString; /** * Implements the ASN.1 PA-DATA type. * --- 33,42 ----
*** 140,184 **** public byte[] getValue() { return ((pADataValue == null) ? null : pADataValue.clone()); } /** - * Parse (unmarshal) a PAData from a DER input stream. This form - * parsing might be used when expanding a value which is part of - * a constructed sequence and uses explicitly tagged type. - * - * @exception Asn1Exception if an Asn1Exception occurs. - * @param data the Der input stream value, which contains one or more - * marshaled values. - * @param explicitTag tag number. - * @param optional indicates if this data field is optional. - * @return an array of PAData. - */ - public static PAData[] parseSequence(DerInputStream data, - byte explicitTag, boolean optional) - throws Asn1Exception, IOException { - if ((optional) && - (((byte)data.peekByte() & (byte)0x1F) != explicitTag)) - return null; - DerValue subDer = data.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[] pas = new PAData[v.size()]; - v.copyInto(pas); - return pas; - } - return null; - } - - /** * Gets the preferred etype from the PAData array. * <ol> * <li>ETYPE-INFO2-ENTRY with unknown s2kparams ignored</li> * <li>ETYPE-INFO2 preferred to ETYPE-INFO</li> * <li>Multiple entries for same etype in one PA-DATA, use the first one.</li> --- 138,147 ----
< prev index next >