All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.digidoc4j.impl.asic.asice.AsicESignatureFinalizer Maven / Gradle / Ivy

Go to download

DigiDoc4j is a Java library for digitally signing documents and creating digital signature containers of signed documents

There is a newer version: 6.0.0
Show newest version
/* DigiDoc4J library
 *
 * This software is released under either the GNU Library General Public
 * License (see LICENSE.LGPL).
 *
 * Note that the only valid version of the LGPL license as far as this
 * project is concerned is the original GNU Library General Public License
 * Version 2.1, February 1999
 */

package org.digidoc4j.impl.asic.asice;

import org.digidoc4j.Configuration;
import org.digidoc4j.DataFile;
import org.digidoc4j.SignatureContainerMatcherValidator;
import org.digidoc4j.SignatureParameters;
import org.digidoc4j.exceptions.IllegalSignatureProfileException;
import org.digidoc4j.impl.asic.AsicSignature;
import org.digidoc4j.impl.asic.AsicSignatureFinalizer;
import org.digidoc4j.impl.asic.xades.XadesSignatureWrapper;

import java.util.List;

/**
 * ASiCE signature finalizer for datafiles signing process.
 */
public class AsicESignatureFinalizer extends AsicSignatureFinalizer {

  public AsicESignatureFinalizer(List dataFilesToSign, SignatureParameters signatureParameters, Configuration configuration) {
    super(dataFilesToSign, signatureParameters, configuration);
  }

  @Override
  protected AsicSignature asAsicSignature(XadesSignatureWrapper signatureWrapper) {
    return new AsicESignatureOpener(configuration).open(signatureWrapper);
  }

  @Override
  protected void validateSignatureCompatibility() {
    if (SignatureContainerMatcherValidator.isBDocOnlySignature(signatureParameters.getSignatureProfile())) {
      throw new IllegalSignatureProfileException(String.format(
              "Cannot create BDoc specific (%s) signature",
              signatureParameters.getSignatureProfile()
      ));
    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy