mirror of
https://github.com/openjdk/jdk.git
synced 2026-03-03 04:30:06 +00:00
8273299: Unnecessary Vector usage in java.security.jgss
Reviewed-by: weijun
This commit is contained in:
parent
b98ed55060
commit
c9dec2f984
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2021, 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
|
||||
@ -405,12 +405,12 @@ public class GSSCredentialImpl implements GSSCredential {
|
||||
throw new IllegalStateException("This credential is " +
|
||||
"no longer valid");
|
||||
}
|
||||
Vector<Oid> result = new Vector<Oid>(hashtable.size());
|
||||
ArrayList<Oid> result = new ArrayList<Oid>(hashtable.size());
|
||||
|
||||
for (Enumeration<SearchKey> e = hashtable.keys();
|
||||
e.hasMoreElements(); ) {
|
||||
SearchKey tempKey = e.nextElement();
|
||||
result.addElement(tempKey.getMech());
|
||||
result.add(tempKey.getMech());
|
||||
}
|
||||
return result.toArray(new Oid[0]);
|
||||
}
|
||||
|
||||
@ -34,7 +34,7 @@ package sun.security.krb5;
|
||||
import sun.security.krb5.internal.*;
|
||||
import sun.security.util.*;
|
||||
import java.net.*;
|
||||
import java.util.Vector;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Locale;
|
||||
import java.io.IOException;
|
||||
import java.math.BigInteger;
|
||||
@ -270,15 +270,14 @@ public class PrincipalName implements Cloneable {
|
||||
if (subDer.getTag() != DerValue.tag_SequenceOf) {
|
||||
throw new Asn1Exception(Krb5.ASN1_BAD_ID);
|
||||
}
|
||||
Vector<String> v = new Vector<>();
|
||||
ArrayList<String> v = new ArrayList<>();
|
||||
DerValue subSubDer;
|
||||
while(subDer.getData().available() > 0) {
|
||||
subSubDer = subDer.getData().getDerValue();
|
||||
String namePart = new KerberosString(subSubDer).toString();
|
||||
v.addElement(namePart);
|
||||
v.add(namePart);
|
||||
}
|
||||
nameStrings = new String[v.size()];
|
||||
v.copyInto(nameStrings);
|
||||
nameStrings = v.toArray(new String[0]);
|
||||
validateNameStrings(nameStrings);
|
||||
} else {
|
||||
throw new Asn1Exception(Krb5.ASN1_BAD_ID);
|
||||
@ -326,7 +325,7 @@ public class PrincipalName implements Cloneable {
|
||||
// Code repetition, realm parsed again by class Realm
|
||||
private static String[] parseName(String name) {
|
||||
|
||||
Vector<String> tempStrings = new Vector<>();
|
||||
ArrayList<String> tempStrings = new ArrayList<>();
|
||||
String temp = name;
|
||||
int i = 0;
|
||||
int componentStart = 0;
|
||||
@ -346,7 +345,7 @@ public class PrincipalName implements Cloneable {
|
||||
else {
|
||||
if (componentStart <= i) {
|
||||
component = temp.substring(componentStart, i);
|
||||
tempStrings.addElement(component);
|
||||
tempStrings.add(component);
|
||||
}
|
||||
componentStart = i + 1;
|
||||
}
|
||||
@ -363,7 +362,7 @@ public class PrincipalName implements Cloneable {
|
||||
} else {
|
||||
if (componentStart < i) {
|
||||
component = temp.substring(componentStart, i);
|
||||
tempStrings.addElement(component);
|
||||
tempStrings.add(component);
|
||||
}
|
||||
componentStart = i + 1;
|
||||
break;
|
||||
@ -375,11 +374,10 @@ public class PrincipalName implements Cloneable {
|
||||
|
||||
if (i == temp.length()) {
|
||||
component = temp.substring(componentStart, i);
|
||||
tempStrings.addElement(component);
|
||||
tempStrings.add(component);
|
||||
}
|
||||
|
||||
String[] result = new String[tempStrings.size()];
|
||||
tempStrings.copyInto(result);
|
||||
String[] result = tempStrings.toArray(new String[0]);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@ -31,7 +31,7 @@ package sun.security.krb5.internal;
|
||||
|
||||
import sun.security.krb5.*;
|
||||
import sun.security.util.*;
|
||||
import java.util.Vector;
|
||||
import java.util.ArrayList;
|
||||
import java.io.IOException;
|
||||
import java.math.BigInteger;
|
||||
|
||||
@ -173,33 +173,32 @@ public class Authenticator {
|
||||
* @exception IOException if an I/O error occurs while reading encoded data.
|
||||
*/
|
||||
public byte[] asn1Encode() throws Asn1Exception, IOException {
|
||||
Vector<DerValue> v = new Vector<>();
|
||||
ArrayList<DerValue> v = new ArrayList<>();
|
||||
DerOutputStream temp = new DerOutputStream();
|
||||
temp.putInteger(BigInteger.valueOf(authenticator_vno));
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte) 0x00), temp.toByteArray()));
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte) 0x01), cname.getRealm().asn1Encode()));
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte) 0x02), cname.asn1Encode()));
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte) 0x00), temp.toByteArray()));
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte) 0x01), cname.getRealm().asn1Encode()));
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte) 0x02), cname.asn1Encode()));
|
||||
if (cksum != null) {
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte) 0x03), cksum.asn1Encode()));
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte) 0x03), cksum.asn1Encode()));
|
||||
}
|
||||
temp = new DerOutputStream();
|
||||
temp.putInteger(BigInteger.valueOf(cusec));
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte) 0x04), temp.toByteArray()));
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte) 0x05), ctime.asn1Encode()));
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte) 0x04), temp.toByteArray()));
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte) 0x05), ctime.asn1Encode()));
|
||||
if (subKey != null) {
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte) 0x06), subKey.asn1Encode()));
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte) 0x06), subKey.asn1Encode()));
|
||||
}
|
||||
if (seqNumber != null) {
|
||||
temp = new DerOutputStream();
|
||||
// encode as an unsigned integer (UInt32)
|
||||
temp.putInteger(BigInteger.valueOf(seqNumber.longValue()));
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte) 0x07), temp.toByteArray()));
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte) 0x07), temp.toByteArray()));
|
||||
}
|
||||
if (authorizationData != null) {
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte) 0x08), authorizationData.asn1Encode()));
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte) 0x08), authorizationData.asn1Encode()));
|
||||
}
|
||||
DerValue[] der = new DerValue[v.size()];
|
||||
v.copyInto(der);
|
||||
DerValue[] der = v.toArray(new DerValue[0]);
|
||||
temp = new DerOutputStream();
|
||||
temp.putSequence(der);
|
||||
DerOutputStream out = new DerOutputStream();
|
||||
|
||||
@ -32,7 +32,7 @@ package sun.security.krb5.internal;
|
||||
|
||||
import sun.security.util.*;
|
||||
import sun.security.krb5.Asn1Exception;
|
||||
import java.util.Vector;
|
||||
import java.util.ArrayList;
|
||||
import java.io.IOException;
|
||||
import sun.security.krb5.internal.ccache.CCacheOutputStream;
|
||||
|
||||
@ -99,16 +99,15 @@ public class AuthorizationData implements Cloneable {
|
||||
* @exception IOException if an I/O error occurs while reading encoded data.
|
||||
*/
|
||||
public AuthorizationData(DerValue der) throws Asn1Exception, IOException {
|
||||
Vector<AuthorizationDataEntry> v = new Vector<>();
|
||||
ArrayList<AuthorizationDataEntry> v = new ArrayList<>();
|
||||
if (der.getTag() != DerValue.tag_Sequence) {
|
||||
throw new Asn1Exception(Krb5.ASN1_BAD_ID);
|
||||
}
|
||||
while (der.getData().available() > 0) {
|
||||
v.addElement(new AuthorizationDataEntry(der.getData().getDerValue()));
|
||||
v.add(new AuthorizationDataEntry(der.getData().getDerValue()));
|
||||
}
|
||||
if (v.size() > 0) {
|
||||
entry = new AuthorizationDataEntry[v.size()];
|
||||
v.copyInto(entry);
|
||||
entry = v.toArray(new AuthorizationDataEntry[0]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -32,7 +32,7 @@ package sun.security.krb5.internal;
|
||||
|
||||
import sun.security.krb5.*;
|
||||
import sun.security.util.*;
|
||||
import java.util.Vector;
|
||||
import java.util.ArrayList;
|
||||
import java.io.IOException;
|
||||
import java.math.BigInteger;
|
||||
|
||||
@ -133,26 +133,25 @@ public class EncAPRepPart {
|
||||
* @exception IOException if an I/O error occurs while reading encoded data.
|
||||
*/
|
||||
public byte[] asn1Encode() throws Asn1Exception, IOException {
|
||||
Vector<DerValue> v = new Vector<>();
|
||||
ArrayList<DerValue> v = new ArrayList<>();
|
||||
DerOutputStream temp = new DerOutputStream();
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT,
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT,
|
||||
true, (byte) 0x00), ctime.asn1Encode()));
|
||||
temp.putInteger(BigInteger.valueOf(cusec));
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT,
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT,
|
||||
true, (byte) 0x01), temp.toByteArray()));
|
||||
if (subKey != null) {
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT,
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT,
|
||||
true, (byte) 0x02), subKey.asn1Encode()));
|
||||
}
|
||||
if (seqNumber != null) {
|
||||
temp = new DerOutputStream();
|
||||
// encode as an unsigned integer (UInt32)
|
||||
temp.putInteger(BigInteger.valueOf(seqNumber.longValue()));
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT,
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT,
|
||||
true, (byte) 0x03), temp.toByteArray()));
|
||||
}
|
||||
DerValue[] der = new DerValue[v.size()];
|
||||
v.copyInto(der);
|
||||
DerValue[] der = v.toArray(new DerValue[0]);
|
||||
temp = new DerOutputStream();
|
||||
temp.putSequence(der);
|
||||
DerOutputStream out = new DerOutputStream();
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2021, 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
|
||||
@ -178,15 +178,14 @@ public class HostAddresses implements Cloneable {
|
||||
*/
|
||||
public HostAddresses(DerValue encoding)
|
||||
throws Asn1Exception, IOException {
|
||||
Vector<HostAddress> tempAddresses = new Vector<>();
|
||||
ArrayList<HostAddress> tempAddresses = new ArrayList<>();
|
||||
DerValue der = null;
|
||||
while (encoding.getData().available() > 0) {
|
||||
der = encoding.getData().getDerValue();
|
||||
tempAddresses.addElement(new HostAddress(der));
|
||||
tempAddresses.add(new HostAddress(der));
|
||||
}
|
||||
if (tempAddresses.size() > 0) {
|
||||
addresses = new HostAddress[tempAddresses.size()];
|
||||
tempAddresses.copyInto(addresses);
|
||||
addresses = tempAddresses.toArray(new HostAddress[0]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -32,7 +32,7 @@ package sun.security.krb5.internal;
|
||||
|
||||
import sun.security.krb5.*;
|
||||
import sun.security.util.*;
|
||||
import java.util.Vector;
|
||||
import java.util.ArrayList;
|
||||
import java.io.IOException;
|
||||
import java.math.BigInteger;
|
||||
|
||||
@ -165,17 +165,17 @@ public class KDCReqBody {
|
||||
throw new Asn1Exception(Krb5.ASN1_BAD_ID);
|
||||
}
|
||||
der = encoding.getData().getDerValue();
|
||||
Vector<Integer> v = new Vector<>();
|
||||
if ((der.getTag() & (byte)0x1F) == (byte)0x08) {
|
||||
subDer = der.getData().getDerValue();
|
||||
|
||||
if (subDer.getTag() == DerValue.tag_SequenceOf) {
|
||||
ArrayList<Integer> v = new ArrayList<>();
|
||||
while(subDer.getData().available() > 0) {
|
||||
v.addElement(subDer.getData().getBigInteger().intValue());
|
||||
v.add(subDer.getData().getBigInteger().intValue());
|
||||
}
|
||||
eType = new int[v.size()];
|
||||
for (int i = 0; i < v.size(); i++) {
|
||||
eType[i] = v.elementAt(i);
|
||||
eType[i] = v.get(i);
|
||||
}
|
||||
} else {
|
||||
throw new Asn1Exception(Krb5.ASN1_BAD_ID);
|
||||
@ -190,20 +190,19 @@ public class KDCReqBody {
|
||||
encAuthorizationData = EncryptedData.parse(encoding.getData(), (byte)0x0A, true);
|
||||
}
|
||||
if (encoding.getData().available() > 0) {
|
||||
Vector<Ticket> tempTickets = new Vector<>();
|
||||
der = encoding.getData().getDerValue();
|
||||
if ((der.getTag() & (byte)0x1F) == (byte)0x0B) {
|
||||
ArrayList<Ticket> tempTickets = new ArrayList<>();
|
||||
subDer = der.getData().getDerValue();
|
||||
if (subDer.getTag() == DerValue.tag_SequenceOf) {
|
||||
while (subDer.getData().available() > 0) {
|
||||
tempTickets.addElement(new Ticket(subDer.getData().getDerValue()));
|
||||
tempTickets.add(new Ticket(subDer.getData().getDerValue()));
|
||||
}
|
||||
} else {
|
||||
throw new Asn1Exception(Krb5.ASN1_BAD_ID);
|
||||
}
|
||||
if (tempTickets.size() > 0) {
|
||||
additionalTickets = new Ticket[tempTickets.size()];
|
||||
tempTickets.copyInto(additionalTickets);
|
||||
additionalTickets = tempTickets.toArray(new Ticket[0]);
|
||||
}
|
||||
} else {
|
||||
throw new Asn1Exception(Krb5.ASN1_BAD_ID);
|
||||
@ -223,29 +222,29 @@ public class KDCReqBody {
|
||||
*
|
||||
*/
|
||||
public byte[] asn1Encode(int msgType) throws Asn1Exception, IOException {
|
||||
Vector<DerValue> v = new Vector<>();
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x00), kdcOptions.asn1Encode()));
|
||||
ArrayList<DerValue> v = new ArrayList<>();
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x00), kdcOptions.asn1Encode()));
|
||||
if (msgType == Krb5.KRB_AS_REQ) {
|
||||
if (cname != null) {
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x01), cname.asn1Encode()));
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x01), cname.asn1Encode()));
|
||||
}
|
||||
}
|
||||
if (sname != null) {
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x02), sname.getRealm().asn1Encode()));
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x03), sname.asn1Encode()));
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x02), sname.getRealm().asn1Encode()));
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x03), sname.asn1Encode()));
|
||||
} else if (cname != null) {
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x02), cname.getRealm().asn1Encode()));
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x02), cname.getRealm().asn1Encode()));
|
||||
}
|
||||
if (from != null) {
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x04), from.asn1Encode()));
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x04), from.asn1Encode()));
|
||||
}
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x05), till.asn1Encode()));
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x05), till.asn1Encode()));
|
||||
if (rtime != null) {
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x06), rtime.asn1Encode()));
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x06), rtime.asn1Encode()));
|
||||
}
|
||||
DerOutputStream temp = new DerOutputStream();
|
||||
temp.putInteger(BigInteger.valueOf(nonce));
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x07), temp.toByteArray()));
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x07), temp.toByteArray()));
|
||||
//revisit, if empty eType sequences are allowed
|
||||
temp = new DerOutputStream();
|
||||
for (int i = 0; i < eType.length; i++) {
|
||||
@ -253,12 +252,12 @@ public class KDCReqBody {
|
||||
}
|
||||
DerOutputStream eTypetemp = new DerOutputStream();
|
||||
eTypetemp.write(DerValue.tag_SequenceOf, temp);
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x08), eTypetemp.toByteArray()));
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x08), eTypetemp.toByteArray()));
|
||||
if (addresses != null) {
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x09), addresses.asn1Encode()));
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x09), addresses.asn1Encode()));
|
||||
}
|
||||
if (encAuthorizationData != null) {
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x0A), encAuthorizationData.asn1Encode()));
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x0A), encAuthorizationData.asn1Encode()));
|
||||
}
|
||||
if (additionalTickets != null && additionalTickets.length > 0) {
|
||||
temp = new DerOutputStream();
|
||||
@ -267,10 +266,9 @@ public class KDCReqBody {
|
||||
}
|
||||
DerOutputStream ticketsTemp = new DerOutputStream();
|
||||
ticketsTemp.write(DerValue.tag_SequenceOf, temp);
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x0B), ticketsTemp.toByteArray()));
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x0B), ticketsTemp.toByteArray()));
|
||||
}
|
||||
DerValue[] der = new DerValue[v.size()];
|
||||
v.copyInto(der);
|
||||
DerValue[] der = v.toArray(new DerValue[0]);
|
||||
temp = new DerOutputStream();
|
||||
temp.putSequence(der);
|
||||
return temp.toByteArray();
|
||||
|
||||
@ -34,7 +34,7 @@ import sun.security.krb5.EncryptedData;
|
||||
import sun.security.krb5.Asn1Exception;
|
||||
import sun.security.krb5.RealmException;
|
||||
import sun.security.util.*;
|
||||
import java.util.Vector;
|
||||
import java.util.ArrayList;
|
||||
import java.io.IOException;
|
||||
import java.math.BigInteger;
|
||||
|
||||
@ -134,13 +134,12 @@ public class KRBCred {
|
||||
if (subsubDer.getTag() != DerValue.tag_SequenceOf) {
|
||||
throw new Asn1Exception(Krb5.ASN1_BAD_ID);
|
||||
}
|
||||
Vector<Ticket> v = new Vector<>();
|
||||
ArrayList<Ticket> v = new ArrayList<>();
|
||||
while (subsubDer.getData().available() > 0) {
|
||||
v.addElement(new Ticket(subsubDer.getData().getDerValue()));
|
||||
v.add(new Ticket(subsubDer.getData().getDerValue()));
|
||||
}
|
||||
if (v.size() > 0) {
|
||||
tickets = new Ticket[v.size()];
|
||||
v.copyInto(tickets);
|
||||
tickets = v.toArray(new Ticket[0]);
|
||||
}
|
||||
} else {
|
||||
throw new Asn1Exception(Krb5.ASN1_BAD_ID);
|
||||
|
||||
@ -32,7 +32,7 @@ package sun.security.krb5.internal;
|
||||
|
||||
import sun.security.krb5.*;
|
||||
import sun.security.util.*;
|
||||
import java.util.Vector;
|
||||
import java.util.ArrayList;
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
@ -150,30 +150,29 @@ public class KrbCredInfo {
|
||||
* @exception IOException if an I/O error occurs while reading encoded data.
|
||||
*/
|
||||
public byte[] asn1Encode() throws Asn1Exception, IOException {
|
||||
Vector<DerValue> v = new Vector<>();
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x00), key.asn1Encode()));
|
||||
ArrayList<DerValue> v = new ArrayList<>();
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x00), key.asn1Encode()));
|
||||
if (pname != null) {
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x01), pname.getRealm().asn1Encode()));
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x02), pname.asn1Encode()));
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x01), pname.getRealm().asn1Encode()));
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x02), pname.asn1Encode()));
|
||||
}
|
||||
if (flags != null)
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x03), flags.asn1Encode()));
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x03), flags.asn1Encode()));
|
||||
if (authtime != null)
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x04), authtime.asn1Encode()));
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x04), authtime.asn1Encode()));
|
||||
if (starttime != null)
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x05), starttime.asn1Encode()));
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x05), starttime.asn1Encode()));
|
||||
if (endtime != null)
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x06), endtime.asn1Encode()));
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x06), endtime.asn1Encode()));
|
||||
if (renewTill != null)
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x07), renewTill.asn1Encode()));
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x07), renewTill.asn1Encode()));
|
||||
if (sname != null) {
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x08), sname.getRealm().asn1Encode()));
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x09), sname.asn1Encode()));
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x08), sname.getRealm().asn1Encode()));
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x09), sname.asn1Encode()));
|
||||
}
|
||||
if (caddr != null)
|
||||
v.addElement(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x0A), caddr.asn1Encode()));
|
||||
DerValue[] der = new DerValue[v.size()];
|
||||
v.copyInto(der);
|
||||
v.add(new DerValue(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte)0x0A), caddr.asn1Encode()));
|
||||
DerValue[] der = v.toArray(new DerValue[0]);
|
||||
DerOutputStream out = new DerOutputStream();
|
||||
out.putSequence(der);
|
||||
return out.toByteArray();
|
||||
|
||||
@ -32,7 +32,7 @@ package sun.security.krb5.internal;
|
||||
|
||||
import sun.security.util.*;
|
||||
import sun.security.krb5.Asn1Exception;
|
||||
import java.util.Vector;
|
||||
import java.util.ArrayList;
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
@ -77,16 +77,15 @@ public class LastReq {
|
||||
*/
|
||||
|
||||
public LastReq(DerValue encoding) throws Asn1Exception, IOException {
|
||||
Vector<LastReqEntry> v= new Vector<>();
|
||||
ArrayList<LastReqEntry> v = new ArrayList<>();
|
||||
if (encoding.getTag() != DerValue.tag_Sequence) {
|
||||
throw new Asn1Exception(Krb5.ASN1_BAD_ID);
|
||||
}
|
||||
while (encoding.getData().available() > 0) {
|
||||
v.addElement(new LastReqEntry(encoding.getData().getDerValue()));
|
||||
v.add(new LastReqEntry(encoding.getData().getDerValue()));
|
||||
}
|
||||
if (v.size() > 0) {
|
||||
entry = new LastReqEntry[v.size()];
|
||||
v.copyInto(entry);
|
||||
entry = v.toArray(new LastReqEntry[0]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2017, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2017, 2021, 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
|
||||
@ -32,7 +32,7 @@
|
||||
package sun.security.krb5.internal;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Vector;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import static java.nio.charset.StandardCharsets.ISO_8859_1;
|
||||
import static java.nio.charset.StandardCharsets.UTF_8;
|
||||
@ -167,13 +167,12 @@ public class PAData {
|
||||
if (subsubDer.getTag() != DerValue.tag_SequenceOf) {
|
||||
throw new Asn1Exception(Krb5.ASN1_BAD_ID);
|
||||
}
|
||||
Vector<PAData> v = new Vector<>();
|
||||
ArrayList<PAData> v = new ArrayList<>();
|
||||
while (subsubDer.getData().available() > 0) {
|
||||
v.addElement(new PAData(subsubDer.getData().getDerValue()));
|
||||
v.add(new PAData(subsubDer.getData().getDerValue()));
|
||||
}
|
||||
if (v.size() > 0) {
|
||||
PAData[] pas = new PAData[v.size()];
|
||||
v.copyInto(pas);
|
||||
PAData[] pas = v.toArray(new PAData[0]);
|
||||
return pas;
|
||||
}
|
||||
return null;
|
||||
|
||||
@ -567,12 +567,11 @@ public class FileCredentialsCache extends CredentialsCache
|
||||
|
||||
private static String exec(String c) {
|
||||
StringTokenizer st = new StringTokenizer(c);
|
||||
Vector<String> v = new Vector<>();
|
||||
ArrayList<String> v = new ArrayList<>();
|
||||
while (st.hasMoreTokens()) {
|
||||
v.addElement(st.nextToken());
|
||||
v.add(st.nextToken());
|
||||
}
|
||||
final String[] command = new String[v.size()];
|
||||
v.copyInto(command);
|
||||
final String[] command = v.toArray(new String[0]);
|
||||
try {
|
||||
|
||||
@SuppressWarnings("removal")
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user