org.spongycastle.tsp.cms.MetaDataUtil Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of scprov-jdk15 Show documentation
Show all versions of scprov-jdk15 Show documentation
Spongy Castle is a package-rename (org.bouncycastle.* to org.spongycastle.*) of Bouncy Castle intended for Android.
Android ships with a stripped-down version of Bouncy Castle - this causes classloader collisions if you try to add
an alternative (updated/complete) Bouncy Castle jar.
This jar contains JCE provider and lightweight API for the Bouncy Castle Cryptography APIs for JDK 1.5.
package org.spongycastle.tsp.cms;
import java.io.IOException;
import org.spongycastle.asn1.ASN1String;
import org.spongycastle.asn1.cms.Attributes;
import org.spongycastle.asn1.cms.MetaData;
import org.spongycastle.cms.CMSException;
import org.spongycastle.operator.DigestCalculator;
class MetaDataUtil
{
private final MetaData metaData;
MetaDataUtil(MetaData metaData)
{
this.metaData = metaData;
}
void initialiseMessageImprintDigestCalculator(DigestCalculator calculator)
throws CMSException
{
if (metaData != null && metaData.isHashProtected())
{
try
{
calculator.getOutputStream().write(metaData.getDEREncoded());
}
catch (IOException e)
{
throw new CMSException("unable to initialise calculator from metaData: " + e.getMessage(), e);
}
}
}
String getFileName()
{
if (metaData != null)
{
return convertString(metaData.getFileName());
}
return null;
}
String getMediaType()
{
if (metaData != null)
{
return convertString(metaData.getMediaType());
}
return null;
}
Attributes getOtherMetaData()
{
if (metaData != null)
{
return metaData.getOtherMetaData();
}
return null;
}
private String convertString(ASN1String s)
{
if (s != null)
{
return s.toString();
}
return null;
}
}