Example usage for org.bouncycastle.tsp TimeStampToken toCMSSignedData

List of usage examples for org.bouncycastle.tsp TimeStampToken toCMSSignedData

Introduction

In this page you can find the example usage for org.bouncycastle.tsp TimeStampToken toCMSSignedData.

Prototype

public CMSSignedData toCMSSignedData() 

Source Link

Document

Return the underlying CMSSignedData object.

Usage

From source file:org.votingsystem.signature.util.CMSUtils.java

License:Open Source License

public static byte[] getDigestToken(TimeStampToken timeStampToken) {
    if (timeStampToken == null)
        return null;
    CMSSignedData tokenCMSSignedData = timeStampToken.toCMSSignedData();
    Collection signers = tokenCMSSignedData.getSignerInfos().getSigners();
    SignerInformation tsaSignerInfo = (SignerInformation) signers.iterator().next();

    AttributeTable signedAttrTable = tsaSignerInfo.getSignedAttributes();
    ASN1EncodableVector v = signedAttrTable.getAll(CMSAttributes.messageDigest);
    Attribute t = (Attribute) v.get(0);
    ASN1Set attrValues = t.getAttrValues();
    DERObject validMessageDigest = attrValues.getObjectAt(0).getDERObject();

    ASN1OctetString signedMessageDigest = (ASN1OctetString) validMessageDigest;
    byte[] digestToken = signedMessageDigest.getOctets();
    //String digestTokenStr = new String(Base64.encode(digestToken));
    return digestToken;
}