summaryrefslogtreecommitdiff
path: root/eaaf_modules/eaaf_module_moa-sig/src/main/java/at/gv/egiz/eaaf/modules/sigverify/moasig/impl/data/GenericSignatureVerificationResponse.java
diff options
context:
space:
mode:
Diffstat (limited to 'eaaf_modules/eaaf_module_moa-sig/src/main/java/at/gv/egiz/eaaf/modules/sigverify/moasig/impl/data/GenericSignatureVerificationResponse.java')
-rw-r--r--eaaf_modules/eaaf_module_moa-sig/src/main/java/at/gv/egiz/eaaf/modules/sigverify/moasig/impl/data/GenericSignatureVerificationResponse.java146
1 files changed, 96 insertions, 50 deletions
diff --git a/eaaf_modules/eaaf_module_moa-sig/src/main/java/at/gv/egiz/eaaf/modules/sigverify/moasig/impl/data/GenericSignatureVerificationResponse.java b/eaaf_modules/eaaf_module_moa-sig/src/main/java/at/gv/egiz/eaaf/modules/sigverify/moasig/impl/data/GenericSignatureVerificationResponse.java
index 52fedb62..28501c54 100644
--- a/eaaf_modules/eaaf_module_moa-sig/src/main/java/at/gv/egiz/eaaf/modules/sigverify/moasig/impl/data/GenericSignatureVerificationResponse.java
+++ b/eaaf_modules/eaaf_module_moa-sig/src/main/java/at/gv/egiz/eaaf/modules/sigverify/moasig/impl/data/GenericSignatureVerificationResponse.java
@@ -2,23 +2,30 @@ package at.gv.egiz.eaaf.modules.sigverify.moasig.impl.data;
import java.io.Serializable;
import java.security.cert.CertificateException;
+import java.util.ArrayList;
import java.util.Date;
+import java.util.List;
import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import at.gv.egiz.eaaf.modules.sigverify.moasig.api.data.IGenericSignatureVerificationResponse;
import at.gv.egiz.eaaf.modules.sigverify.moasig.exceptions.MoaSigServiceException;
import at.gv.egiz.eaaf.modules.sigverify.moasig.exceptions.MoaSigServiceParserException;
+import at.gv.egovernment.moa.spss.api.common.ExtendedCertificateCheckResult;
+import at.gv.egovernment.moa.spss.api.xmlverify.AdESFormResults;
import iaik.x509.X509Certificate;
-
+import lombok.Builder;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.extern.slf4j.Slf4j;
+
+@Slf4j
+@Getter
+@Setter
public class GenericSignatureVerificationResponse
implements IGenericSignatureVerificationResponse, Serializable {
private static final long serialVersionUID = -7751001050689401118L;
- private static final Logger log =
- LoggerFactory.getLogger(GenericSignatureVerificationResponse.class);
/** The signing time. */
private Date signingDateTime;
@@ -39,7 +46,16 @@ public class GenericSignatureVerificationResponse
private boolean qualifiedCertificate;
private byte[] x509CertificateEncoded;
-
+
+ /**
+ * Identifier of the signing algorithm.
+ */
+ private String signatureAlgorithmIdentifier;
+
+ private ExtendedCertificateValidation extendedCertificateValidation;
+
+ private List<ExtendedResult> formValidationResults = new ArrayList<>();
+
@Override
public Date getSigningDateTime() {
if (this.signingDateTime != null) {
@@ -50,24 +66,6 @@ public class GenericSignatureVerificationResponse
}
@Override
- public int getSignatureCheckCode() {
- return this.signatureCheckCode;
-
- }
-
- @Override
- public int getCertificateCheckCode() {
- return this.certificateCheckCode;
-
- }
-
- @Override
- public boolean isQualifiedCertificate() {
- return this.qualifiedCertificate;
-
- }
-
- @Override
public X509Certificate getX509Certificate() throws MoaSigServiceException {
if (x509CertificateEncoded != null) {
try {
@@ -96,12 +94,6 @@ public class GenericSignatureVerificationResponse
}
@Override
- public boolean isPublicAuthority() {
- return this.publicAuthority;
-
- }
-
- @Override
public String getPublicAuthorityCode() {
if (StringUtils.isNotEmpty(this.publicAuthorityCode)) {
return this.publicAuthorityCode;
@@ -124,26 +116,6 @@ public class GenericSignatureVerificationResponse
}
}
- public void setSignatureCheckCode(final int signatureCheckCode) {
- this.signatureCheckCode = signatureCheckCode;
- }
-
- public void setCertificateCheckCode(final int certificateCheckCode) {
- this.certificateCheckCode = certificateCheckCode;
- }
-
- public void setPublicAuthority(final boolean publicAuthority) {
- this.publicAuthority = publicAuthority;
- }
-
- public void setPublicAuthorityCode(final String publicAuthorityCode) {
- this.publicAuthorityCode = publicAuthorityCode;
- }
-
- public void setQualifiedCertificate(final boolean qualifiedCertificate) {
- this.qualifiedCertificate = qualifiedCertificate;
- }
-
/**
* Set encoded signer certificate.
*
@@ -156,4 +128,78 @@ public class GenericSignatureVerificationResponse
}
}
+ /**
+ * Set extended certificate-validation result.
+ *
+ * @param extendedCertificateCheck Extended result from MOA-Sig
+ */
+ public void setExtendedCertificateCheckResult(ExtendedCertificateCheckResult extendedCertificateCheck) {
+ if (extendedCertificateCheck != null) {
+ this.extendedCertificateValidation = ExtendedCertificateValidation.builder()
+ .majorResult(ExtendedResult.builder()
+ .code(extendedCertificateCheck.getMajorCode())
+ .info(extendedCertificateCheck.getMajorInfo())
+ .build())
+ .minorResult(ExtendedResult.builder()
+ .code(extendedCertificateCheck.getMinorCode())
+ .info(extendedCertificateCheck.getMinorInfo())
+ .build())
+ .build();
+
+ } else {
+ log.debug("No extended verification-result. Skipping certificate-result extraction ... ");
+
+ }
+ }
+
+ /**
+ * Set form-validation result.
+ *
+ * @param formCheckResult Extended form-validation result from MOA-Sig
+ */
+ public void setFormValidationResults(List<?> formCheckResult) {
+ if (formCheckResult != null) {
+ for (Object elObj : formCheckResult) {
+ if (elObj instanceof AdESFormResults) {
+ AdESFormResults el = (AdESFormResults)elObj;
+ formValidationResults.add(ExtendedResult.builder()
+ .code(el.getCode())
+ .info(el.getName())
+ .build());
+
+ } else {
+ log.warn("Skip unknown form-validation result of type: {}", elObj.getClass().getName());
+
+ }
+ }
+
+ } else {
+ log.debug("No extended verification-result. Skipping form-validation result extraction ... ");
+
+ }
+
+ }
+
+ @Getter
+ @Builder
+ public static class ExtendedCertificateValidation implements Serializable {
+
+ private static final long serialVersionUID = -7800026008655393276L;
+
+ private ExtendedResult majorResult;
+ private ExtendedResult minorResult;
+
+ }
+
+ @Getter
+ @Builder
+ public static class ExtendedResult implements Serializable {
+
+ private static final long serialVersionUID = 8523769744476971010L;
+
+ private int code;
+ private String info;
+
+ }
+
}