Class XAdESBuilder
java.lang.Object
eu.europa.esig.dss.xades.signature.XAdESBuilder
- Direct Known Subclasses:
ExtensionBuilder
,XAdESSignatureBuilder
Builds a XAdES signature
-
Field Summary
Modifier and TypeFieldDescriptionprotected CertificateVerifier
Reference to the object in charge of certificates validationprotected Document
This is the variable which represents the root XML document root (with signature).protected XAdESSignatureParameters
This variable is a reference to the set of parameters relating to the structure and process of the creation or extension of the electronic signature.static final String
The attribute used for timestamp includesstatic final String
The qualifying properties targetstatic final String
The URI attributeprotected XAdESPaths
This variable holds theXAdESPaths
which contains all constants and queries needed to cope with the default signature schema. -
Constructor Summary
ModifierConstructorDescriptionprotected
Empty constructorprotected
XAdESBuilder
(CertificateVerifier certificateVerifier) The default constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract void
This method is used to align children indentsprotected DSSDocument
CreatesDSSDocument
from the current documentDomprotected XAdESElement
Gets a relevant class containing the list of elementsprotected XAdESPaths
Gets a relevant class containing the list of pathsprotected DigestAlgorithm
Returns params.referenceDigestAlgorithm if exists, params.digestAlgorithm otherwiseprotected DSSNamespace
This method returns the current used XAdES 1.4.1 namespaceprotected DSSNamespace
This method returns the current used XAdES namespaceprotected DSSNamespace
This method returns the current used XMLDSig namespaceprotected Element
incorporateCert
(Element parentDom, CertificateToken certificate, DigestAlgorithm digestAlgorithm) Creates Cert DOM object:protected void
incorporateCertDigest
(Element parentDom, DigestAlgorithm digestAlgorithm, Token token) This method creates the xades:CertDigest DOM object.protected void
incorporateDigestMethod
(Element parentDom, DigestAlgorithm digestAlgorithm) This method creates the ds:DigestMethod DOM object.protected void
incorporateDigestValue
(Element parentDom, DigestAlgorithm digestAlgorithm, Token token) This method creates the ds:DigestValue DOM object for a givenToken
protected void
incorporateDigestValue
(Element parentDom, String base64EncodedDigestBytes) This method creates the ds:DigestValue DOM object.protected void
incorporateIssuerV1
(Element parentDom, CertificateToken certificate) Incorporates IssuerSerial elementprotected void
incorporateIssuerV2
(Element parentDom, CertificateToken certificate) Incorporates IssuerSerialV2 elementprotected void
incorporateSPDocSpecification
(Element parentElement, SpDocSpecification spDocSpecification) Creates SpDocSpecification DOM object:
-
Field Details
-
REFERENCED_DATA
The attribute used for timestamp includes- See Also:
-
TARGET
The qualifying properties target- See Also:
-
URI
The URI attribute- See Also:
-
xadesPaths
This variable holds theXAdESPaths
which contains all constants and queries needed to cope with the default signature schema. -
params
This variable is a reference to the set of parameters relating to the structure and process of the creation or extension of the electronic signature. -
documentDom
This is the variable which represents the root XML document root (with signature). -
certificateVerifier
Reference to the object in charge of certificates validation
-
-
Constructor Details
-
XAdESBuilder
protected XAdESBuilder()Empty constructor -
XAdESBuilder
The default constructor.- Parameters:
certificateVerifier
-CertificateVerifier
-
-
Method Details
-
incorporateCertDigest
protected void incorporateCertDigest(Element parentDom, DigestAlgorithm digestAlgorithm, Token token) This method creates the xades:CertDigest DOM object.<CertDigest> <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <ds:DigestValue>fj8SJujSXU4fi342bdtiKVbglA0=</ds:DigestValue> </CertDigest>
- Parameters:
parentDom
- the parent elementdigestAlgorithm
- the digest algorithm to usetoken
- the token to be digested
-
incorporateDigestMethod
This method creates the ds:DigestMethod DOM object.<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
- Parameters:
parentDom
- the parent elementdigestAlgorithm
- the digest algorithm to use
-
incorporateDigestValue
protected void incorporateDigestValue(Element parentDom, DigestAlgorithm digestAlgorithm, Token token) This method creates the ds:DigestValue DOM object for a givenToken
<ds:DigestValue>fj8SJujSXU4fi342bdtiKVbglA0=</ds:DigestValue>
- Parameters:
parentDom
- the parent elementdigestAlgorithm
- the digest algorithm to usetoken
-Token
to compute Digest from
-
incorporateDigestValue
This method creates the ds:DigestValue DOM object.<ds:DigestValue>fj8SJujSXU4fi342bdtiKVbglA0=</ds:DigestValue>
-
incorporateCert
protected Element incorporateCert(Element parentDom, CertificateToken certificate, DigestAlgorithm digestAlgorithm) 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 addeddigestAlgorithm
-DigestAlgorithm
to use- Returns:
Element
-
incorporateIssuerV1
Incorporates IssuerSerial element- Parameters:
parentDom
-Element
certificate
-CertificateToken
to get issuer for
-
incorporateIssuerV2
Incorporates IssuerSerialV2 element- Parameters:
parentDom
-Element
certificate
-CertificateToken
to get issuer for
-
getReferenceDigestAlgorithmOrDefault
Returns params.referenceDigestAlgorithm if exists, params.digestAlgorithm otherwise- Parameters:
params
-XAdESSignatureParameters
- Returns:
DigestAlgorithm
-
createXmlDocument
CreatesDSSDocument
from the current documentDom- Returns:
DSSDocument
-
alignNodes
protected abstract void alignNodes()This method is used to align children indents -
getXmldsigNamespace
This method returns the current used XMLDSig namespace- Returns:
DSSNamespace
-
getXadesNamespace
This method returns the current used XAdES namespace- Returns:
DSSNamespace
-
getXades141Namespace
This method returns the current used XAdES 1.4.1 namespace- Returns:
DSSNamespace
-
getCurrentXAdESElements
Gets a relevant class containing the list of elements- Returns:
XAdESElement
implementation
-
getCurrentXAdESPaths
Gets a relevant class containing the list of paths- Returns:
XAdESPaths
implementation
-
incorporateSPDocSpecification
protected void incorporateSPDocSpecification(Element parentElement, SpDocSpecification spDocSpecification) Creates SpDocSpecification DOM object:<xades141:SPDocSpecification xmlns:xades141="http://uri.etsi.org/01903/v1.4.1#"> <xades:Identifier>1.2.3.4.5</xades:Identifier> </xades141:SPDocSpecification>
- Parameters:
parentElement
-Element
element to create the new object insidespDocSpecification
-SpDocSpecification
-