Class XAdESBuilder
- java.lang.Object
-
- eu.europa.esig.dss.xades.signature.XAdESBuilder
-
- Direct Known Subclasses:
ExtensionBuilder,XAdESSignatureBuilder
public abstract class XAdESBuilder extends Object
-
-
Field Summary
-
Constructor Summary
Constructors Constructor Description XAdESBuilder(CertificateVerifier certificateVerifier)The default constructor.
-
Method Summary
Modifier and Type Method Description protected abstract voidalignNodes()protected DSSDocumentcreateXmlDocument()CreatesDSSDocumentfrom the current documentDomprotected ElementincorporateCert(Element parentDom, CertificateToken certificate)Creates Cert DOM object:protected voidincorporateCertificateRef(Element signingCertificateDom, Set<CertificateToken> certificates)Incorporates the certificate's references as a child of the given parent node.protected voidincorporateDigestMethod(Element parentDom, DigestAlgorithm digestAlgorithm)This method creates the ds:DigestMethod DOM objectprotected voidincorporateDigestValue(Element parentDom, DigestAlgorithm digestAlgorithm, Token token)This method creates the ds:DigestValue DOM object.protected voidincorporateDigestValue(Element parentDom, DSSReference dssReference, DigestAlgorithm digestAlgorithm, DSSDocument originalDocument)This method creates the ds:DigestValue DOM object.protected voidincorporateIssuerV1(Element parentDom, CertificateToken certificate)protected voidincorporateIssuerV2(Element parentDom, CertificateToken certificate)
-
-
-
Field Detail
-
DS_CANONICALIZATION_METHOD
public static final String DS_CANONICALIZATION_METHOD
- See Also:
- Constant Field Values
-
DS_DIGEST_METHOD
public static final String DS_DIGEST_METHOD
- See Also:
- Constant Field Values
-
DS_DIGEST_VALUE
public static final String DS_DIGEST_VALUE
- See Also:
- Constant Field Values
-
DS_KEY_INFO
public static final String DS_KEY_INFO
- See Also:
- Constant Field Values
-
DS_OBJECT
public static final String DS_OBJECT
- See Also:
- Constant Field Values
-
DS_REFERENCE
public static final String DS_REFERENCE
- See Also:
- Constant Field Values
-
DS_SIGNATURE
public static final String DS_SIGNATURE
- See Also:
- Constant Field Values
-
DS_SIGNATURE_METHOD
public static final String DS_SIGNATURE_METHOD
- See Also:
- Constant Field Values
-
DS_SIGNATURE_VALUE
public static final String DS_SIGNATURE_VALUE
- See Also:
- Constant Field Values
-
DS_SIGNED_INFO
public static final String DS_SIGNED_INFO
- See Also:
- Constant Field Values
-
DS_TRANSFORM
public static final String DS_TRANSFORM
- See Also:
- Constant Field Values
-
DS_TRANSFORMS
public static final String DS_TRANSFORMS
- See Also:
- Constant Field Values
-
DS_X509_CERTIFICATE
public static final String DS_X509_CERTIFICATE
- See Also:
- Constant Field Values
-
DS_X509_DATA
public static final String DS_X509_DATA
- See Also:
- Constant Field Values
-
DS_X509_SUBJECT_NAME
public static final String DS_X509_SUBJECT_NAME
- See Also:
- Constant Field Values
-
DS_X509_ISSUER_NAME
public static final String DS_X509_ISSUER_NAME
- See Also:
- Constant Field Values
-
DS_X509_SERIAL_NUMBER
public static final String DS_X509_SERIAL_NUMBER
- See Also:
- Constant Field Values
-
DS_XPATH
public static final String DS_XPATH
- See Also:
- Constant Field Values
-
DS_MANIFEST
public static final String DS_MANIFEST
- See Also:
- Constant Field Values
-
XADES_ALL_DATA_OBJECTS_TIME_STAMP
public static final String XADES_ALL_DATA_OBJECTS_TIME_STAMP
- See Also:
- Constant Field Values
-
XADES_ALL_SIGNED_DATA_OBJECTS
public static final String XADES_ALL_SIGNED_DATA_OBJECTS
- See Also:
- Constant Field Values
-
XADES_BY_KEY
public static final String XADES_BY_KEY
- See Also:
- Constant Field Values
-
XADES_BY_NAME
public static final String XADES_BY_NAME
- See Also:
- Constant Field Values
-
XADES_COUNTER_SIGNATURE
public static final String XADES_COUNTER_SIGNATURE
- See Also:
- Constant Field Values
-
XADES_CERT
public static final String XADES_CERT
- See Also:
- Constant Field Values
-
XADES_CERT_DIGEST
public static final String XADES_CERT_DIGEST
- See Also:
- Constant Field Values
-
XADES_CERT_REFS
public static final String XADES_CERT_REFS
- See Also:
- Constant Field Values
-
XADES_CERTIFICATE_VALUES
public static final String XADES_CERTIFICATE_VALUES
- See Also:
- Constant Field Values
-
XADES_REVOCATION_VALUES
public static final String XADES_REVOCATION_VALUES
- See Also:
- Constant Field Values
-
XADES_CERTIFIED_ROLES
public static final String XADES_CERTIFIED_ROLES
- See Also:
- Constant Field Values
-
XADES_CERTIFIED_ROLES_V2
public static final String XADES_CERTIFIED_ROLES_V2
- See Also:
- Constant Field Values
-
XADES_CERTIFIED_ROLE
public static final String XADES_CERTIFIED_ROLE
- See Also:
- Constant Field Values
-
XADES_CITY
public static final String XADES_CITY
- See Also:
- Constant Field Values
-
XADES_CLAIMED_ROLES
public static final String XADES_CLAIMED_ROLES
- See Also:
- Constant Field Values
-
XADES_CLAIMED_ROLE
public static final String XADES_CLAIMED_ROLE
- See Also:
- Constant Field Values
-
XADES_COMMITMENT_TYPE_ID
public static final String XADES_COMMITMENT_TYPE_ID
- See Also:
- Constant Field Values
-
XADES_COMMITMENT_TYPE_INDICATION
public static final String XADES_COMMITMENT_TYPE_INDICATION
- See Also:
- Constant Field Values
-
XADES_COMPLETE_CERTIFICATE_REFS
public static final String XADES_COMPLETE_CERTIFICATE_REFS
- See Also:
- Constant Field Values
-
XADES_COMPLETE_REVOCATION_REFS
public static final String XADES_COMPLETE_REVOCATION_REFS
- See Also:
- Constant Field Values
-
XADES_COUNTRY_NAME
public static final String XADES_COUNTRY_NAME
- See Also:
- Constant Field Values
-
XADES_CRL_IDENTIFIER
public static final String XADES_CRL_IDENTIFIER
- See Also:
- Constant Field Values
-
XADES_CRL_REF
public static final String XADES_CRL_REF
- See Also:
- Constant Field Values
-
XADES_CRL_REFS
public static final String XADES_CRL_REFS
- See Also:
- Constant Field Values
-
XADES_DATA_OBJECT_FORMAT
public static final String XADES_DATA_OBJECT_FORMAT
- See Also:
- Constant Field Values
-
XADES_DESCRIPTION
public static final String XADES_DESCRIPTION
- See Also:
- Constant Field Values
-
XADES_DIGEST_ALG_AND_VALUE
public static final String XADES_DIGEST_ALG_AND_VALUE
- See Also:
- Constant Field Values
-
XADES_ENCAPSULATED_TIME_STAMP
public static final String XADES_ENCAPSULATED_TIME_STAMP
- See Also:
- Constant Field Values
-
XADES_ENCAPSULATED_X509_CERTIFICATE
public static final String XADES_ENCAPSULATED_X509_CERTIFICATE
- See Also:
- Constant Field Values
-
XADES_IDENTIFIER
public static final String XADES_IDENTIFIER
- See Also:
- Constant Field Values
-
XADES_INCLUDE
public static final String XADES_INCLUDE
- See Also:
- Constant Field Values
-
XADES_INDIVIDUAL_DATA_OBJECTS_TIME_STAMP
public static final String XADES_INDIVIDUAL_DATA_OBJECTS_TIME_STAMP
- See Also:
- Constant Field Values
-
XADES_ISSUER
public static final String XADES_ISSUER
- See Also:
- Constant Field Values
-
XADES_ISSUER_SERIAL
public static final String XADES_ISSUER_SERIAL
- See Also:
- Constant Field Values
-
XADES_ISSUER_SERIAL_V2
public static final String XADES_ISSUER_SERIAL_V2
- See Also:
- Constant Field Values
-
XADES_ISSUER_TIME
public static final String XADES_ISSUER_TIME
- See Also:
- Constant Field Values
-
XADES_MIME_TYPE
public static final String XADES_MIME_TYPE
- See Also:
- Constant Field Values
-
XADES_OCSP_IDENTIFIER
public static final String XADES_OCSP_IDENTIFIER
- See Also:
- Constant Field Values
-
XADES_OCSP_REF
public static final String XADES_OCSP_REF
- See Also:
- Constant Field Values
-
XADES_OCSP_REFS
public static final String XADES_OCSP_REFS
- See Also:
- Constant Field Values
-
XADES_OCSP_RESPONDER_ID
public static final String XADES_OCSP_RESPONDER_ID
- See Also:
- Constant Field Values
-
XADES_POSTAL_CODE
public static final String XADES_POSTAL_CODE
- See Also:
- Constant Field Values
-
XADES_PRODUCED_AT
public static final String XADES_PRODUCED_AT
- See Also:
- Constant Field Values
-
XADES_QUALIFYING_PROPERTIES
public static final String XADES_QUALIFYING_PROPERTIES
- See Also:
- Constant Field Values
-
XADES_SIG_AND_REFS_TIME_STAMP
public static final String XADES_SIG_AND_REFS_TIME_STAMP
- See Also:
- Constant Field Values
-
XADES_SIG_AND_REFS_TIME_STAMP_V2
public static final String XADES_SIG_AND_REFS_TIME_STAMP_V2
- See Also:
- Constant Field Values
-
XADES_SIG_POLICY_HASH
public static final String XADES_SIG_POLICY_HASH
- See Also:
- Constant Field Values
-
XADES_SIG_POLICY_ID
public static final String XADES_SIG_POLICY_ID
- See Also:
- Constant Field Values
-
XADES_SIGNATURE_POLICY_ID
public static final String XADES_SIGNATURE_POLICY_ID
- See Also:
- Constant Field Values
-
XADES_SIGNATURE_POLICY_IDENTIFIER
public static final String XADES_SIGNATURE_POLICY_IDENTIFIER
- See Also:
- Constant Field Values
-
XADES_SIGNATURE_POLICY_IMPLIED
public static final String XADES_SIGNATURE_POLICY_IMPLIED
- See Also:
- Constant Field Values
-
XADES_SIGNATURE_POLICY_QUALIFIERS
public static final String XADES_SIGNATURE_POLICY_QUALIFIERS
- See Also:
- Constant Field Values
-
XADES_SIGNATURE_POLICY_QUALIFIER
public static final String XADES_SIGNATURE_POLICY_QUALIFIER
- See Also:
- Constant Field Values
-
XADES_SIGNATURE_PRODUCTION_PLACE
public static final String XADES_SIGNATURE_PRODUCTION_PLACE
- See Also:
- Constant Field Values
-
XADES_SIGNATURE_PRODUCTION_PLACE_V2
public static final String XADES_SIGNATURE_PRODUCTION_PLACE_V2
- See Also:
- Constant Field Values
-
XADES_SIGNATURE_TIME_STAMP
public static final String XADES_SIGNATURE_TIME_STAMP
- See Also:
- Constant Field Values
-
XADES_SIGNED_DATA_OBJECT_PROPERTIES
public static final String XADES_SIGNED_DATA_OBJECT_PROPERTIES
- See Also:
- Constant Field Values
-
XADES_SIGNED_PROPERTIES
public static final String XADES_SIGNED_PROPERTIES
- See Also:
- Constant Field Values
-
XADES_SIGNED_SIGNATURE_PROPERTIES
public static final String XADES_SIGNED_SIGNATURE_PROPERTIES
- See Also:
- Constant Field Values
-
XADES_SIGNER_ROLE
public static final String XADES_SIGNER_ROLE
- See Also:
- Constant Field Values
-
XADES_SIGNER_ROLE_V2
public static final String XADES_SIGNER_ROLE_V2
- See Also:
- Constant Field Values
-
XADES_SIGNING_TIME
public static final String XADES_SIGNING_TIME
- See Also:
- Constant Field Values
-
XADES_SPURI
public static final String XADES_SPURI
- See Also:
- Constant Field Values
-
XADES_STREET_ADDRESS
public static final String XADES_STREET_ADDRESS
- See Also:
- Constant Field Values
-
XADES_UNSIGNED_PROPERTIES
public static final String XADES_UNSIGNED_PROPERTIES
- See Also:
- Constant Field Values
-
XADES_UNSIGNED_SIGNATURE_PROPERTIES
public static final String XADES_UNSIGNED_SIGNATURE_PROPERTIES
- See Also:
- Constant Field Values
-
XADES_STATE_OR_PROVINCE
public static final String XADES_STATE_OR_PROVINCE
- See Also:
- Constant Field Values
-
XADES141_ARCHIVE_TIME_STAMP
public static final String XADES141_ARCHIVE_TIME_STAMP
- See Also:
- Constant Field Values
-
XADES141_TIME_STAMP_VALIDATION_DATA
public static final String XADES141_TIME_STAMP_VALIDATION_DATA
- See Also:
- Constant Field Values
-
ALGORITHM
public static final String ALGORITHM
- See Also:
- Constant Field Values
-
ID
public static final String ID
- See Also:
- Constant Field Values
-
OBJECT_REFERENCE
public static final String OBJECT_REFERENCE
- See Also:
- Constant Field Values
-
REFERENCED_DATA
public static final String REFERENCED_DATA
- See Also:
- Constant Field Values
-
SIGNATURE
public static final String SIGNATURE
- See Also:
- Constant Field Values
-
TARGET
public static final String TARGET
- See Also:
- Constant Field Values
-
TYPE
public static final String TYPE
- See Also:
- Constant Field Values
-
URI
public static final String URI
- See Also:
- Constant Field Values
-
MIMETYPE
public static final String MIMETYPE
- See Also:
- Constant Field Values
-
QUALIFIER
public static final String QUALIFIER
- See Also:
- Constant Field Values
-
XMLNS_DS
public static final String XMLNS_DS
- See Also:
- Constant Field Values
-
XMLNS_XADES
public static final String XMLNS_XADES
- See Also:
- Constant Field Values
-
xPathQueryHolder
protected final XPathQueryHolder xPathQueryHolder
This variable holds theXPathQueryHolderwhich contains all constants and queries needed to cope with the default signature schema.
-
params
protected XAdESSignatureParameters params
-
documentDom
protected Document documentDom
This is the variable which represents the root XML document root (with signature).
-
certificateVerifier
protected CertificateVerifier certificateVerifier
Reference to the object in charge of certificates validation
-
-
Constructor Detail
-
XAdESBuilder
public XAdESBuilder(CertificateVerifier certificateVerifier)
The default constructor.- Parameters:
certificateVerifier-CertificateVerifier
-
-
Method Detail
-
incorporateDigestMethod
protected void incorporateDigestMethod(Element parentDom, DigestAlgorithm digestAlgorithm)
This method creates the ds:DigestMethod DOM object<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>- Parameters:
parentDom- the parent elementdigestAlgorithm- the digest algorithm xml identifier
-
incorporateDigestValue
protected void incorporateDigestValue(Element parentDom, DSSReference dssReference, DigestAlgorithm digestAlgorithm, DSSDocument originalDocument)
This method creates the ds:DigestValue DOM object.<ds:DigestValue>fj8SJujSXU4fi342bdtiKVbglA0=</ds:DigestValue>- Parameters:
parentDom- the parent elementdssReference- the current reference to incorporatedigestAlgorithm- the digest algorithm to be usedoriginalDocument- the document to be digested
-
incorporateDigestValue
protected void incorporateDigestValue(Element parentDom, DigestAlgorithm digestAlgorithm, Token token)
This method creates the ds:DigestValue DOM object.<ds:DigestValue>fj8SJujSXU4fi342bdtiKVbglA0=</ds:DigestValue>- Parameters:
parentDom- the parent elementdigestAlgorithm- the digest algorithm to usetoken- the token to be digested
-
incorporateCertificateRef
protected void incorporateCertificateRef(Element signingCertificateDom, Set<CertificateToken> certificates)
Incorporates the certificate's references as a child of the given parent node. The first element of theX509CertificateListMUST be the signing certificate.- Parameters:
signingCertificateDom- DOM parent elementcertificates-Listof the certificates to be incorporated
-
incorporateCert
protected Element incorporateCert(Element parentDom, CertificateToken certificate)
Creates Cert DOM object:<Cert> <CertDigest> <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <ds:DigestValue>fj8SJujSXU4fi342bdtiKVbglA0=</ds:DigestValue> </CertDigest> <IssuerSerial> <ds:X509IssuerName>CN=ICA A,O=DSS,C=AA</ds:X509IssuerName> <ds:X509SerialNumber>4</ds:X509SerialNumber> </IssuerSerial> </Cert>- Parameters:
parentDom- the parent elementcertificate- the certificate to be added
-
incorporateIssuerV1
protected void incorporateIssuerV1(Element parentDom, CertificateToken certificate)
-
incorporateIssuerV2
protected void incorporateIssuerV2(Element parentDom, CertificateToken certificate)
-
createXmlDocument
protected DSSDocument createXmlDocument()
CreatesDSSDocumentfrom the current documentDom- Returns:
DSSDocument
-
alignNodes
protected abstract void alignNodes()
-
-