package at.gv.egiz.eaaf.modules.sigverify.moasig.api.data;
import java.util.Date;
import java.util.List;
import javax.annotation.Nonnull;
import org.springframework.lang.Nullable;
import at.gv.egiz.eaaf.modules.sigverify.moasig.exceptions.MoaSigServiceException;
import at.gv.egiz.eaaf.modules.sigverify.moasig.impl.data.GenericSignatureVerificationResponse.ExtendedCertificateValidation;
import at.gv.egiz.eaaf.modules.sigverify.moasig.impl.data.GenericSignatureVerificationResponse.ExtendedResult;
import iaik.x509.X509Certificate;
public interface IGenericSignatureVerificationResponse {
/**
* Returns the signing time.
*
* @return Signing time, or null if signature contains no time information
*/
@Nullable
Date getSigningDateTime();
/**
* Returns the signatureCheckCode.
*
* @return int
*/
int getSignatureCheckCode();
/**
* Returns the certificateCheckCode.
*
* @return int
*/
int getCertificateCheckCode();
/**
* Returns the qualifiedCertificate.
*
* @return boolean
*/
boolean isQualifiedCertificate();
/**
* Returns the X509 certificate.
*
* @return X509Certificate, or null if no certificate information exists
* @throws MoaSigServiceException if X509 certificate can not be deserialized
*/
@Nullable
X509Certificate getX509Certificate() throws MoaSigServiceException;
/**
* Returns the X509 certificate in serialized form.
*
* @return Serialized X509 certificate, or null if no certificate information
* exists
*/
@Nullable
byte[] getX509CertificateEncoded();
/**
* Returns the publicAuthority.
*
* @return boolean
*/
boolean isPublicAuthority();
/**
* Returns the publicAuthorityCode.
*
* @return String OID, or null if no OID exists
*/
@Nullable
String getPublicAuthorityCode();
/**
* Return the signature-algorithm that was used for signing or null
if no result exists.
*
*
This result requires extended validation.
* * @return */ @Nullable String getSignatureAlgorithmIdentifier(); /** * Return the extended certificate-validation result ornull
if no result exists.
* This result requires extended validation.
* * @return */ @Nullable ExtendedCertificateValidation getExtendedCertificateValidation(); /** * Return the form-validation result or an empty list if no result exists. *This result requires extended validation.
* * @return */ @Nonnull List