public class XMLSignatureElement extends java.lang.Object implements IXMLEncodable
Modifier and Type | Field and Description |
---|---|
private static java.lang.String |
ATTR_ALGORITHM |
private static java.lang.String |
ATTR_URI |
private static java.lang.String |
DIGEST_METHOD_ALGORITHM |
private static java.lang.String |
ELEM_CANONICALIZATION_METHOD |
private static java.lang.String |
ELEM_DIGEST_METHOD |
private static java.lang.String |
ELEM_DIGEST_VALUE |
private static java.lang.String |
ELEM_KEY_INFO |
private static java.lang.String |
ELEM_REFERENCE |
private static java.lang.String |
ELEM_SIGNATURE_METHOD |
private static java.lang.String |
ELEM_SIGNATURE_VALUE |
private static java.lang.String |
ELEM_SIGNED_INFO |
private java.util.Vector |
m_appendedCerts
Stores all appended certificates
It is very important, that whenever this Vector is changed,
we also have to change m_appendedCertXMLElements, because
the values have to be at the same index of the Vectors
|
private java.util.Vector |
m_appendedCertXMLElements
Stores the XML representation of the appended certificates
|
private CertPath |
m_certPath
Stores the certification Path of this Signature
|
private java.lang.String |
m_digestMethod |
private java.lang.String |
m_digestValue |
private org.w3c.dom.Element |
m_elemSignature |
private XMLSignature |
m_parent |
private java.lang.String |
m_referenceURI |
private java.lang.String |
m_signatureMethod |
private java.lang.String |
m_signatureValue |
private byte[] |
m_signedInfoCanonical |
private static java.lang.String |
XML_ELEMENT_NAME |
FIELD_XML_ELEMENT_CONTAINER_NAME, FIELD_XML_ELEMENT_NAME, XML_ATTR_ID, XML_ATTR_LANGUAGE, XML_ATTR_VERSION
Modifier | Constructor and Description |
---|---|
protected |
XMLSignatureElement(XMLSignature a_parent) |
protected |
XMLSignatureElement(XMLSignature a_parent,
org.w3c.dom.Element a_element)
Creates a new signature from a signature element.
|
protected |
XMLSignatureElement(XMLSignature a_parent,
org.w3c.dom.Element a_element,
IMyPrivateKey a_signKey,
byte[] a_digestValue) |
Modifier and Type | Method and Description |
---|---|
boolean |
addCertificate(JAPCertificate a_certificate)
Adds a certificate to the signature.
|
private boolean |
checkMessageDigest(org.w3c.dom.Node a_node) |
private boolean |
checkSignature(IMyPublicKey a_publicKey)
Checks if the signature of the XMLSignatureElement's SIGNED_INFO is valid.
|
void |
clearCertificates()
Deletes all certificates from this signature.
|
boolean |
containsCertificate(JAPCertificate a_certificate)
Returns if the specified certificate is already contained in this signature element.
|
int |
countCertificates()
Returns the number of certificates appended to this signature.
|
private void |
createSignatureElement(IMyPrivateKey a_signKey,
org.w3c.dom.Element a_elementToSign,
byte[] a_digestValue) |
private void |
findCertificates(org.w3c.dom.Element a_xmlSignature) |
private java.util.Vector |
getCertificates()
Returns all X509 certificates that are embedded in this SignatureElement.
|
CertPath |
getCertPath() |
java.lang.String |
getDigestMethod()
Returns the digest method that was used for creating this signature.
|
java.lang.String |
getReferenceURI()
Returns the reference attribute URI.
|
protected org.w3c.dom.Element |
getSignatureElement() |
java.lang.String |
getSignatureMethod()
Returns the signature method that was used for creating this signature.
|
boolean |
removeCertificate(JAPCertificate a_certificate)
Removes a certificate from this signature.
|
org.w3c.dom.Element |
toXmlElement(org.w3c.dom.Document a_doc)
Creates a new XML element from this signature.
|
private org.w3c.dom.Element |
toXmlElementInternal(org.w3c.dom.Document a_doc)
Transforms this XMLSignature to an XML element.
|
private boolean |
verify(org.w3c.dom.Node a_node,
IMyPublicKey a_publicKey)
This method is used to verify a node with a previously created XMLSignature.
|
boolean |
verify(org.w3c.dom.Node a_node,
int a_documentType,
java.util.Vector a_directCertPaths)
Verifies this Signature Element with either the appended certs or
with the directCertPaths, if there are no appended certs.
|
boolean |
verifyFast(org.w3c.dom.Node a_node,
IMyPublicKey a_publicKey) |
private static final java.lang.String XML_ELEMENT_NAME
private static final java.lang.String ELEM_CANONICALIZATION_METHOD
private static final java.lang.String ELEM_SIGNATURE_METHOD
private static final java.lang.String ELEM_SIGNATURE_VALUE
private static final java.lang.String ELEM_KEY_INFO
private static final java.lang.String ELEM_SIGNED_INFO
private static final java.lang.String ELEM_REFERENCE
private static final java.lang.String ELEM_DIGEST_VALUE
private static final java.lang.String ELEM_DIGEST_METHOD
private static final java.lang.String ATTR_URI
private static final java.lang.String ATTR_ALGORITHM
private static final java.lang.String DIGEST_METHOD_ALGORITHM
private XMLSignature m_parent
private org.w3c.dom.Element m_elemSignature
private java.lang.String m_signatureMethod
private java.lang.String m_signatureValue
private java.lang.String m_referenceURI
private java.lang.String m_digestMethod
private java.lang.String m_digestValue
private byte[] m_signedInfoCanonical
private java.util.Vector m_appendedCerts
private java.util.Vector m_appendedCertXMLElements
private CertPath m_certPath
protected XMLSignatureElement(XMLSignature a_parent)
protected XMLSignatureElement(XMLSignature a_parent, org.w3c.dom.Element a_element, IMyPrivateKey a_signKey, byte[] a_digestValue) throws java.lang.Exception
java.lang.Exception
protected XMLSignatureElement(XMLSignature a_parent, org.w3c.dom.Element a_element) throws XMLParseException
a_element
- an XML ElementXMLParseException
- if the element is no valid signature elementprivate void createSignatureElement(IMyPrivateKey a_signKey, org.w3c.dom.Element a_elementToSign, byte[] a_digestValue) throws java.lang.Exception
java.lang.Exception
private void findCertificates(org.w3c.dom.Element a_xmlSignature)
public boolean verifyFast(org.w3c.dom.Node a_node, IMyPublicKey a_publicKey) throws XMLParseException
XMLParseException
public boolean verify(org.w3c.dom.Node a_node, int a_documentType, java.util.Vector a_directCertPaths) throws XMLParseException
a_node
- a_documentType
- a_directCertPaths
- XMLParseException
private boolean verify(org.w3c.dom.Node a_node, IMyPublicKey a_publicKey) throws XMLParseException
a_node
- an XML nodea_signature
- an XMLSignaturea_publicKey
- a public keyXMLParseException
- if a signature element exists, but the element
has an invalid structureprivate boolean checkSignature(IMyPublicKey a_publicKey)
a_publicKey
- a public keyprivate boolean checkMessageDigest(org.w3c.dom.Node a_node) throws XMLParseException
a_node
- a_signature
- XMLParseException
protected org.w3c.dom.Element getSignatureElement()
public java.lang.String getSignatureMethod()
public java.lang.String getDigestMethod()
public java.lang.String getReferenceURI()
public CertPath getCertPath()
private java.util.Vector getCertificates()
public boolean containsCertificate(JAPCertificate a_certificate)
a_certificate
- an X509 certificatepublic int countCertificates()
public void clearCertificates()
public boolean removeCertificate(JAPCertificate a_certificate)
a_certificate
- an X509 certificatepublic boolean addCertificate(JAPCertificate a_certificate)
a_certificate
- JAPCertificatepublic org.w3c.dom.Element toXmlElement(org.w3c.dom.Document a_doc)
toXmlElement
in interface IXMLEncodable
a_doc
- an XML documentprivate org.w3c.dom.Element toXmlElementInternal(org.w3c.dom.Document a_doc)
a_doc
- an XML documentCopyright © 2023. All rights reserved.