Classes for generating and validating XML Advanced Electronic Signatures.
This package includes classes that represent the elements defined in the ETSI XML Advanced
Electronic Signatures specification. The {@link iaik.xml.crypto.xades.XAdESSignature}
extends the {@link javax.xml.crypto.dsig.XMLSignature} defined in
JavaTM XML Digital Signature API Specification (JSR 105).
{@link iaik.xml.crypto.xades.XAdESSignature}s are produced using a {@link javax.xml.crypto.dsig.XMLSignatureFactory} that supports XAdES.
The {@link iaik.xml.crypto.xades.QualifyingPropertiesFactory} is used to create QualifyingProperties elements
({@link iaik.xml.crypto.xades.SigningTime},
{@link iaik.xml.crypto.xades.SigningCertificate},
{@link iaik.xml.crypto.xades.SignaturePolicyIdentifier},
{@link iaik.xml.crypto.xades.SignatureProductionPlace},
{@link iaik.xml.crypto.xades.SignerRole},
{@link iaik.xml.crypto.xades.DataObjectFormat},
{@link iaik.xml.crypto.xades.CommitmentTypeIndication},
{@link iaik.xml.crypto.xades.AllDataObjectsTimeStamp},
{@link iaik.xml.crypto.xades.IndividualDataObjectsTimeStamp},
{@link iaik.xml.crypto.xades.CounterSignature},
{@link iaik.xml.crypto.xades.SignatureTimeStamp},
{@link iaik.xml.crypto.xades.CompleteCertificateRefs},
{@link iaik.xml.crypto.xades.CompleteRevocationRefs},
{@link iaik.xml.crypto.xades.AttributeCertificateRefs},
{@link iaik.xml.crypto.xades.AttributeRevocationRefs},
{@link iaik.xml.crypto.xades.SigAndRefsTimeStamp},
{@link iaik.xml.crypto.xades.RefsOnlyTimeStamp},
{@link iaik.xml.crypto.xades.CertificateValues},
{@link iaik.xml.crypto.xades.RevocationValues},
{@link iaik.xml.crypto.xades.ArchiveTimeStamp})
analog to {@link javax.xml.crypto.dsig.keyinfo.KeyInfoFactory} is used to create KeyInfo elements.
Unlike the {@link javax.xml.crypto.dsig.XMLSignature} the {@link iaik.xml.crypto.xades.XAdESSignature} supports
appending additional (unsigned) information to an already marshaled signature, to allow for the extension of XAdES
signatures with additional QualifyingProperties. Whether these changes are directly reflected by the underlying
XML representation or a new XML representation must be marshaled depends on the implementation and the
supported XML representation and marshaling mechanism.
The QualifyingProperties are grouped like the following:
- {@link iaik.xml.crypto.xades.QualifyingProperties}
- {@link iaik.xml.crypto.xades.SignedProperties}
- {@link iaik.xml.crypto.xades.SignedSignatureProperties}
- {@link iaik.xml.crypto.xades.SigningTime}
- {@link iaik.xml.crypto.xades.SigningCertificate}
- {@link iaik.xml.crypto.xades.SignaturePolicyIdentifier}
- {@link iaik.xml.crypto.xades.SignatureProductionPlace}
- {@link iaik.xml.crypto.xades.SignerRole}
- {@link iaik.xml.crypto.xades.SignedDataObjectProperties}
- {@link iaik.xml.crypto.xades.DataObjectFormat}
- {@link iaik.xml.crypto.xades.CommitmentTypeIndication}
- {@link iaik.xml.crypto.xades.AllDataObjectsTimeStamp}
- {@link iaik.xml.crypto.xades.IndividualDataObjectsTimeStamp}
- {@link iaik.xml.crypto.xades.UnsignedProperties}
- {@link iaik.xml.crypto.xades.UnsignedSignatureProperties}
- {@link iaik.xml.crypto.xades.CounterSignature}
- {@link iaik.xml.crypto.xades.SignatureTimeStamp}
- {@link iaik.xml.crypto.xades.CompleteCertificateRefs}
- {@link iaik.xml.crypto.xades.CompleteRevocationRefs}
- {@link iaik.xml.crypto.xades.AttributeCertificateRefs}
- {@link iaik.xml.crypto.xades.AttributeRevocationRefs}
- {@link iaik.xml.crypto.xades.SigAndRefsTimeStamp}
- {@link iaik.xml.crypto.xades.RefsOnlyTimeStamp}
- {@link iaik.xml.crypto.xades.CertificateValues}
- {@link iaik.xml.crypto.xades.RevocationValues}
- {@link iaik.xml.crypto.xades.ArchiveTimeStamp}
- {@link iaik.xml.crypto.xades.UnsignedDataObjectProperties}