Code development platform for open source projects from the European Union institutions

Skip to content

Fixed setting signature filename when creating an asic container

Created by: rvillido

This modification fixes setting signature filename when creating asic containers. Previously the signatureFileName parameter was not used correctly.

There was also an exception when a container was signed twice. The following exceptions were thrown when a container was signed twice:

eu.europa.esig.dss.DSSException: java.util.zip.ZipException: duplicate entry: META-INF/null
    at eu.europa.esig.dss.asic.signature.ASiCService.createZipEntry(ASiCService.java:382)
    at eu.europa.esig.dss.asic.signature.ASiCService.buildXAdES(ASiCService.java:725)
    at eu.europa.esig.dss.asic.signature.ASiCService.storesSignature(ASiCService.java:398)
    at eu.europa.esig.dss.asic.signature.ASiCService.buildASiCContainer(ASiCService.java:298)
    at eu.europa.esig.dss.asic.signature.ASiCService.signDocument(ASiCService.java:177)
    at eu.europa.esig.dss.asic.signature.ASiCService.signDocument(ASiCService.java:84)
    at eu.europa.esig.dss.signature.AbstractTestSignature.sign(AbstractTestSignature.java:142)
    ...
Caused by: java.util.zip.ZipException: duplicate entry: META-INF/null
    at java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:233)
    at eu.europa.esig.dss.asic.signature.ASiCService.createZipEntry(ASiCService.java:380)
    ... 36 more
eu.europa.esig.dss.DSSException: java.util.zip.ZipException: duplicate entry: META-INF/signatures001.xml
    at eu.europa.esig.dss.asic.signature.ASiCService.createZipEntry(ASiCService.java:382)
    at eu.europa.esig.dss.asic.signature.ASiCService.buildXAdES(ASiCService.java:716)
    at eu.europa.esig.dss.asic.signature.ASiCService.storesSignature(ASiCService.java:398)
    at eu.europa.esig.dss.asic.signature.ASiCService.buildASiCContainer(ASiCService.java:298)
    at eu.europa.esig.dss.asic.signature.ASiCService.signDocument(ASiCService.java:177)
    at eu.europa.esig.dss.asic.signature.ASiCService.signDocument(ASiCService.java:84)
    at eu.europa.esig.dss.signature.AbstractTestSignature.sign(AbstractTestSignature.java:142)
    ...
Caused by: java.util.zip.ZipException: duplicate entry: META-INF/signatures001.xml
    at java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:233)
    at eu.europa.esig.dss.asic.signature.ASiCService.createZipEntry(ASiCService.java:380)
    ... 36 more

I also added a unit test for testing setting specific signature file name.

Merge request reports