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()]; } }