/** * */ package at.gv.egiz.pdfas.impl.api.verify; import java.security.cert.X509Certificate; import java.util.ArrayList; import java.util.Date; import java.util.List; import at.gv.egiz.pdfas.api.verify.SignatureCheck; import at.gv.egiz.pdfas.api.verify.VerifyResult; import at.gv.egiz.pdfas.impl.api.commons.SignatureInformationAdapter; import at.knowcenter.wag.egov.egiz.exceptions.SettingNotFoundException; import at.knowcenter.wag.egov.egiz.pdf.SignatureHolder; import at.knowcenter.wag.egov.egiz.sig.SignatureResponse; /** * Implements the VerifyResult interface. * * @author wprinz */ public class VerifyResultAdapter extends SignatureInformationAdapter implements VerifyResult { protected SignatureResponse sigRes = null; protected Date vTime = null; /** * Constructor. * * @param sigRes * The SignatureResponse. * @param sh * The SignatureHolder. * @param verificationTime * The time of verification. This is directly returned by {@link #getVerificationTime()} */ public VerifyResultAdapter(SignatureResponse sigRes, SignatureHolder sh, Date verificationTime) { super(sh); this.sigRes = sigRes; this.vTime = verificationTime; } /** * @see at.gv.egiz.pdfas.api.verify.VerifyResult#getCertificateCheck() */ public SignatureCheck getCertificateCheck() { return new SignatureCheckImpl(Integer.parseInt(this.sigRes.getCertificateCheckCode()), this.sigRes.getCertificateCheckInfo()); } /** * @see at.gv.egiz.pdfas.api.verify.VerifyResult#getManifestCheckCode() */ public SignatureCheck getManifestCheckCode() { return new SignatureCheckImpl(Integer.parseInt(this.sigRes.getSignatureManifestCheckCode()), this.sigRes.getSignatureManifestCheckInfo()); } /** * @see at.gv.egiz.pdfas.api.verify.VerifyResult#getValueCheckCode() */ public SignatureCheck getValueCheckCode() { return new SignatureCheckImpl(Integer.parseInt(this.sigRes.getSignatureCheckCode()), this.sigRes.getSignatureCheckInfo()); } /** * @see at.gv.egiz.pdfas.api.verify.VerifyResult#getVerificationTime() */ public Date getVerificationTime() { return this.vTime; } /** * @see at.gv.egiz.pdfas.api.verify.VerifyResult#isQualifiedCertificate() */ public boolean isQualifiedCertificate() { return this.sigRes.isQualifiedCertificate(); } /** * @see at.gv.egiz.pdfas.api.verify.VerifyResult#getPublicProperties() */ public List getPublicProperties() { try { return this.sigRes.getPublicProperties(); } catch (SettingNotFoundException e) { e.printStackTrace(); return new ArrayList(); } } /** * @see at.gv.egiz.pdfas.api.commons.SignatureInformation#getInternalSignatureInformation() */ public Object getInternalSignatureInformation() { return null; } /** * @see at.gv.egiz.pdfas.api.commons.SignatureInformation#getSignerCertificate() */ public X509Certificate getSignerCertificate() { // TODO this should be the same as the signature holder's cert. return this.sigRes.getCertificate().getX509Certificate(); } /** * @see at.gv.egiz.pdfas.api.verify.VerifyResult#getHashInputData() */ public String getHashInputData() { return this.sigRes.getHashInputData(); } }