DERSequence spkacSeq = (DERSequence)ais.readObject();
// SPKAC = SEQ {PKAC, SIGN-ALG, SIGN}
// Get PKAC and obtain PK and C
DERSequence pkacSeq = (DERSequence)spkacSeq.getObjectAt(0);
DERObject pk = (DERObject)pkacSeq.getObjectAt(0);
DERObject ch = (DERObject)pkacSeq.getObjectAt(1);
SubjectPublicKeyInfo pkInfo = new SubjectPublicKeyInfo((DERSequence)pk);
PublicKey pubKey = getPublicKeyObject(pkInfo);
// Get SIGN-ALG
DERSequence signAlg = (DERSequence) spkacSeq.getObjectAt(1);
DERObject alg0 = (DERObject)signAlg.getObjectAt(0);
// Get SIGN
DERBitString sign = (DERBitString) spkacSeq.getObjectAt(2);
byte[] signature = sign.getBytes();