Package org.digidoc4j

Class DetachedXadesSignatureBuilder

java.lang.Object
org.digidoc4j.DetachedXadesSignatureBuilder

public class DetachedXadesSignatureBuilder extends Object
  • Constructor Details

    • DetachedXadesSignatureBuilder

      public DetachedXadesSignatureBuilder()
  • Method Details

    • withConfiguration

      public static DetachedXadesSignatureBuilder withConfiguration(Configuration configuration)
      Specify configuration for the builder.
      Parameters:
      configuration - configuration to be used for creating the signature.
      Returns:
      builder for creating a signature.
    • withDataFile

      public DetachedXadesSignatureBuilder withDataFile(DataFile dataFile)
      Add a data file to builder.
      Parameters:
      dataFile - data file to be added to the builder.
      Returns:
      builder for creating a signature.
    • withSigningCertificate

      public DetachedXadesSignatureBuilder withSigningCertificate(X509Certificate certificate)
      Set a signing certificate to be used when creating data to be signed.
      Parameters:
      certificate - X509 signer's certificate.
      Returns:
      builder for creating a signature.
    • withSignatureDigestAlgorithm

      public DetachedXadesSignatureBuilder withSignatureDigestAlgorithm(DigestAlgorithm digestAlgorithm)
      Set signature digest algorithm used to generate a signature.
      Parameters:
      digestAlgorithm - signature digest algorithm.
      Returns:
      builder for creating a signature.
    • withDataFileDigestAlgorithm

      public DetachedXadesSignatureBuilder withDataFileDigestAlgorithm(DigestAlgorithm digestAlgorithm)
      Set signature digest algorithm used to generate a signature.
      Parameters:
      digestAlgorithm - signature digest algorithm.
      Returns:
      builder for creating a signature.
    • withCity

      public DetachedXadesSignatureBuilder withCity(String cityName)
      Set a city to the signature production place.
      Parameters:
      cityName - city to use on the signature production place.
      Returns:
      builder for creating a signature
    • withStateOrProvince

      public DetachedXadesSignatureBuilder withStateOrProvince(String stateOrProvince)
      Set a state or province to the signature production place.
      Parameters:
      stateOrProvince - name of the state or province on the signature production place.
      Returns:
      builder for creating a signature.
    • withPostalCode

      public DetachedXadesSignatureBuilder withPostalCode(String postalCode)
      Set a postal code to the signature production place.
      Parameters:
      postalCode - postal code on the signature production place.
      Returns:
      builder for creating a signature.
    • withCountry

      public DetachedXadesSignatureBuilder withCountry(String country)
      Set a country name to the signature production place.
      Parameters:
      country - name of the country on the signature production place.
      Returns:
      builder for creating a signature.
    • withRoles

      public DetachedXadesSignatureBuilder withRoles(String... roles)
      Set roles to the signer.
      Parameters:
      roles - list of roles of a signer.
      Returns:
      builder for creating a signature.
    • withSignatureId

      public DetachedXadesSignatureBuilder withSignatureId(String signatureId)
      Set signature ID.
      Parameters:
      signatureId - signature id.
      Returns:
      builder for creating a signature.
    • withEncryptionAlgorithm

      public DetachedXadesSignatureBuilder withEncryptionAlgorithm(EncryptionAlgorithm encryptionAlgorithm)
      Set encryption algorithm to be used in the signing process.
      Parameters:
      encryptionAlgorithm - encryption algorithm.
      Returns:
      builder for creating a signature.
    • withSignatureProfile

      public DetachedXadesSignatureBuilder withSignatureProfile(SignatureProfile signatureProfile)
      Set a signature profile: Time Stamp, Archive Time Stamp or no profile. Default is Time Stamp.
      Parameters:
      signatureProfile - signature profile.
      Returns:
      builder for creating a signature.
    • withOwnSignaturePolicy

      public DetachedXadesSignatureBuilder withOwnSignaturePolicy(eu.europa.esig.dss.model.Policy signaturePolicy)
      Set signature policy parameters.

      The default implementation throws NotSupportedException.

      Parameters:
      signaturePolicy - with defined parameters.
      Returns:
      SignatureBuilder
    • withSignatureToken

      public DetachedXadesSignatureBuilder withSignatureToken(SignatureToken signatureToken)
      Set signature token to be used in the signing process.
      Parameters:
      signatureToken - signature token.
      Returns:
      builder for creating a signature.
    • buildDataToSign

      Creates data to be signed externally.

      If the signing process involves signing the container externally (e.g. signing in the Web by a browser plugin), then DataToSign provides necessary data for creating a signature externally.

      Returns:
      data to be signed externally.
      Throws:
      SignerCertificateRequiredException - signer certificate must be provided using withSigningCertificate(X509Certificate)
      DataFileMissingException - builder must have at least one data file to be signed.
    • finalizeSignature

      public Signature finalizeSignature(byte[] signatureValue)
    • invokeSigning

      public Signature invokeSigning() throws SignatureTokenMissingException
      Invokes a signing process on the container with a signature token (See SignatureToken). Signature token must be provided with withSignatureToken(SignatureToken).
      Returns:
      a new signature on the container.
      Throws:
      SignatureTokenMissingException - if signature token is not provided with withSignatureToken(SignatureToken)
      See Also:
    • openAdESSignature

      public Signature openAdESSignature(byte[] signatureDocument)
      Creates signature object from XadES signature xml.
      Parameters:
      signatureDocument - XadES signature xml bytes.
      Returns:
      builder for creating a signature.