what-the-bank/sources/org/bouncycastle/asn1/cms/AttributeTable.java

139 lines
5.0 KiB
Java

package org.bouncycastle.asn1.cms;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Vector;
import org.bouncycastle.asn1.ASN1Encodable;
import org.bouncycastle.asn1.ASN1EncodableVector;
import org.bouncycastle.asn1.ASN1ObjectIdentifier;
import org.bouncycastle.asn1.ASN1Set;
import org.bouncycastle.asn1.DERSet;
/* loaded from: classes6.dex */
public class AttributeTable {
private Hashtable attributes;
public Hashtable toHashtable() {
return copyTable(this.attributes);
}
public Attributes toASN1Structure() {
return new Attributes(toASN1EncodableVector());
}
public ASN1EncodableVector toASN1EncodableVector() {
ASN1EncodableVector aSN1EncodableVector = new ASN1EncodableVector();
Enumeration elements = this.attributes.elements();
while (elements.hasMoreElements()) {
Object nextElement = elements.nextElement();
if (nextElement instanceof Vector) {
Enumeration elements2 = ((Vector) nextElement).elements();
while (elements2.hasMoreElements()) {
aSN1EncodableVector.add(Attribute.getInstance(elements2.nextElement()));
}
} else {
aSN1EncodableVector.add(Attribute.getInstance(nextElement));
}
}
return aSN1EncodableVector;
}
public int size() {
Enumeration elements = this.attributes.elements();
int i = 0;
while (elements.hasMoreElements()) {
Object nextElement = elements.nextElement();
i = nextElement instanceof Vector ? i + ((Vector) nextElement).size() : i + 1;
}
return i;
}
public AttributeTable remove(ASN1ObjectIdentifier aSN1ObjectIdentifier) {
AttributeTable attributeTable = new AttributeTable(this.attributes);
attributeTable.attributes.remove(aSN1ObjectIdentifier);
return attributeTable;
}
public ASN1EncodableVector getAll(ASN1ObjectIdentifier aSN1ObjectIdentifier) {
ASN1EncodableVector aSN1EncodableVector = new ASN1EncodableVector();
Object obj = this.attributes.get(aSN1ObjectIdentifier);
if (obj instanceof Vector) {
Enumeration elements = ((Vector) obj).elements();
while (elements.hasMoreElements()) {
aSN1EncodableVector.add((Attribute) elements.nextElement());
}
} else if (obj != null) {
aSN1EncodableVector.add((Attribute) obj);
}
return aSN1EncodableVector;
}
public Attribute get(ASN1ObjectIdentifier aSN1ObjectIdentifier) {
Object obj = this.attributes.get(aSN1ObjectIdentifier);
return obj instanceof Vector ? (Attribute) ((Vector) obj).elementAt(0) : (Attribute) obj;
}
public AttributeTable add(ASN1ObjectIdentifier aSN1ObjectIdentifier, ASN1Encodable aSN1Encodable) {
AttributeTable attributeTable = new AttributeTable(this.attributes);
attributeTable.addAttribute(aSN1ObjectIdentifier, new Attribute(aSN1ObjectIdentifier, new DERSet(aSN1Encodable)));
return attributeTable;
}
private Hashtable copyTable(Hashtable hashtable) {
Hashtable hashtable2 = new Hashtable();
Enumeration keys = hashtable.keys();
while (keys.hasMoreElements()) {
Object nextElement = keys.nextElement();
hashtable2.put(nextElement, hashtable.get(nextElement));
}
return hashtable2;
}
private void addAttribute(ASN1ObjectIdentifier aSN1ObjectIdentifier, Attribute attribute) {
Vector vector;
Object obj = this.attributes.get(aSN1ObjectIdentifier);
if (obj == null) {
this.attributes.put(aSN1ObjectIdentifier, attribute);
return;
}
if (obj instanceof Attribute) {
vector = new Vector();
vector.addElement(obj);
} else {
vector = (Vector) obj;
}
vector.addElement(attribute);
this.attributes.put(aSN1ObjectIdentifier, vector);
}
public AttributeTable(Attributes attributes) {
this(ASN1Set.getInstance(attributes.toASN1Primitive()));
}
public AttributeTable(Attribute attribute) {
this.attributes = new Hashtable();
addAttribute(attribute.getAttrType(), attribute);
}
public AttributeTable(ASN1Set aSN1Set) {
this.attributes = new Hashtable();
for (int i = 0; i != aSN1Set.size(); i++) {
Attribute attribute = Attribute.getInstance(aSN1Set.getObjectAt(i));
addAttribute(attribute.getAttrType(), attribute);
}
}
public AttributeTable(ASN1EncodableVector aSN1EncodableVector) {
this.attributes = new Hashtable();
for (int i = 0; i != aSN1EncodableVector.size(); i++) {
Attribute attribute = Attribute.getInstance(aSN1EncodableVector.get(i));
addAttribute(attribute.getAttrType(), attribute);
}
}
public AttributeTable(Hashtable hashtable) {
this.attributes = new Hashtable();
this.attributes = copyTable(hashtable);
}
}