re-enable getEmbeddedSignatures

This commit is contained in:
Ashley Hughes
2014-01-27 23:31:19 +00:00
parent e094d295ea
commit 4071ce8550
3 changed files with 36 additions and 10 deletions

View File

@@ -27,7 +27,7 @@ public class SignaturePacket
private SignatureSubpacket[] unhashedData;
private byte[] signatureEncoding;
SignaturePacket(
public SignaturePacket(
BCPGInputStream in)
throws IOException
{

View File

@@ -1,9 +1,13 @@
package org.spongycastle.openpgp;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.spongycastle.bcpg.BCPGInputStream;
import org.spongycastle.bcpg.SignaturePacket;
import org.spongycastle.bcpg.SignatureSubpacket;
import org.spongycastle.bcpg.SignatureSubpacketTags;
import org.spongycastle.bcpg.sig.Features;
@@ -16,6 +20,7 @@ import org.spongycastle.bcpg.sig.PrimaryUserID;
import org.spongycastle.bcpg.sig.SignatureCreationTime;
import org.spongycastle.bcpg.sig.SignatureExpirationTime;
import org.spongycastle.bcpg.sig.SignerUserID;
import org.spongycastle.openpgp.PGPException;
/**
* Container for a list of signature subpackets.
@@ -89,6 +94,27 @@ public class PGPSignatureSubpacketVector
return vals;
}
public PGPSignatureList getEmbeddedSignatures() throws IOException, PGPException
{
SignatureSubpacket[] sigs = getSubpackets(SignatureSubpacketTags.EMBEDDED_SIGNATURE);
ArrayList l = new ArrayList();
for (int i = 0; i < sigs.length; i++) {
byte[] data = sigs[i].getData();
PGPSignature tmpSig = null;
BCPGInputStream in = new BCPGInputStream(new ByteArrayInputStream(data));
try {
tmpSig = new PGPSignature(new SignaturePacket(in));
} catch (IOException e) {
tmpSig = null;
} catch (PGPException e) {
tmpSig = null;
}
if (tmpSig != null)
l.add(tmpSig);
}
return new PGPSignatureList((PGPSignature[])l.toArray(new PGPSignature[l.size()]));
}
public long getIssuerKeyID()
{
SignatureSubpacket p = this.getSubpacket(SignatureSubpacketTags.ISSUER_KEY_ID);