Package eu.europa.esig.dss.signature
Class AbstractSignatureService<SP extends SerializableSignatureParameters,TP extends SerializableTimestampParameters>
java.lang.Object
eu.europa.esig.dss.signature.AbstractSignatureService<SP,TP>
- Type Parameters:
SP- SignatureParametersTP- TimestampParameters
- All Implemented Interfaces:
DocumentSignatureService<SP,,TP> Serializable
- Direct Known Subclasses:
AbstractASiCSignatureService,CAdESService,JAdESService,PAdESService,XAdESService
public abstract class AbstractSignatureService<SP extends SerializableSignatureParameters,TP extends SerializableTimestampParameters>
extends Object
implements DocumentSignatureService<SP,TP>
The abstract class containing the main methods for a signature creation/extension
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final CertificateVerifierThe CertificateVerifier used for a certificate chain validationprotected TSPSourceThe TSPSource to use for timestamp requests -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractSignatureService(CertificateVerifier certificateVerifier) To construct a signature service theCertificateVerifiermust be set and cannot be null. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidassertSigningCertificateValid(AbstractSignatureParameters<?> parameters) This method raises an exception if the signing rules forbid the use the certificate.protected SignatureValueensureSignatureValue(SignatureAlgorithm targetSignatureAlgorithm, SignatureValue signatureValue) This method ensures the providedsignatureValuehas the expectedtargetSignatureAlgorithmprotected StringgetFinalDocumentName(DSSDocument originalFile, SigningOperation operation, SignatureLevel level, MimeType containerMimeType) Generates and returns a final name for the document to createprotected StringgetFinalDocumentName(DSSDocument originalFile, SigningOperation operation, SignatureLevel level, SignaturePackaging packaging, MimeType containerMimeType) Generates and returns a final name for the document to createprotected StringgetFinalFileName(DSSDocument originalFile, SigningOperation operation) Returns the final name for the document to createprotected StringgetFinalFileName(DSSDocument originalFile, SigningOperation operation, SignatureLevel level) Returns the final name for the document to createprotected StringgetFinalFileName(DSSDocument originalFile, SigningOperation operation, SignatureLevel level, SignaturePackaging packaging) Returns the final name for the document to createbooleanisValidSignatureValue(ToBeSigned toBeSigned, SignatureValue signatureValue, CertificateToken signingCertificate) Verifies the signature value against aToBeSignedand aCertificateTokenvoidsetTspSource(TSPSource tspSource) This setter allows to define the TSP (timestamp provider) source.timestamp(DSSDocument toTimestampDocument, TP parameters) This method allows to add a timestamp to an unsigned documentMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface eu.europa.esig.dss.signature.DocumentSignatureService
extendDocument, getContentTimestamp, getDataToSign, signDocument
-
Field Details
-
certificateVerifier
The CertificateVerifier used for a certificate chain validation -
tspSource
The TSPSource to use for timestamp requests
-
-
Constructor Details
-
AbstractSignatureService
To construct a signature service theCertificateVerifiermust be set and cannot be null.- Parameters:
certificateVerifier-CertificateVerifierprovides information on the sources to be used in the validation process in the context of a signature.
-
-
Method Details
-
setTspSource
Description copied from interface:DocumentSignatureServiceThis setter allows to define the TSP (timestamp provider) source.- Specified by:
setTspSourcein interfaceDocumentSignatureService<SP extends SerializableSignatureParameters,TP extends SerializableTimestampParameters> - Parameters:
tspSource- The time stamp source which is used when timestamping the signature.
-
assertSigningCertificateValid
This method raises an exception if the signing rules forbid the use the certificate.- Parameters:
parameters- set of driving signing parameters
-
ensureSignatureValue
protected SignatureValue ensureSignatureValue(SignatureAlgorithm targetSignatureAlgorithm, SignatureValue signatureValue) This method ensures the providedsignatureValuehas the expectedtargetSignatureAlgorithm- Parameters:
targetSignatureAlgorithm-SignatureAlgorithmto convert the signatureValue tosignatureValue-SignatureValueobtained from a signing token- Returns:
SignatureValuewith the definedSignatureAlgorithmin parameters
-
getFinalDocumentName
protected String getFinalDocumentName(DSSDocument originalFile, SigningOperation operation, SignatureLevel level, SignaturePackaging packaging, MimeType containerMimeType) Generates and returns a final name for the document to create- Parameters:
originalFile-DSSDocumentoriginal signed/extended documentoperation-SigningOperationthe performed signing operationlevel-SignatureLevelthe final signature levelpackaging-SignaturePackagingthe used packaging to create original signaturecontainerMimeType-MimeTypethe expected mimeType- Returns:
Stringthe document filename
-
getFinalFileName
Returns the final name for the document to create- Parameters:
originalFile-DSSDocumentoriginal signed/extended documentoperation-SigningOperationthe performed signing operation- Returns:
Stringthe document filename
-
getFinalFileName
protected String getFinalFileName(DSSDocument originalFile, SigningOperation operation, SignatureLevel level) Returns the final name for the document to create- Parameters:
originalFile-DSSDocumentoriginal signed/extended documentoperation-SigningOperationthe performed signing operationlevel-SignatureLevelthe final signature level- Returns:
Stringthe document filename
-
getFinalFileName
protected String getFinalFileName(DSSDocument originalFile, SigningOperation operation, SignatureLevel level, SignaturePackaging packaging) Returns the final name for the document to create- Parameters:
originalFile-DSSDocumentoriginal signed/extended documentoperation-SigningOperationthe performed signing operationlevel-SignatureLevelthe final signature levelpackaging-SignaturePackagingthe used packaging to create original signature- Returns:
Stringthe document filename
-
getFinalDocumentName
protected String getFinalDocumentName(DSSDocument originalFile, SigningOperation operation, SignatureLevel level, MimeType containerMimeType) Generates and returns a final name for the document to create- Parameters:
originalFile-DSSDocumentoriginal signed/extended documentoperation-SigningOperationthe performed signing operationlevel-SignatureLevelthe final signature levelcontainerMimeType-MimeTypethe expected mimeType- Returns:
Stringthe document filename
-
timestamp
Description copied from interface:DocumentSignatureServiceThis method allows to add a timestamp to an unsigned document- Specified by:
timestampin interfaceDocumentSignatureService<SP extends SerializableSignatureParameters,TP extends SerializableTimestampParameters> - Parameters:
toTimestampDocument- the document to be timestampedparameters- set of the driving timestamping parameters- Returns:
- the timestamped document
-
isValidSignatureValue
public boolean isValidSignatureValue(ToBeSigned toBeSigned, SignatureValue signatureValue, CertificateToken signingCertificate) Description copied from interface:DocumentSignatureServiceVerifies the signature value against aToBeSignedand aCertificateToken- Specified by:
isValidSignatureValuein interfaceDocumentSignatureService<SP extends SerializableSignatureParameters,TP extends SerializableTimestampParameters> - Parameters:
toBeSigned- the signed datasignatureValue- the signature valuesigningCertificate- the used certificate to create the signature value- Returns:
- true if the signature value is valid
-