package org.bouncycastle.tsp.cms;
import java.io.IOException;
import org.bouncycastle.asn1.ASN1Encoding;
import org.bouncycastle.asn1.ASN1String;
import org.bouncycastle.asn1.cms.Attributes;
import org.bouncycastle.asn1.cms.MetaData;
import org.bouncycastle.cms.CMSException;
import org.bouncycastle.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.getEncoded(ASN1Encoding.DER));
}
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;
}
}