/** * */ package at.gv.egiz.pdfas.impl.api.commons; import java.security.cert.X509Certificate; import java.util.Date; import at.gv.egiz.pdfas.api.commons.Constants; import at.gv.egiz.pdfas.api.commons.SignatureInformation; import at.gv.egiz.pdfas.api.io.DataSource; import at.knowcenter.wag.egov.egiz.pdf.EGIZDate; import at.knowcenter.wag.egov.egiz.pdf.SignatureHolder; /** * Adapter that converts a framework SignatureHolder to an API * SignatureInformation. * * @author wprinz */ public class SignatureInformationAdapter implements SignatureInformation { /** * The framework SignatureHolder to be adapted to an API SignatureInformation. */ protected SignatureHolder signatureHolder = null; /** * Constructor. * * @param signatureHolder * The framework SignatureHolder to be adapted to an API * SignatureInformation. */ public SignatureInformationAdapter(SignatureHolder signatureHolder) { this.signatureHolder = signatureHolder; } /** * @see at.gv.egiz.pdfas.api.commons.SignatureInformation#getSignedData() */ public DataSource getSignedData() { return new DataSourceApiAdapter(this.signatureHolder.getDataSource()); } /** * @see at.gv.egiz.pdfas.api.commons.SignatureInformation#getInternalSignatureInformation() */ public Object getInternalSignatureInformation() { return this.signatureHolder; } /** * @see at.gv.egiz.pdfas.api.commons.SignatureInformation#getSignatureType() */ public String getSignatureType() { if (this.signatureHolder.getSignatureObject().isBinary()) { return Constants.SIGNATURE_TYPE_BINARY; } return Constants.SIGNATURE_TYPE_TEXTUAL; } /** * @see at.gv.egiz.pdfas.api.commons.SignatureInformation#getSignerCertificate() */ public X509Certificate getSignerCertificate() { return this.signatureHolder.getSignatureObject().getX509Cert().getX509Certificate(); } /** * @see at.gv.egiz.pdfas.api.commons.SignatureInformation#getSigningTime() */ public Date getSigningTime() { String date_value = this.signatureHolder.getSignatureObject().getSignationDate(); Date date = EGIZDate.parseDateFromString(date_value); return date; } }