private ASN1Primitive primitive;
private GMSSPrivateKey(ASN1Sequence mtsPrivateKey)
{
// --- Decode <index>.
ASN1Sequence indexPart = (ASN1Sequence)mtsPrivateKey.getObjectAt(0);
int[] index = new int[indexPart.size()];
for (int i = 0; i < indexPart.size(); i++)
{
index[i] = checkBigIntegerInIntRange(indexPart.getObjectAt(i));
}
// --- Decode <curSeeds>.
ASN1Sequence curSeedsPart = (ASN1Sequence)mtsPrivateKey.getObjectAt(1);
byte[][] curSeeds = new byte[curSeedsPart.size()][];
for (int i = 0; i < curSeeds.length; i++)
{
curSeeds[i] = ((DEROctetString)curSeedsPart.getObjectAt(i)).getOctets();
}
// --- Decode <nextNextSeeds>.
ASN1Sequence nextNextSeedsPart = (ASN1Sequence)mtsPrivateKey.getObjectAt(2);
byte[][] nextNextSeeds = new byte[nextNextSeedsPart.size()][];
for (int i = 0; i < nextNextSeeds.length; i++)
{
nextNextSeeds[i] = ((DEROctetString)nextNextSeedsPart.getObjectAt(i)).getOctets();
}
// --- Decode <curAuth>.
ASN1Sequence curAuthPart0 = (ASN1Sequence)mtsPrivateKey.getObjectAt(3);
ASN1Sequence curAuthPart1;
byte[][][] curAuth = new byte[curAuthPart0.size()][][];
for (int i = 0; i < curAuth.length; i++)
{
curAuthPart1 = (ASN1Sequence)curAuthPart0.getObjectAt(i);
curAuth[i] = new byte[curAuthPart1.size()][];
for (int j = 0; j < curAuth[i].length; j++)
{
curAuth[i][j] = ((DEROctetString)curAuthPart1.getObjectAt(j)).getOctets();
}
}
// --- Decode <nextAuth>.
ASN1Sequence nextAuthPart0 = (ASN1Sequence)mtsPrivateKey.getObjectAt(4);
ASN1Sequence nextAuthPart1;
byte[][][] nextAuth = new byte[nextAuthPart0.size()][][];
for (int i = 0; i < nextAuth.length; i++)
{
nextAuthPart1 = (ASN1Sequence)nextAuthPart0.getObjectAt(i);
nextAuth[i] = new byte[nextAuthPart1.size()][];
for (int j = 0; j < nextAuth[i].length; j++)
{
nextAuth[i][j] = ((DEROctetString)nextAuthPart1.getObjectAt(j)).getOctets();
}
}
// --- Decode <curTreehash>.
ASN1Sequence seqOfcurTreehash0 = (ASN1Sequence)mtsPrivateKey.getObjectAt(5);
ASN1Sequence seqOfcurTreehash1;
ASN1Sequence seqOfcurTreehashStat;
ASN1Sequence seqOfcurTreehashBytes;
ASN1Sequence seqOfcurTreehashInts;
ASN1Sequence seqOfcurTreehashString;
Treehash[][] curTreehash = new Treehash[seqOfcurTreehash0.size()][];
/*
for (int i = 0; i < curTreehash.length; i++)
{