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

147 lines
4.2 KiB
Java

package org.bouncycastle.asn1;
import java.io.IOException;
import java.io.OutputStream;
/* loaded from: classes6.dex */
public class ASN1OutputStream {
private OutputStream os;
/* JADX INFO: Access modifiers changed from: package-private */
public void writeTag(int i, int i2) throws IOException {
if (i2 < 31) {
write(i | i2);
return;
}
write(i | 31);
if (i2 < 128) {
write(i2);
return;
}
byte[] bArr = new byte[5];
int i3 = 4;
bArr[4] = (byte) (i2 & 127);
do {
i2 >>= 7;
i3--;
bArr[i3] = (byte) ((i2 & 127) | 128);
} while (i2 > 127);
write(bArr, i3, 5 - i3);
}
public void writeObject(ASN1Encodable aSN1Encodable) throws IOException {
if (aSN1Encodable == null) {
throw new IOException("null object detected");
}
aSN1Encodable.toASN1Primitive().encode(this);
}
/* JADX INFO: Access modifiers changed from: protected */
public void writeNull() throws IOException {
this.os.write(5);
this.os.write(0);
}
/* JADX INFO: Access modifiers changed from: package-private */
public void writeLength(int i) throws IOException {
if (i <= 127) {
write((byte) i);
return;
}
int i2 = i;
int i3 = 1;
while (true) {
i2 >>>= 8;
if (i2 == 0) {
break;
} else {
i3++;
}
}
write((byte) (i3 | 128));
for (int i4 = (i3 - 1) << 3; i4 >= 0; i4 -= 8) {
write((byte) (i >> i4));
}
}
/* JADX INFO: Access modifiers changed from: package-private */
public void writeImplicitObject(ASN1Primitive aSN1Primitive) throws IOException {
if (aSN1Primitive == null) {
throw new IOException("null object detected");
}
aSN1Primitive.encode(new ImplicitOutputStream(this, this.os));
}
/* JADX INFO: Access modifiers changed from: package-private */
public void writeEncoded(int i, byte[] bArr) throws IOException {
write(i);
writeLength(bArr.length);
write(bArr);
}
/* JADX INFO: Access modifiers changed from: package-private */
public void writeEncoded(int i, int i2, byte[] bArr) throws IOException {
writeTag(i, i2);
writeLength(bArr.length);
write(bArr);
}
void write(byte[] bArr, int i, int i2) throws IOException {
this.os.write(bArr, i, i2);
}
/* JADX INFO: Access modifiers changed from: package-private */
public void write(byte[] bArr) throws IOException {
this.os.write(bArr);
}
/* JADX INFO: Access modifiers changed from: package-private */
public void write(int i) throws IOException {
this.os.write(i);
}
/* JADX INFO: Access modifiers changed from: package-private */
public ASN1OutputStream getDLSubStream() {
return new DLOutputStream(this.os);
}
/* JADX INFO: Access modifiers changed from: package-private */
public ASN1OutputStream getDERSubStream() {
return new DEROutputStream(this.os);
}
/* loaded from: classes6.dex */
class ImplicitOutputStream extends ASN1OutputStream {
private boolean first;
final ASN1OutputStream this$0;
@Override // org.bouncycastle.asn1.ASN1OutputStream
public void write(int i) throws IOException {
if (this.first) {
this.first = false;
} else {
super.write(i);
}
}
/* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
public ImplicitOutputStream(ASN1OutputStream aSN1OutputStream, OutputStream outputStream) {
super(outputStream);
this.this$0 = aSN1OutputStream;
this.first = true;
}
}
public void flush() throws IOException {
this.os.flush();
}
public void close() throws IOException {
this.os.close();
}
public ASN1OutputStream(OutputStream outputStream) {
this.os = outputStream;
}
}