public class XMLSignature extends BaseElement
The Signature element is the root element of an XML
Signature. Implementation MUST generate laxly
schema valid [XML-schema] Signature elements as specified by
the following schema:
<complexType name="SignatureType">
<complexContent>
<restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
<sequence>
<element ref="{http://www.w3.org/2000/09/xmldsig#}SignedInfo"/>
<element ref="{http://www.w3.org/2000/09/xmldsig#}SignatureValue"/>
<element ref="{http://www.w3.org/2000/09/xmldsig#}KeyInfo" minOccurs="0"/>
<element ref="{http://www.w3.org/2000/09/xmldsig#}Object" maxOccurs="unbounded" minOccurs="0"/>
</sequence>
<attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" />
</restriction>
</complexContent>
</complexType>
mContext, mElement, mId| Constructor and Description |
|---|
XMLSignature()
Construct new Signature according to newly created context.
|
XMLSignature(Context aContext)
Construct new Signature according to context
|
XMLSignature(Context aContext,
boolean aRoot)
Create new XMLSignature
|
XMLSignature(org.w3c.dom.Element aElement,
Context aContext)
Construct Signature from existing
|
| Modifier and Type | Method and Description |
|---|---|
void |
addArchiveTimeStamp() |
java.lang.String |
addDocument(Document document) |
java.lang.String |
addDocument(Document document,
Transforms transforms,
DigestMethod digestMethod) |
java.lang.String |
addDocument(Document document,
Transforms transforms,
DigestMethod digestMethod,
boolean embed) |
java.lang.String |
addDocument(java.lang.String aDocumentURI,
java.lang.String aMimeType,
boolean aEmbed)
Add data to XML Signature either as reference, or including data in a
ds:object tag.
|
java.lang.String |
addDocument(java.lang.String aDocumentURI,
java.lang.String aMimeType,
DigestMethod aDigestMethod,
boolean aEmbed) |
java.lang.String |
addDocument(java.lang.String aDocumentURI,
java.lang.String aMimeType,
Transforms aTransforms,
DigestMethod aDigestMethod,
boolean aEmbed) |
java.lang.String |
addDocument(java.lang.String aDocumentURI,
java.lang.String aMimeType,
Transforms aTransforms,
DigestMethod aDigestMethod,
java.lang.String aType,
boolean aEmbed) |
void |
addKeyInfo(tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate aCertificate) |
void |
addKeyInfo(java.security.PublicKey aPublicKey) |
java.lang.String |
addObject(byte[] aContent,
java.lang.String aMimeType,
java.lang.String aEncoding) |
java.lang.String |
addPlainObject(java.lang.String aContent,
java.lang.String aMimeType,
java.lang.String aEncoding) |
void |
addTimeStampValidationData(XAdESTimeStamp aXAdESTimeStamp,
java.util.Calendar aValidationTime)
Upgrade methods automatically adds previous timestamp validation data.
|
void |
addXMLObject(XMLObject aObject) |
XMLSignature |
createCounterSignature()
Creates new counter signature over current signature
|
KeyInfo |
createOrGetKeyInfo() |
QualifyingProperties |
createOrGetQualifyingProperties() |
java.util.List<XMLSignature> |
getAllCounterSignatures() |
KeyInfo |
getKeyInfo() |
java.lang.String |
getLocalName() |
XMLObject |
getObject(int aIndex) |
int |
getObjectCount() |
QualifyingProperties |
getQualifyingProperties() |
XMLObject |
getQualifyingPropertiesObject() |
SignatureMethod |
getSignatureMethod() |
SignatureType |
getSignatureType() |
byte[] |
getSignatureValue()
The SignatureValue is the actual value of the digital signature; it is
always encoded using base64 [MIME].
|
org.w3c.dom.Element |
getSignatureValueElement() |
java.lang.String |
getSignatureValueId() |
SignedInfo |
getSignedInfo() |
tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate |
getSigningCertificate() |
java.util.Calendar |
getSigningTime() |
java.util.Calendar |
getSigningTimePropertyTime() |
java.util.Calendar |
getTimestampTime() |
static XMLSignature |
parse(Document aDocument,
Context aContext) |
static XMLSignature |
parse(org.w3c.dom.Document w3cDocument,
Context aContext) |
void |
setPolicyIdentifier(int[] aOID,
java.lang.String aDescription,
java.lang.String aPolicyURI) |
void |
setPolicyIdentifier(int[] aOID,
java.lang.String aDescription,
java.lang.String aPolicyURI,
java.lang.String userNotice) |
void |
setQualifyingProperties(QualifyingProperties aQualifyingProps) |
void |
setSignatureMethod(SignatureMethod aMethod) |
void |
setSignatureValue(byte[] aSignatureValue)
Set computed signature value.
|
void |
setSigningTime(java.util.Calendar aSigningTime) |
void |
sign(tr.gov.tubitak.uekae.esya.api.common.crypto.BaseSigner aSigner) |
void |
sign(byte[] aHmacSecretKey) |
void |
sign(java.security.Key aKey) |
void |
updateId(java.lang.String aId)
This method is written to support changing signature id together with target of
qualifying properties according to e-fatura
|
void |
upgrade(tr.gov.tubitak.uekae.esya.api.signature.SignatureType type) |
void |
upgradeToXAdES_A() |
void |
upgradeToXAdES_C() |
void |
upgradeToXAdES_T() |
void |
upgradeToXAdES_X1() |
void |
upgradeToXAdES_X2() |
void |
upgradeToXAdES_XL() |
ValidationResult |
verify()
Validates the signature according to the
core validation processing rules.
|
ValidationResult |
verify(byte[] aSecretKey) |
ValidationResult |
verify(java.security.cert.Certificate aCertificate) |
ValidationResult |
verify(tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate aCertificate) |
ValidationResult |
verify(java.security.Key aKey) |
byte[] |
write()
Output xml signature to byte array
|
void |
write(java.io.OutputStream aStream)
Output xml signature to stream
|
void |
write(javax.xml.transform.Result aResult)
Output xml signature to Result
|
addBigIntegerElement, addLineBreak, addLineBreak, checkNamespace, createElement, generateAndSetId, getAttribute, getBigIntegerFromElement, getChildText, getContext, getDocument, getElement, getId, getNamespace, insertBase64EncodedElement, insertElement, insertTextElement, selectChildElement, selectChildren, setIdpublic XMLSignature()
XMLSignature(Context) whose context
contains base URI for relative resources..
This constructor will use default signature format which is
.SignatureType.XAdES_BES
public XMLSignature(Context aContext)
aContext - where some signature specific properties reside.
This constructor will use default signature format which is
.SignatureType.XAdES_BES
public XMLSignature(Context aContext, boolean aRoot)
aContext - signature related parametersaRoot - Is the signature defined root element of xml document, which
isdefined in context. Define false if you will add by hand to
anywhere in document.public XMLSignature(org.w3c.dom.Element aElement,
Context aContext)
throws XMLSignatureException
aElement - xml elementaContext - according to contextXMLSignatureException - when structure is invalid or can not be
resolved appropriatelypublic SignatureType getSignatureType()
public SignedInfo getSignedInfo()
public byte[] getSignatureValue()
public void setSignatureValue(byte[] aSignatureValue)
aSignatureValue - computed signature value over signature structurepublic org.w3c.dom.Element getSignatureValueElement()
public java.lang.String getSignatureValueId()
public KeyInfo createOrGetKeyInfo()
public KeyInfo getKeyInfo()
public void addKeyInfo(tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate aCertificate)
public void addKeyInfo(java.security.PublicKey aPublicKey)
throws XMLSignatureException
XMLSignatureExceptionpublic int getObjectCount()
public XMLObject getObject(int aIndex)
public void addXMLObject(XMLObject aObject)
public QualifyingProperties createOrGetQualifyingProperties()
public QualifyingProperties getQualifyingProperties()
public XMLObject getQualifyingPropertiesObject()
public void setQualifyingProperties(QualifyingProperties aQualifyingProps)
public void setSignatureMethod(SignatureMethod aMethod)
public SignatureMethod getSignatureMethod()
public java.util.Calendar getSigningTimePropertyTime()
public void setSigningTime(java.util.Calendar aSigningTime)
public void updateId(java.lang.String aId)
aId - value to set as "Id" attribute. If param is null existingpublic void setPolicyIdentifier(int[] aOID,
java.lang.String aDescription,
java.lang.String aPolicyURI)
throws XMLSignatureException
XMLSignatureExceptionpublic void setPolicyIdentifier(int[] aOID,
java.lang.String aDescription,
java.lang.String aPolicyURI,
java.lang.String userNotice)
throws XMLSignatureException
XMLSignatureExceptionpublic java.lang.String addDocument(java.lang.String aDocumentURI,
java.lang.String aMimeType,
boolean aEmbed)
throws XMLSignatureException
aDocumentURI - to be added to signatureaMimeType - mime info of added document
this info will be added as DataObjectFormataEmbed - include in signature or reference only.XMLSignatureException - if cant resolve resource to be referenced
or embedded.public java.lang.String addDocument(java.lang.String aDocumentURI,
java.lang.String aMimeType,
DigestMethod aDigestMethod,
boolean aEmbed)
throws XMLSignatureException
XMLSignatureExceptionpublic java.lang.String addDocument(java.lang.String aDocumentURI,
java.lang.String aMimeType,
Transforms aTransforms,
DigestMethod aDigestMethod,
boolean aEmbed)
throws XMLSignatureException
XMLSignatureExceptionpublic java.lang.String addDocument(java.lang.String aDocumentURI,
java.lang.String aMimeType,
Transforms aTransforms,
DigestMethod aDigestMethod,
java.lang.String aType,
boolean aEmbed)
throws XMLSignatureException
XMLSignatureExceptionpublic java.lang.String addDocument(Document document) throws XMLSignatureException, java.io.UnsupportedEncodingException
XMLSignatureExceptionjava.io.UnsupportedEncodingExceptionpublic java.lang.String addDocument(Document document, Transforms transforms, DigestMethod digestMethod) throws XMLSignatureException, java.io.UnsupportedEncodingException
XMLSignatureExceptionjava.io.UnsupportedEncodingExceptionpublic java.lang.String addDocument(Document document, Transforms transforms, DigestMethod digestMethod, boolean embed) throws XMLSignatureException
XMLSignatureExceptionpublic java.lang.String addObject(byte[] aContent,
java.lang.String aMimeType,
java.lang.String aEncoding)
public java.lang.String addPlainObject(java.lang.String aContent,
java.lang.String aMimeType,
java.lang.String aEncoding)
public java.util.Calendar getSigningTime()
throws XMLSignatureException
XMLSignatureException - if encapsulated timestamp is problematicpublic java.util.Calendar getTimestampTime()
throws XMLSignatureException
XMLSignatureExceptionpublic XMLSignature createCounterSignature() throws XMLSignatureException
XMLSignatureExceptionpublic java.util.List<XMLSignature> getAllCounterSignatures()
public void sign(tr.gov.tubitak.uekae.esya.api.common.crypto.BaseSigner aSigner)
throws XMLSignatureException
XMLSignatureExceptionpublic void sign(java.security.Key aKey)
throws XMLSignatureException
XMLSignatureExceptionpublic void sign(byte[] aHmacSecretKey)
throws XMLSignatureException
XMLSignatureExceptionpublic tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate getSigningCertificate()
public ValidationResult verify() throws XMLSignatureException
This method only validates the signature the first time it is invoked. On subsequent invocations, it returns a cached result.
true if the signature passed core validation,
otherwise falseXMLSignatureException - if an unexpected error occurs during
validation that prevented the validation operation from completingpublic ValidationResult verify(java.security.Key aKey) throws XMLSignatureException
XMLSignatureExceptionpublic ValidationResult verify(java.security.cert.Certificate aCertificate) throws XMLSignatureException
XMLSignatureExceptionpublic ValidationResult verify(tr.gov.tubitak.uekae.esya.api.asn.x509.ECertificate aCertificate) throws XMLSignatureException
XMLSignatureExceptionpublic ValidationResult verify(byte[] aSecretKey) throws XMLSignatureException
XMLSignatureExceptionpublic void upgradeToXAdES_T()
throws XMLSignatureException
XMLSignatureExceptionpublic void upgradeToXAdES_C()
throws XMLSignatureException
XMLSignatureExceptionpublic void upgradeToXAdES_X1()
throws XMLSignatureException
XMLSignatureExceptionpublic void upgradeToXAdES_X2()
throws XMLSignatureException
XMLSignatureExceptionpublic void upgradeToXAdES_XL()
throws XMLSignatureException
XMLSignatureExceptionpublic void upgradeToXAdES_A()
throws XMLSignatureException
XMLSignatureExceptionpublic void upgrade(tr.gov.tubitak.uekae.esya.api.signature.SignatureType type)
throws XMLSignatureException
XMLSignatureExceptionpublic void addArchiveTimeStamp()
throws XMLSignatureException
XMLSignatureExceptionpublic void addTimeStampValidationData(XAdESTimeStamp aXAdESTimeStamp, java.util.Calendar aValidationTime) throws XMLSignatureException
aXAdESTimeStamp - timestamp that will be verified and validation data will be determinedaValidationTime - that validation will be madeXMLSignatureExceptionpublic byte[] write()
throws XMLSignatureException
XMLSignatureException - if xml conversion failspublic void write(java.io.OutputStream aStream)
throws XMLSignatureException
aStream - signature to be outputXMLSignatureException - if xml conversion failspublic void write(javax.xml.transform.Result aResult)
throws XMLSignatureException
aResult - signature to be transformedXMLSignatureException - if xml conversion failspublic java.lang.String getLocalName()
getLocalName in class BaseElementpublic static XMLSignature parse(Document aDocument, Context aContext) throws XMLSignatureException
XMLSignatureExceptionpublic static XMLSignature parse(org.w3c.dom.Document w3cDocument, Context aContext) throws XMLSignatureException
XMLSignatureExceptionCopyright © 2025. All rights reserved.