what-the-bank/sources/org/bouncycastle/pqc/asn1/GMSSPrivateKey.java

530 lines
33 KiB
Java
Raw Normal View History

2024-07-27 18:17:47 +07:00
package org.bouncycastle.pqc.asn1;
import java.math.BigInteger;
import java.util.Vector;
import org.bouncycastle.asn1.ASN1Encodable;
import org.bouncycastle.asn1.ASN1EncodableVector;
import org.bouncycastle.asn1.ASN1Integer;
import org.bouncycastle.asn1.ASN1Object;
import org.bouncycastle.asn1.ASN1Primitive;
import org.bouncycastle.asn1.ASN1Sequence;
import org.bouncycastle.asn1.DEROctetString;
import org.bouncycastle.asn1.DERSequence;
import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
import org.bouncycastle.pqc.crypto.gmss.GMSSLeaf;
import org.bouncycastle.pqc.crypto.gmss.GMSSParameters;
import org.bouncycastle.pqc.crypto.gmss.GMSSRootCalc;
import org.bouncycastle.pqc.crypto.gmss.GMSSRootSig;
import org.bouncycastle.pqc.crypto.gmss.Treehash;
/* loaded from: classes6.dex */
public class GMSSPrivateKey extends ASN1Object {
private ASN1Primitive primitive;
@Override // org.bouncycastle.asn1.ASN1Object, org.bouncycastle.asn1.ASN1Encodable
public ASN1Primitive toASN1Primitive() {
return this.primitive;
}
private ASN1Primitive encode(int[] iArr, byte[][] bArr, byte[][] bArr2, byte[][][] bArr3, byte[][][] bArr4, byte[][][] bArr5, Treehash[][] treehashArr, Treehash[][] treehashArr2, Vector[] vectorArr, Vector[] vectorArr2, Vector[][] vectorArr3, Vector[][] vectorArr4, GMSSLeaf[] gMSSLeafArr, GMSSLeaf[] gMSSLeafArr2, GMSSLeaf[] gMSSLeafArr3, int[] iArr2, byte[][] bArr6, GMSSRootCalc[] gMSSRootCalcArr, byte[][] bArr7, GMSSRootSig[] gMSSRootSigArr, GMSSParameters gMSSParameters, AlgorithmIdentifier[] algorithmIdentifierArr) {
Treehash[][] treehashArr3 = treehashArr;
ASN1EncodableVector aSN1EncodableVector = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector2 = new ASN1EncodableVector();
for (int i : iArr) {
aSN1EncodableVector2.add(new ASN1Integer(i));
}
aSN1EncodableVector.add(new DERSequence(aSN1EncodableVector2));
ASN1EncodableVector aSN1EncodableVector3 = new ASN1EncodableVector();
for (byte[] bArr8 : bArr) {
aSN1EncodableVector3.add(new DEROctetString(bArr8));
}
aSN1EncodableVector.add(new DERSequence(aSN1EncodableVector3));
ASN1EncodableVector aSN1EncodableVector4 = new ASN1EncodableVector();
for (byte[] bArr9 : bArr2) {
aSN1EncodableVector4.add(new DEROctetString(bArr9));
}
aSN1EncodableVector.add(new DERSequence(aSN1EncodableVector4));
ASN1EncodableVector aSN1EncodableVector5 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector6 = new ASN1EncodableVector();
for (byte[][] bArr10 : bArr3) {
int i2 = 0;
while (true) {
if (i2 < bArr10.length) {
aSN1EncodableVector5.add(new DEROctetString(bArr10[i2]));
i2++;
}
}
aSN1EncodableVector6.add(new DERSequence(aSN1EncodableVector5));
aSN1EncodableVector5 = new ASN1EncodableVector();
}
aSN1EncodableVector.add(new DERSequence(aSN1EncodableVector6));
ASN1EncodableVector aSN1EncodableVector7 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector8 = new ASN1EncodableVector();
for (byte[][] bArr11 : bArr4) {
int i3 = 0;
while (true) {
if (i3 < bArr11.length) {
aSN1EncodableVector7.add(new DEROctetString(bArr11[i3]));
i3++;
}
}
aSN1EncodableVector8.add(new DERSequence(aSN1EncodableVector7));
aSN1EncodableVector7 = new ASN1EncodableVector();
}
aSN1EncodableVector.add(new DERSequence(aSN1EncodableVector8));
ASN1EncodableVector aSN1EncodableVector9 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector10 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector11 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector12 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector13 = new ASN1EncodableVector();
int i4 = 0;
while (i4 < treehashArr3.length) {
int i5 = 0;
while (i5 < treehashArr3[i4].length) {
aSN1EncodableVector11.add(new DERSequence(algorithmIdentifierArr[0]));
int i6 = treehashArr3[i4][i5].getStatInt()[1];
aSN1EncodableVector12.add(new DEROctetString(treehashArr3[i4][i5].getStatByte()[0]));
aSN1EncodableVector12.add(new DEROctetString(treehashArr3[i4][i5].getStatByte()[1]));
aSN1EncodableVector12.add(new DEROctetString(treehashArr3[i4][i5].getStatByte()[2]));
for (int i7 = 0; i7 < i6; i7++) {
aSN1EncodableVector12.add(new DEROctetString(treehashArr3[i4][i5].getStatByte()[i7 + 3]));
}
aSN1EncodableVector11.add(new DERSequence(aSN1EncodableVector12));
aSN1EncodableVector12 = new ASN1EncodableVector();
aSN1EncodableVector13.add(new ASN1Integer(treehashArr3[i4][i5].getStatInt()[0]));
aSN1EncodableVector13.add(new ASN1Integer(i6));
aSN1EncodableVector13.add(new ASN1Integer(treehashArr3[i4][i5].getStatInt()[2]));
aSN1EncodableVector13.add(new ASN1Integer(treehashArr3[i4][i5].getStatInt()[3]));
aSN1EncodableVector13.add(new ASN1Integer(treehashArr3[i4][i5].getStatInt()[4]));
aSN1EncodableVector13.add(new ASN1Integer(treehashArr3[i4][i5].getStatInt()[5]));
int i8 = 0;
while (i8 < i6) {
aSN1EncodableVector13.add(new ASN1Integer(treehashArr3[i4][i5].getStatInt()[i8 + 6]));
i8++;
treehashArr3 = treehashArr;
}
aSN1EncodableVector11.add(new DERSequence(aSN1EncodableVector13));
aSN1EncodableVector13 = new ASN1EncodableVector();
aSN1EncodableVector10.add(new DERSequence(aSN1EncodableVector11));
aSN1EncodableVector11 = new ASN1EncodableVector();
i5++;
treehashArr3 = treehashArr;
}
aSN1EncodableVector9.add(new DERSequence(aSN1EncodableVector10));
aSN1EncodableVector10 = new ASN1EncodableVector();
i4++;
treehashArr3 = treehashArr;
}
aSN1EncodableVector.add(new DERSequence(aSN1EncodableVector9));
ASN1EncodableVector aSN1EncodableVector14 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector15 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector16 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector17 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector18 = new ASN1EncodableVector();
for (int i9 = 0; i9 < treehashArr2.length; i9++) {
for (int i10 = 0; i10 < treehashArr2[i9].length; i10++) {
aSN1EncodableVector16.add(new DERSequence(algorithmIdentifierArr[0]));
int i11 = treehashArr2[i9][i10].getStatInt()[1];
aSN1EncodableVector17.add(new DEROctetString(treehashArr2[i9][i10].getStatByte()[0]));
aSN1EncodableVector17.add(new DEROctetString(treehashArr2[i9][i10].getStatByte()[1]));
aSN1EncodableVector17.add(new DEROctetString(treehashArr2[i9][i10].getStatByte()[2]));
for (int i12 = 0; i12 < i11; i12++) {
aSN1EncodableVector17.add(new DEROctetString(treehashArr2[i9][i10].getStatByte()[i12 + 3]));
}
aSN1EncodableVector16.add(new DERSequence(aSN1EncodableVector17));
aSN1EncodableVector17 = new ASN1EncodableVector();
aSN1EncodableVector18.add(new ASN1Integer(treehashArr2[i9][i10].getStatInt()[0]));
aSN1EncodableVector18.add(new ASN1Integer(i11));
aSN1EncodableVector18.add(new ASN1Integer(treehashArr2[i9][i10].getStatInt()[2]));
aSN1EncodableVector18.add(new ASN1Integer(treehashArr2[i9][i10].getStatInt()[3]));
aSN1EncodableVector18.add(new ASN1Integer(treehashArr2[i9][i10].getStatInt()[4]));
aSN1EncodableVector18.add(new ASN1Integer(treehashArr2[i9][i10].getStatInt()[5]));
for (int i13 = 0; i13 < i11; i13++) {
aSN1EncodableVector18.add(new ASN1Integer(treehashArr2[i9][i10].getStatInt()[i13 + 6]));
}
aSN1EncodableVector16.add(new DERSequence(aSN1EncodableVector18));
aSN1EncodableVector18 = new ASN1EncodableVector();
aSN1EncodableVector15.add(new DERSequence(aSN1EncodableVector16));
aSN1EncodableVector16 = new ASN1EncodableVector();
}
aSN1EncodableVector14.add(new DERSequence(new DERSequence(aSN1EncodableVector15)));
aSN1EncodableVector15 = new ASN1EncodableVector();
}
aSN1EncodableVector.add(new DERSequence(aSN1EncodableVector14));
ASN1EncodableVector aSN1EncodableVector19 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector20 = new ASN1EncodableVector();
for (byte[][] bArr12 : bArr5) {
int i14 = 0;
while (true) {
if (i14 < bArr12.length) {
aSN1EncodableVector19.add(new DEROctetString(bArr12[i14]));
i14++;
}
}
aSN1EncodableVector20.add(new DERSequence(aSN1EncodableVector19));
aSN1EncodableVector19 = new ASN1EncodableVector();
}
aSN1EncodableVector.add(new DERSequence(aSN1EncodableVector20));
ASN1EncodableVector aSN1EncodableVector21 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector22 = new ASN1EncodableVector();
for (int i15 = 0; i15 < vectorArr.length; i15++) {
for (int i16 = 0; i16 < vectorArr[i15].size(); i16++) {
aSN1EncodableVector21.add(new DEROctetString((byte[]) vectorArr[i15].elementAt(i16)));
}
aSN1EncodableVector22.add(new DERSequence(aSN1EncodableVector21));
aSN1EncodableVector21 = new ASN1EncodableVector();
}
aSN1EncodableVector.add(new DERSequence(aSN1EncodableVector22));
ASN1EncodableVector aSN1EncodableVector23 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector24 = new ASN1EncodableVector();
for (int i17 = 0; i17 < vectorArr2.length; i17++) {
for (int i18 = 0; i18 < vectorArr2[i17].size(); i18++) {
aSN1EncodableVector23.add(new DEROctetString((byte[]) vectorArr2[i17].elementAt(i18)));
}
aSN1EncodableVector24.add(new DERSequence(aSN1EncodableVector23));
aSN1EncodableVector23 = new ASN1EncodableVector();
}
aSN1EncodableVector.add(new DERSequence(aSN1EncodableVector24));
ASN1EncodableVector aSN1EncodableVector25 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector26 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector27 = new ASN1EncodableVector();
for (int i19 = 0; i19 < vectorArr3.length; i19++) {
for (int i20 = 0; i20 < vectorArr3[i19].length; i20++) {
for (int i21 = 0; i21 < vectorArr3[i19][i20].size(); i21++) {
aSN1EncodableVector25.add(new DEROctetString((byte[]) vectorArr3[i19][i20].elementAt(i21)));
}
aSN1EncodableVector26.add(new DERSequence(aSN1EncodableVector25));
aSN1EncodableVector25 = new ASN1EncodableVector();
}
aSN1EncodableVector27.add(new DERSequence(aSN1EncodableVector26));
aSN1EncodableVector26 = new ASN1EncodableVector();
}
aSN1EncodableVector.add(new DERSequence(aSN1EncodableVector27));
ASN1EncodableVector aSN1EncodableVector28 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector29 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector30 = new ASN1EncodableVector();
for (int i22 = 0; i22 < vectorArr4.length; i22++) {
for (int i23 = 0; i23 < vectorArr4[i22].length; i23++) {
for (int i24 = 0; i24 < vectorArr4[i22][i23].size(); i24++) {
aSN1EncodableVector28.add(new DEROctetString((byte[]) vectorArr4[i22][i23].elementAt(i24)));
}
aSN1EncodableVector29.add(new DERSequence(aSN1EncodableVector28));
aSN1EncodableVector28 = new ASN1EncodableVector();
}
aSN1EncodableVector30.add(new DERSequence(aSN1EncodableVector29));
aSN1EncodableVector29 = new ASN1EncodableVector();
}
aSN1EncodableVector.add(new DERSequence(aSN1EncodableVector30));
ASN1EncodableVector aSN1EncodableVector31 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector32 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector33 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector34 = new ASN1EncodableVector();
for (int i25 = 0; i25 < gMSSLeafArr.length; i25++) {
aSN1EncodableVector32.add(new DERSequence(algorithmIdentifierArr[0]));
byte[][] statByte = gMSSLeafArr[i25].getStatByte();
aSN1EncodableVector33.add(new DEROctetString(statByte[0]));
aSN1EncodableVector33.add(new DEROctetString(statByte[1]));
aSN1EncodableVector33.add(new DEROctetString(statByte[2]));
aSN1EncodableVector33.add(new DEROctetString(statByte[3]));
aSN1EncodableVector32.add(new DERSequence(aSN1EncodableVector33));
aSN1EncodableVector33 = new ASN1EncodableVector();
int[] statInt = gMSSLeafArr[i25].getStatInt();
aSN1EncodableVector34.add(new ASN1Integer(statInt[0]));
aSN1EncodableVector34.add(new ASN1Integer(statInt[1]));
aSN1EncodableVector34.add(new ASN1Integer(statInt[2]));
aSN1EncodableVector34.add(new ASN1Integer(statInt[3]));
aSN1EncodableVector32.add(new DERSequence(aSN1EncodableVector34));
aSN1EncodableVector34 = new ASN1EncodableVector();
aSN1EncodableVector31.add(new DERSequence(aSN1EncodableVector32));
aSN1EncodableVector32 = new ASN1EncodableVector();
}
aSN1EncodableVector.add(new DERSequence(aSN1EncodableVector31));
ASN1EncodableVector aSN1EncodableVector35 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector36 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector37 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector38 = new ASN1EncodableVector();
for (int i26 = 0; i26 < gMSSLeafArr2.length; i26++) {
aSN1EncodableVector36.add(new DERSequence(algorithmIdentifierArr[0]));
byte[][] statByte2 = gMSSLeafArr2[i26].getStatByte();
aSN1EncodableVector37.add(new DEROctetString(statByte2[0]));
aSN1EncodableVector37.add(new DEROctetString(statByte2[1]));
aSN1EncodableVector37.add(new DEROctetString(statByte2[2]));
aSN1EncodableVector37.add(new DEROctetString(statByte2[3]));
aSN1EncodableVector36.add(new DERSequence(aSN1EncodableVector37));
aSN1EncodableVector37 = new ASN1EncodableVector();
int[] statInt2 = gMSSLeafArr2[i26].getStatInt();
aSN1EncodableVector38.add(new ASN1Integer(statInt2[0]));
aSN1EncodableVector38.add(new ASN1Integer(statInt2[1]));
aSN1EncodableVector38.add(new ASN1Integer(statInt2[2]));
aSN1EncodableVector38.add(new ASN1Integer(statInt2[3]));
aSN1EncodableVector36.add(new DERSequence(aSN1EncodableVector38));
aSN1EncodableVector38 = new ASN1EncodableVector();
aSN1EncodableVector35.add(new DERSequence(aSN1EncodableVector36));
aSN1EncodableVector36 = new ASN1EncodableVector();
}
aSN1EncodableVector.add(new DERSequence(aSN1EncodableVector35));
ASN1EncodableVector aSN1EncodableVector39 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector40 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector41 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector42 = new ASN1EncodableVector();
for (int i27 = 0; i27 < gMSSLeafArr3.length; i27++) {
aSN1EncodableVector40.add(new DERSequence(algorithmIdentifierArr[0]));
byte[][] statByte3 = gMSSLeafArr3[i27].getStatByte();
aSN1EncodableVector41.add(new DEROctetString(statByte3[0]));
aSN1EncodableVector41.add(new DEROctetString(statByte3[1]));
aSN1EncodableVector41.add(new DEROctetString(statByte3[2]));
aSN1EncodableVector41.add(new DEROctetString(statByte3[3]));
aSN1EncodableVector40.add(new DERSequence(aSN1EncodableVector41));
aSN1EncodableVector41 = new ASN1EncodableVector();
int[] statInt3 = gMSSLeafArr3[i27].getStatInt();
aSN1EncodableVector42.add(new ASN1Integer(statInt3[0]));
aSN1EncodableVector42.add(new ASN1Integer(statInt3[1]));
aSN1EncodableVector42.add(new ASN1Integer(statInt3[2]));
aSN1EncodableVector42.add(new ASN1Integer(statInt3[3]));
aSN1EncodableVector40.add(new DERSequence(aSN1EncodableVector42));
aSN1EncodableVector42 = new ASN1EncodableVector();
aSN1EncodableVector39.add(new DERSequence(aSN1EncodableVector40));
aSN1EncodableVector40 = new ASN1EncodableVector();
}
aSN1EncodableVector.add(new DERSequence(aSN1EncodableVector39));
ASN1EncodableVector aSN1EncodableVector43 = new ASN1EncodableVector();
AlgorithmIdentifier[] algorithmIdentifierArr2 = algorithmIdentifierArr;
for (int i28 : iArr2) {
aSN1EncodableVector43.add(new ASN1Integer(i28));
}
aSN1EncodableVector.add(new DERSequence(aSN1EncodableVector43));
ASN1EncodableVector aSN1EncodableVector44 = new ASN1EncodableVector();
for (byte[] bArr13 : bArr6) {
aSN1EncodableVector44.add(new DEROctetString(bArr13));
}
aSN1EncodableVector.add(new DERSequence(aSN1EncodableVector44));
ASN1EncodableVector aSN1EncodableVector45 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector46 = new ASN1EncodableVector();
new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector47 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector48 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector49 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector50 = new ASN1EncodableVector();
int i29 = 0;
while (i29 < gMSSRootCalcArr.length) {
aSN1EncodableVector46.add(new DERSequence(algorithmIdentifierArr2[0]));
new ASN1EncodableVector();
int i30 = gMSSRootCalcArr[i29].getStatInt()[0];
int i31 = gMSSRootCalcArr[i29].getStatInt()[7];
aSN1EncodableVector47.add(new DEROctetString(gMSSRootCalcArr[i29].getStatByte()[0]));
int i32 = 0;
while (i32 < i30) {
i32++;
aSN1EncodableVector47.add(new DEROctetString(gMSSRootCalcArr[i29].getStatByte()[i32]));
}
for (int i33 = 0; i33 < i31; i33++) {
aSN1EncodableVector47.add(new DEROctetString(gMSSRootCalcArr[i29].getStatByte()[i30 + 1 + i33]));
}
aSN1EncodableVector46.add(new DERSequence(aSN1EncodableVector47));
ASN1EncodableVector aSN1EncodableVector51 = new ASN1EncodableVector();
aSN1EncodableVector48.add(new ASN1Integer(i30));
aSN1EncodableVector48.add(new ASN1Integer(gMSSRootCalcArr[i29].getStatInt()[1]));
aSN1EncodableVector48.add(new ASN1Integer(gMSSRootCalcArr[i29].getStatInt()[2]));
aSN1EncodableVector48.add(new ASN1Integer(gMSSRootCalcArr[i29].getStatInt()[3]));
aSN1EncodableVector48.add(new ASN1Integer(gMSSRootCalcArr[i29].getStatInt()[4]));
aSN1EncodableVector48.add(new ASN1Integer(gMSSRootCalcArr[i29].getStatInt()[5]));
aSN1EncodableVector48.add(new ASN1Integer(gMSSRootCalcArr[i29].getStatInt()[6]));
aSN1EncodableVector48.add(new ASN1Integer(i31));
for (int i34 = 0; i34 < i30; i34++) {
aSN1EncodableVector48.add(new ASN1Integer(gMSSRootCalcArr[i29].getStatInt()[i34 + 8]));
}
for (int i35 = 0; i35 < i31; i35++) {
aSN1EncodableVector48.add(new ASN1Integer(gMSSRootCalcArr[i29].getStatInt()[i30 + 8 + i35]));
}
aSN1EncodableVector46.add(new DERSequence(aSN1EncodableVector48));
ASN1EncodableVector aSN1EncodableVector52 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector53 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector54 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector55 = new ASN1EncodableVector();
if (gMSSRootCalcArr[i29].getTreehash() != null) {
int i36 = 0;
while (i36 < gMSSRootCalcArr[i29].getTreehash().length) {
aSN1EncodableVector53.add(new DERSequence(algorithmIdentifierArr2[0]));
int i37 = gMSSRootCalcArr[i29].getTreehash()[i36].getStatInt()[1];
ASN1EncodableVector aSN1EncodableVector56 = aSN1EncodableVector51;
aSN1EncodableVector54.add(new DEROctetString(gMSSRootCalcArr[i29].getTreehash()[i36].getStatByte()[0]));
aSN1EncodableVector54.add(new DEROctetString(gMSSRootCalcArr[i29].getTreehash()[i36].getStatByte()[1]));
aSN1EncodableVector54.add(new DEROctetString(gMSSRootCalcArr[i29].getTreehash()[i36].getStatByte()[2]));
int i38 = 0;
while (i38 < i37) {
aSN1EncodableVector54.add(new DEROctetString(gMSSRootCalcArr[i29].getTreehash()[i36].getStatByte()[i38 + 3]));
i38++;
aSN1EncodableVector52 = aSN1EncodableVector52;
}
ASN1EncodableVector aSN1EncodableVector57 = aSN1EncodableVector52;
aSN1EncodableVector53.add(new DERSequence(aSN1EncodableVector54));
aSN1EncodableVector54 = new ASN1EncodableVector();
aSN1EncodableVector55.add(new ASN1Integer(gMSSRootCalcArr[i29].getTreehash()[i36].getStatInt()[0]));
aSN1EncodableVector55.add(new ASN1Integer(i37));
aSN1EncodableVector55.add(new ASN1Integer(gMSSRootCalcArr[i29].getTreehash()[i36].getStatInt()[2]));
aSN1EncodableVector55.add(new ASN1Integer(gMSSRootCalcArr[i29].getTreehash()[i36].getStatInt()[3]));
aSN1EncodableVector55.add(new ASN1Integer(gMSSRootCalcArr[i29].getTreehash()[i36].getStatInt()[4]));
aSN1EncodableVector55.add(new ASN1Integer(gMSSRootCalcArr[i29].getTreehash()[i36].getStatInt()[5]));
int i39 = 0;
while (i39 < i37) {
aSN1EncodableVector55.add(new ASN1Integer(gMSSRootCalcArr[i29].getTreehash()[i36].getStatInt()[i39 + 6]));
i39++;
i37 = i37;
}
aSN1EncodableVector53.add(new DERSequence(aSN1EncodableVector55));
aSN1EncodableVector55 = new ASN1EncodableVector();
aSN1EncodableVector49.add(new DERSequence(aSN1EncodableVector53));
aSN1EncodableVector53 = new ASN1EncodableVector();
i36++;
aSN1EncodableVector51 = aSN1EncodableVector56;
aSN1EncodableVector52 = aSN1EncodableVector57;
algorithmIdentifierArr2 = algorithmIdentifierArr;
}
}
ASN1EncodableVector aSN1EncodableVector58 = aSN1EncodableVector51;
ASN1EncodableVector aSN1EncodableVector59 = aSN1EncodableVector52;
aSN1EncodableVector46.add(new DERSequence(aSN1EncodableVector49));
aSN1EncodableVector49 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector60 = new ASN1EncodableVector();
if (gMSSRootCalcArr[i29].getRetain() != null) {
for (int i40 = 0; i40 < gMSSRootCalcArr[i29].getRetain().length; i40++) {
for (int i41 = 0; i41 < gMSSRootCalcArr[i29].getRetain()[i40].size(); i41++) {
aSN1EncodableVector60.add(new DEROctetString((byte[]) gMSSRootCalcArr[i29].getRetain()[i40].elementAt(i41)));
}
aSN1EncodableVector50.add(new DERSequence(aSN1EncodableVector60));
aSN1EncodableVector60 = new ASN1EncodableVector();
}
}
aSN1EncodableVector46.add(new DERSequence(aSN1EncodableVector50));
aSN1EncodableVector50 = new ASN1EncodableVector();
aSN1EncodableVector45.add(new DERSequence(aSN1EncodableVector46));
aSN1EncodableVector46 = new ASN1EncodableVector();
i29++;
aSN1EncodableVector47 = aSN1EncodableVector58;
aSN1EncodableVector48 = aSN1EncodableVector59;
algorithmIdentifierArr2 = algorithmIdentifierArr;
}
aSN1EncodableVector.add(new DERSequence(aSN1EncodableVector45));
ASN1EncodableVector aSN1EncodableVector61 = new ASN1EncodableVector();
for (byte[] bArr14 : bArr7) {
aSN1EncodableVector61.add(new DEROctetString(bArr14));
}
aSN1EncodableVector.add(new DERSequence(aSN1EncodableVector61));
ASN1EncodableVector aSN1EncodableVector62 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector63 = new ASN1EncodableVector();
new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector64 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector65 = new ASN1EncodableVector();
for (int i42 = 0; i42 < gMSSRootSigArr.length; i42++) {
aSN1EncodableVector63.add(new DERSequence(algorithmIdentifierArr[0]));
new ASN1EncodableVector();
aSN1EncodableVector64.add(new DEROctetString(gMSSRootSigArr[i42].getStatByte()[0]));
aSN1EncodableVector64.add(new DEROctetString(gMSSRootSigArr[i42].getStatByte()[1]));
aSN1EncodableVector64.add(new DEROctetString(gMSSRootSigArr[i42].getStatByte()[2]));
aSN1EncodableVector64.add(new DEROctetString(gMSSRootSigArr[i42].getStatByte()[3]));
aSN1EncodableVector64.add(new DEROctetString(gMSSRootSigArr[i42].getStatByte()[4]));
aSN1EncodableVector63.add(new DERSequence(aSN1EncodableVector64));
aSN1EncodableVector64 = new ASN1EncodableVector();
aSN1EncodableVector65.add(new ASN1Integer(gMSSRootSigArr[i42].getStatInt()[0]));
aSN1EncodableVector65.add(new ASN1Integer(gMSSRootSigArr[i42].getStatInt()[1]));
aSN1EncodableVector65.add(new ASN1Integer(gMSSRootSigArr[i42].getStatInt()[2]));
aSN1EncodableVector65.add(new ASN1Integer(gMSSRootSigArr[i42].getStatInt()[3]));
aSN1EncodableVector65.add(new ASN1Integer(gMSSRootSigArr[i42].getStatInt()[4]));
aSN1EncodableVector65.add(new ASN1Integer(gMSSRootSigArr[i42].getStatInt()[5]));
aSN1EncodableVector65.add(new ASN1Integer(gMSSRootSigArr[i42].getStatInt()[6]));
aSN1EncodableVector65.add(new ASN1Integer(gMSSRootSigArr[i42].getStatInt()[7]));
aSN1EncodableVector65.add(new ASN1Integer(gMSSRootSigArr[i42].getStatInt()[8]));
aSN1EncodableVector63.add(new DERSequence(aSN1EncodableVector65));
aSN1EncodableVector65 = new ASN1EncodableVector();
aSN1EncodableVector62.add(new DERSequence(aSN1EncodableVector63));
aSN1EncodableVector63 = new ASN1EncodableVector();
}
aSN1EncodableVector.add(new DERSequence(aSN1EncodableVector62));
ASN1EncodableVector aSN1EncodableVector66 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector67 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector68 = new ASN1EncodableVector();
ASN1EncodableVector aSN1EncodableVector69 = new ASN1EncodableVector();
for (int i43 = 0; i43 < gMSSParameters.getHeightOfTrees().length; i43++) {
aSN1EncodableVector67.add(new ASN1Integer(gMSSParameters.getHeightOfTrees()[i43]));
aSN1EncodableVector68.add(new ASN1Integer(gMSSParameters.getWinternitzParameter()[i43]));
aSN1EncodableVector69.add(new ASN1Integer(gMSSParameters.getK()[i43]));
}
aSN1EncodableVector66.add(new ASN1Integer(gMSSParameters.getNumOfLayers()));
aSN1EncodableVector66.add(new DERSequence(aSN1EncodableVector67));
aSN1EncodableVector66.add(new DERSequence(aSN1EncodableVector68));
aSN1EncodableVector66.add(new DERSequence(aSN1EncodableVector69));
aSN1EncodableVector.add(new DERSequence(aSN1EncodableVector66));
ASN1EncodableVector aSN1EncodableVector70 = new ASN1EncodableVector();
for (AlgorithmIdentifier algorithmIdentifier : algorithmIdentifierArr) {
aSN1EncodableVector70.add(algorithmIdentifier);
}
aSN1EncodableVector.add(new DERSequence(aSN1EncodableVector70));
return new DERSequence(aSN1EncodableVector);
}
private static int checkBigIntegerInIntRange(ASN1Encodable aSN1Encodable) {
BigInteger value = ((ASN1Integer) aSN1Encodable).getValue();
if (value.compareTo(BigInteger.valueOf(2147483647L)) <= 0 && value.compareTo(BigInteger.valueOf(-2147483648L)) >= 0) {
return value.intValue();
}
StringBuilder sb = new StringBuilder("BigInteger not in Range: ");
sb.append(value.toString());
throw new IllegalArgumentException(sb.toString());
}
public GMSSPrivateKey(int[] iArr, byte[][] bArr, byte[][] bArr2, byte[][][] bArr3, byte[][][] bArr4, Treehash[][] treehashArr, Treehash[][] treehashArr2, Vector[] vectorArr, Vector[] vectorArr2, Vector[][] vectorArr3, Vector[][] vectorArr4, byte[][][] bArr5, GMSSLeaf[] gMSSLeafArr, GMSSLeaf[] gMSSLeafArr2, GMSSLeaf[] gMSSLeafArr3, int[] iArr2, byte[][] bArr6, GMSSRootCalc[] gMSSRootCalcArr, byte[][] bArr7, GMSSRootSig[] gMSSRootSigArr, GMSSParameters gMSSParameters, AlgorithmIdentifier algorithmIdentifier) {
this.primitive = encode(iArr, bArr, bArr2, bArr3, bArr4, bArr5, treehashArr, treehashArr2, vectorArr, vectorArr2, vectorArr3, vectorArr4, gMSSLeafArr, gMSSLeafArr2, gMSSLeafArr3, iArr2, bArr6, gMSSRootCalcArr, bArr7, gMSSRootSigArr, gMSSParameters, new AlgorithmIdentifier[]{algorithmIdentifier});
}
private GMSSPrivateKey(ASN1Sequence aSN1Sequence) {
ASN1Sequence aSN1Sequence2 = (ASN1Sequence) aSN1Sequence.getObjectAt(0);
int[] iArr = new int[aSN1Sequence2.size()];
for (int i = 0; i < aSN1Sequence2.size(); i++) {
iArr[i] = checkBigIntegerInIntRange(aSN1Sequence2.getObjectAt(i));
}
ASN1Sequence aSN1Sequence3 = (ASN1Sequence) aSN1Sequence.getObjectAt(1);
int size = aSN1Sequence3.size();
byte[][] bArr = new byte[size];
for (int i2 = 0; i2 < size; i2++) {
bArr[i2] = ((DEROctetString) aSN1Sequence3.getObjectAt(i2)).getOctets();
}
ASN1Sequence aSN1Sequence4 = (ASN1Sequence) aSN1Sequence.getObjectAt(2);
int size2 = aSN1Sequence4.size();
byte[][] bArr2 = new byte[size2];
for (int i3 = 0; i3 < size2; i3++) {
bArr2[i3] = ((DEROctetString) aSN1Sequence4.getObjectAt(i3)).getOctets();
}
ASN1Sequence aSN1Sequence5 = (ASN1Sequence) aSN1Sequence.getObjectAt(3);
int size3 = aSN1Sequence5.size();
byte[][][] bArr3 = new byte[size3][];
for (int i4 = 0; i4 < size3; i4++) {
ASN1Sequence aSN1Sequence6 = (ASN1Sequence) aSN1Sequence5.getObjectAt(i4);
bArr3[i4] = new byte[aSN1Sequence6.size()];
int i5 = 0;
while (true) {
byte[][] bArr4 = bArr3[i4];
if (i5 < bArr4.length) {
bArr4[i5] = ((DEROctetString) aSN1Sequence6.getObjectAt(i5)).getOctets();
i5++;
}
}
}
ASN1Sequence aSN1Sequence7 = (ASN1Sequence) aSN1Sequence.getObjectAt(4);
int size4 = aSN1Sequence7.size();
byte[][][] bArr5 = new byte[size4][];
for (int i6 = 0; i6 < size4; i6++) {
ASN1Sequence aSN1Sequence8 = (ASN1Sequence) aSN1Sequence7.getObjectAt(i6);
bArr5[i6] = new byte[aSN1Sequence8.size()];
int i7 = 0;
while (true) {
byte[][] bArr6 = bArr5[i6];
if (i7 < bArr6.length) {
bArr6[i7] = ((DEROctetString) aSN1Sequence8.getObjectAt(i7)).getOctets();
i7++;
}
}
}
Treehash[][] treehashArr = new Treehash[((ASN1Sequence) aSN1Sequence.getObjectAt(5)).size()];
}
}