what-the-bank/sources/org/bouncycastle/asn1/DERPrintableString.java

123 lines
4.3 KiB
Java
Raw Normal View History

2024-07-27 18:17:47 +07:00
package org.bouncycastle.asn1;
import java.io.IOException;
import org.bouncycastle.util.Arrays;
import org.bouncycastle.util.Strings;
/* loaded from: classes6.dex */
public class DERPrintableString extends ASN1Primitive implements ASN1String {
private final byte[] string;
/* JADX INFO: Access modifiers changed from: package-private */
@Override // org.bouncycastle.asn1.ASN1Primitive
public boolean isConstructed() {
return false;
}
public String toString() {
return getString();
}
@Override // org.bouncycastle.asn1.ASN1Primitive, org.bouncycastle.asn1.ASN1Object
public int hashCode() {
return Arrays.hashCode(this.string);
}
@Override // org.bouncycastle.asn1.ASN1String
public String getString() {
return Strings.fromByteArray(this.string);
}
public byte[] getOctets() {
return Arrays.clone(this.string);
}
/* JADX INFO: Access modifiers changed from: package-private */
@Override // org.bouncycastle.asn1.ASN1Primitive
public int encodedLength() {
return StreamUtil.calculateBodyLength(this.string.length) + 1 + this.string.length;
}
/* JADX INFO: Access modifiers changed from: package-private */
@Override // org.bouncycastle.asn1.ASN1Primitive
public void encode(ASN1OutputStream aSN1OutputStream) throws IOException {
aSN1OutputStream.writeEncoded(19, this.string);
}
@Override // org.bouncycastle.asn1.ASN1Primitive
boolean asn1Equals(ASN1Primitive aSN1Primitive) {
if (aSN1Primitive instanceof DERPrintableString) {
return Arrays.areEqual(this.string, ((DERPrintableString) aSN1Primitive).string);
}
return false;
}
public static boolean isPrintableString(String str) {
for (int length = str.length() - 1; length >= 0; length--) {
char charAt = str.charAt(length);
if (charAt > 127) {
return false;
}
if (('a' > charAt || charAt > 'z') && (('A' > charAt || charAt > 'Z') && (('0' > charAt || charAt > '9') && charAt != ' ' && charAt != ':' && charAt != '=' && charAt != '?'))) {
switch (charAt) {
case '\'':
case '(':
case ')':
continue;
default:
switch (charAt) {
case '+':
case ',':
case '-':
case '.':
case '/':
break;
default:
return false;
}
}
}
}
return true;
}
public static DERPrintableString getInstance(ASN1TaggedObject aSN1TaggedObject, boolean z) {
ASN1Primitive object = aSN1TaggedObject.getObject();
return (z || (object instanceof DERPrintableString)) ? getInstance(object) : new DERPrintableString(ASN1OctetString.getInstance(object).getOctets());
}
public static DERPrintableString getInstance(Object obj) {
if (obj == null || (obj instanceof DERPrintableString)) {
return (DERPrintableString) obj;
}
if (!(obj instanceof byte[])) {
StringBuilder sb = new StringBuilder("illegal object in getInstance: ");
sb.append(obj.getClass().getName());
throw new IllegalArgumentException(sb.toString());
}
try {
return (DERPrintableString) fromByteArray((byte[]) obj);
} catch (Exception e) {
StringBuilder sb2 = new StringBuilder("encoding error in getInstance: ");
sb2.append(e.toString());
throw new IllegalArgumentException(sb2.toString());
}
}
/* JADX INFO: Access modifiers changed from: package-private */
public DERPrintableString(byte[] bArr) {
this.string = bArr;
}
public DERPrintableString(String str, boolean z) {
if (z && !isPrintableString(str)) {
throw new IllegalArgumentException("string contains illegal characters");
}
this.string = Strings.toByteArray(str);
}
public DERPrintableString(String str) {
this(str, false);
}
}