From 00e4e0cbaf7fe6b2ecb08011995f00e503981911 Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Tue, 13 Feb 2018 11:27:02 +0100 Subject: add infos about signature and hash algorithms into responses --- .../java/at/gv/egiz/asic/impl/verifier/ExtendedCAdESVerifier.java | 8 +++++--- .../java/at/gv/egiz/asic/impl/verifier/ExtendedXAdESVerifier.java | 7 ++++--- .../java/at/gv/egiz/asic/impl/verifier/SimpleCAdESVerifier.java | 7 ++++--- .../java/at/gv/egiz/asic/impl/verifier/SimpleXAdESVerifier.java | 7 ++++--- 4 files changed, 17 insertions(+), 12 deletions(-) (limited to 'moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier') diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/ExtendedCAdESVerifier.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/ExtendedCAdESVerifier.java index 9f16035..c227a9d 100644 --- a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/ExtendedCAdESVerifier.java +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/ExtendedCAdESVerifier.java @@ -6,6 +6,7 @@ import at.gv.egiz.asic.api.ASiC; import at.gv.egiz.asic.api.ASiCEntry; import at.gv.egiz.asic.api.ASiCFormat; import at.gv.egiz.asic.api.ASiCVerificationResult; +import at.gv.egiz.asic.impl.AsicSignedFilesContainer; import at.gv.egovernment.moa.spss.MOAApplicationException; import at.gv.egovernment.moa.spss.MOAException; import at.gv.egovernment.moa.spss.MOASystemException; @@ -73,14 +74,14 @@ public class ExtendedCAdESVerifier extends CAdESVerifier { // verify all references boolean allReferencesValid = true; - List signedFiles = new ArrayList(); + List signedFiles = new ArrayList(); Iterator dataObjectReferenceTypeIterator = asiCManifestType.getDataObjectReference().iterator(); while (dataObjectReferenceTypeIterator.hasNext()) { DataObjectReferenceType dataObjectReferenceType = dataObjectReferenceTypeIterator.next(); String mdURI = dataObjectReferenceType.getDigestMethod().getAlgorithm(); String uri = dataObjectReferenceType.getURI(); - signedFiles.add(uri); + signedFiles.add(new AsicSignedFilesContainer(uri, mdURI)); Iterator dataEntryIterator = asic.getDataEntries().iterator(); @@ -149,7 +150,8 @@ public class ExtendedCAdESVerifier extends CAdESVerifier { signatureCheck, orig.getCertificateCheck(), orig.getAdESFormResults(), - orig.getExtendedCertificateCheck()); + orig.getExtendedCertificateCheck(), + orig.getSignatureAlgorithm()); responseElements.add(responseElement); } VerifyCMSSignatureResponse verifyCMSSignatureResponse = SPSSFactory.getInstance(). diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/ExtendedXAdESVerifier.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/ExtendedXAdESVerifier.java index c07efd9..86918bf 100644 --- a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/ExtendedXAdESVerifier.java +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/ExtendedXAdESVerifier.java @@ -7,6 +7,7 @@ import at.gv.egiz.asic.api.ASiC; import at.gv.egiz.asic.api.ASiCEntry; import at.gv.egiz.asic.api.ASiCFormat; import at.gv.egiz.asic.api.ASiCVerificationResult; +import at.gv.egiz.asic.impl.AsicSignedFilesContainer; import at.gv.egovernment.moa.spss.MOAApplicationException; import at.gv.egovernment.moa.spss.MOAException; import at.gv.egovernment.moa.spss.MOARuntimeException; @@ -132,14 +133,14 @@ public class ExtendedXAdESVerifier extends XAdESVerifier { //JAXBContext jc = JAXBContext.newInstance( "at.gv.egiz.asic" ); //JAXBElement xmlSignatureJaxb = jc.createUnmarshaller().unmarshal(node, SignatureType.class); //SignatureType xmlSignature = xmlSignatureJaxb.getValue(); - List signedFiles = new ArrayList(); + List signedFiles = new ArrayList(); //Iterator it = xmlSignature.getSignedInfo().getReference().iterator(); Iterator it = xmlSignatures.get(i).getSignedInfo().getReference().iterator(); while (it.hasNext()) { ReferenceType refType = it.next(); - if (!refType.getURI().startsWith("#")) { - signedFiles.add(refType.getURI()); + if (!refType.getURI().startsWith("#")) { + signedFiles.add(new AsicSignedFilesContainer(refType.getURI(), refType.getDigestMethod().getAlgorithm())); } } diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/SimpleCAdESVerifier.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/SimpleCAdESVerifier.java index f10fe2f..f1756fa 100644 --- a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/SimpleCAdESVerifier.java +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/SimpleCAdESVerifier.java @@ -4,6 +4,7 @@ import at.gv.egiz.asic.api.ASiC; import at.gv.egiz.asic.api.ASiCEntry; import at.gv.egiz.asic.api.ASiCFormat; import at.gv.egiz.asic.api.ASiCVerificationResult; +import at.gv.egiz.asic.impl.AsicSignedFilesContainer; import at.gv.egovernment.moa.spss.MOAException; import at.gv.egovernment.moa.spss.api.SPSSFactory; import at.gv.egovernment.moa.spss.api.cmsverify.CMSContent; @@ -32,12 +33,12 @@ public class SimpleCAdESVerifier extends CAdESVerifier { //get first element ASiCEntry dataEntry = asic.getDataEntries().iterator().next(); - List signedFiles = new ArrayList(); - signedFiles.add(dataEntry.getEntryName()); + List signedFiles = new ArrayList(); + signedFiles.add(new AsicSignedFilesContainer(dataEntry.getEntryName(), null)); VerifyCMSSignatureResponse verifyResponse = this.runCMSVerification(dataEntry.getContents(), cadesSignature.getContents(), trustProfileID, date); - + response.add(new ASiCVerificationResult(signedFiles, verifyResponse)); } diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/SimpleXAdESVerifier.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/SimpleXAdESVerifier.java index a71462c..b378d5b 100644 --- a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/SimpleXAdESVerifier.java +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/impl/verifier/SimpleXAdESVerifier.java @@ -6,6 +6,7 @@ import at.gv.egiz.asic.api.ASiC; import at.gv.egiz.asic.api.ASiCEntry; import at.gv.egiz.asic.api.ASiCFormat; import at.gv.egiz.asic.api.ASiCVerificationResult; +import at.gv.egiz.asic.impl.AsicSignedFilesContainer; import at.gv.egovernment.moa.spss.MOAApplicationException; import at.gv.egovernment.moa.spss.MOAException; import at.gv.egovernment.moa.spss.MOARuntimeException; @@ -67,13 +68,13 @@ public class SimpleXAdESVerifier extends XAdESVerifier { for (int i = 0; i < signatureSize; i++) { - List signedFiles = new ArrayList(); + List signedFiles = new ArrayList(); Iterator it = xAdESSignaturesType.getSignature().get(i).getSignedInfo().getReference().iterator(); while (it.hasNext()) { ReferenceType refType = it.next(); if (!refType.getURI().startsWith("#")) { - signedFiles.add(refType.getURI()); + signedFiles.add(new AsicSignedFilesContainer(refType.getURI(), refType.getDigestMethod().getAlgorithm())); } } @@ -99,7 +100,7 @@ public class SimpleXAdESVerifier extends XAdESVerifier { supplementsList.add(profile); if (addAll) { - signedFiles.add(dataEntry.getEntryName()); + signedFiles.add(new AsicSignedFilesContainer(dataEntry.getEntryName(), null)); } } String location = "(//ds:Signature)[" + (i + 1) + "]"; -- cgit v1.2.3