package org.bouncycastle.asn1.x500.style; import java.io.IOException; import java.util.Enumeration; import java.util.Hashtable; import org.bouncycastle.asn1.ASN1Encodable; import org.bouncycastle.asn1.ASN1ObjectIdentifier; import org.bouncycastle.asn1.ASN1ParsingException; import org.bouncycastle.asn1.DERUTF8String; import org.bouncycastle.asn1.x500.AttributeTypeAndValue; import org.bouncycastle.asn1.x500.RDN; import org.bouncycastle.asn1.x500.X500Name; import org.bouncycastle.asn1.x500.X500NameStyle; /* loaded from: classes6.dex */ public abstract class AbstractX500NameStyle implements X500NameStyle { @Override // org.bouncycastle.asn1.x500.X500NameStyle public ASN1Encodable stringToValue(ASN1ObjectIdentifier aSN1ObjectIdentifier, String str) { if (str.length() == 0 || str.charAt(0) != '#') { if (str.length() != 0 && str.charAt(0) == '\\') { str = str.substring(1); } return encodeStringValue(aSN1ObjectIdentifier, str); } try { return IETFUtils.valueFromHexString(str, 1); } catch (IOException unused) { StringBuilder sb = new StringBuilder("can't recode value for oid "); sb.append(aSN1ObjectIdentifier.getId()); throw new ASN1ParsingException(sb.toString()); } } /* JADX INFO: Access modifiers changed from: protected */ public boolean rdnAreEqual(RDN rdn, RDN rdn2) { return IETFUtils.rDNAreEqual(rdn, rdn2); } /* JADX INFO: Access modifiers changed from: protected */ public ASN1Encodable encodeStringValue(ASN1ObjectIdentifier aSN1ObjectIdentifier, String str) { return new DERUTF8String(str); } @Override // org.bouncycastle.asn1.x500.X500NameStyle public int calculateHashCode(X500Name x500Name) { RDN[] rDNs = x500Name.getRDNs(); int i = 0; for (int i2 = 0; i2 != rDNs.length; i2++) { if (rDNs[i2].isMultiValued()) { AttributeTypeAndValue[] typesAndValues = rDNs[i2].getTypesAndValues(); for (int i3 = 0; i3 != typesAndValues.length; i3++) { i = (i ^ typesAndValues[i3].getType().hashCode()) ^ calcHashCode(typesAndValues[i3].getValue()); } } else { i = (i ^ rDNs[i2].getFirst().getType().hashCode()) ^ calcHashCode(rDNs[i2].getFirst().getValue()); } } return i; } @Override // org.bouncycastle.asn1.x500.X500NameStyle public boolean areEqual(X500Name x500Name, X500Name x500Name2) { RDN[] rDNs = x500Name.getRDNs(); RDN[] rDNs2 = x500Name2.getRDNs(); if (rDNs.length != rDNs2.length) { return false; } boolean z = (rDNs[0].getFirst() == null || rDNs2[0].getFirst() == null) ? false : !rDNs[0].getFirst().getType().equals(rDNs2[0].getFirst().getType()); for (int i = 0; i != rDNs.length; i++) { if (!foundMatch(z, rDNs[i], rDNs2)) { return false; } } return true; } private boolean foundMatch(boolean z, RDN rdn, RDN[] rdnArr) { if (z) { for (int length = rdnArr.length - 1; length >= 0; length--) { RDN rdn2 = rdnArr[length]; if (rdn2 != null && rdnAreEqual(rdn, rdn2)) { rdnArr[length] = null; return true; } } } else { for (int i = 0; i != rdnArr.length; i++) { RDN rdn3 = rdnArr[i]; if (rdn3 != null && rdnAreEqual(rdn, rdn3)) { rdnArr[i] = null; return true; } } } return false; } public static Hashtable copyHashTable(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 int calcHashCode(ASN1Encodable aSN1Encodable) { return IETFUtils.canonicalize(IETFUtils.valueToString(aSN1Encodable)).hashCode(); } }