Class XAdESSignatureFacet
java.lang.Object
org.apache.poi.poifs.crypt.dsig.facets.XAdESSignatureFacet
- All Implemented Interfaces:
SignatureFacet
XAdES Signature Facet. Implements XAdES v1.4.1 which is compatible with XAdES
v1.3.2. The implemented XAdES format is XAdES-BES/EPES. It's up to another
part of the signature service to upgrade the XAdES-BES to a XAdES-X-L.
This implementation has been tested against an implementation that
participated multiple ETSI XAdES plugtests.
- See Also:
-
Field Summary
Fields inherited from interface org.apache.poi.poifs.crypt.dsig.facets.SignatureFacet
MS_DIGSIG_NS, OO_DIGSIG_NS, XADES_132_NS, XADES_141_NS, XML_DIGSIG_NS, XML_NS -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddCertificate(SignatureInfo signatureInfo, org.etsi.uri.x01903.v13.SignedSignaturePropertiesType signedSignatureProperties) protected voidaddCommitmentType(SignatureInfo signatureInfo, org.etsi.uri.x01903.v13.SignedPropertiesType signedProperties) voidaddMimeType(String dsReferenceUri, String mimetype) Adds a mime-type for the given ds:Reference (referred via its @URI).protected voidaddMimeTypes(SignatureInfo signatureInfo, org.etsi.uri.x01903.v13.SignedPropertiesType signedProperties) protected voidaddPolicy(SignatureInfo signatureInfo, org.etsi.uri.x01903.v13.SignedSignaturePropertiesType signedSignatureProperties) protected voidaddSigningTime(SignatureInfo signatureInfo, org.etsi.uri.x01903.v13.SignedSignaturePropertiesType signedSignatureProperties) protected XMLObjectaddXadesObject(SignatureInfo signatureInfo, Document document, org.etsi.uri.x01903.v13.QualifyingPropertiesType qualifyingProperties) protected ReferenceaddXadesReference(SignatureInfo signatureInfo) protected voidaddXadesRole(SignatureInfo signatureInfo, org.etsi.uri.x01903.v13.SignedSignaturePropertiesType signedSignatureProperties) protected org.etsi.uri.x01903.v13.SignedPropertiesTypecreateSignedProperties(SignatureInfo signatureInfo, org.etsi.uri.x01903.v13.QualifyingPropertiesType qualifyingProperties) Create the signedProperties.protected static voidinsertXChild(org.apache.xmlbeans.XmlObject root, org.apache.xmlbeans.XmlObject child) voidpreSign(SignatureInfo signatureInfo, Document document, List<Reference> references, List<XMLObject> objects) This method is being invoked by the XML signature service engine during pre-sign phase.protected static voidsetCertID(org.etsi.uri.x01903.v13.CertIDType certId, SignatureConfig signatureConfig, boolean issuerNameNoReverseOrder, X509Certificate certificate) Gives back the JAXB CertID data structure.protected static voidsetDigestAlgAndValue(org.etsi.uri.x01903.v13.DigestAlgAndValueType digestAlgAndValue, byte[] data, HashAlgorithm digestAlgo) Gives back the JAXB DigestAlgAndValue data structure.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.poi.poifs.crypt.dsig.facets.SignatureFacet
postSign
-
Constructor Details
-
XAdESSignatureFacet
public XAdESSignatureFacet()
-
-
Method Details
-
preSign
public void preSign(SignatureInfo signatureInfo, Document document, List<Reference> references, List<XMLObject> objects) throws XMLSignatureException Description copied from interface:SignatureFacetThis method is being invoked by the XML signature service engine during pre-sign phase. Via this method a signature facet implementation can add signature facets to an XML signature.- Specified by:
preSignin interfaceSignatureFacet- Parameters:
signatureInfo- the signature info object holding the OPCPackage and other document related datadocument- the signature document to be used for importsreferences- list of reference definitionsobjects- objects to be signed/included in the signature document- Throws:
XMLSignatureException
-
createSignedProperties
protected org.etsi.uri.x01903.v13.SignedPropertiesType createSignedProperties(SignatureInfo signatureInfo, org.etsi.uri.x01903.v13.QualifyingPropertiesType qualifyingProperties) Create the signedProperties. Subclasses can easily extend the signed properties. -
addSigningTime
protected void addSigningTime(SignatureInfo signatureInfo, org.etsi.uri.x01903.v13.SignedSignaturePropertiesType signedSignatureProperties) -
addCertificate
protected void addCertificate(SignatureInfo signatureInfo, org.etsi.uri.x01903.v13.SignedSignaturePropertiesType signedSignatureProperties) -
addXadesRole
protected void addXadesRole(SignatureInfo signatureInfo, org.etsi.uri.x01903.v13.SignedSignaturePropertiesType signedSignatureProperties) -
addPolicy
protected void addPolicy(SignatureInfo signatureInfo, org.etsi.uri.x01903.v13.SignedSignaturePropertiesType signedSignatureProperties) -
addMimeTypes
protected void addMimeTypes(SignatureInfo signatureInfo, org.etsi.uri.x01903.v13.SignedPropertiesType signedProperties) -
addXadesObject
protected XMLObject addXadesObject(SignatureInfo signatureInfo, Document document, org.etsi.uri.x01903.v13.QualifyingPropertiesType qualifyingProperties) -
addCommitmentType
protected void addCommitmentType(SignatureInfo signatureInfo, org.etsi.uri.x01903.v13.SignedPropertiesType signedProperties) -
addXadesReference
- Throws:
XMLSignatureException
-
setDigestAlgAndValue
protected static void setDigestAlgAndValue(org.etsi.uri.x01903.v13.DigestAlgAndValueType digestAlgAndValue, byte[] data, HashAlgorithm digestAlgo) Gives back the JAXB DigestAlgAndValue data structure.- Parameters:
digestAlgAndValue- the parent for the new digest elementdata- the data to be digesteddigestAlgo- the digest algorithm
-
setCertID
protected static void setCertID(org.etsi.uri.x01903.v13.CertIDType certId, SignatureConfig signatureConfig, boolean issuerNameNoReverseOrder, X509Certificate certificate) Gives back the JAXB CertID data structure. -
addMimeType
Adds a mime-type for the given ds:Reference (referred via its @URI). This information is added via the xades:DataObjectFormat element.- Parameters:
dsReferenceUri- the reference urimimetype- the mimetype
-
insertXChild
protected static void insertXChild(org.apache.xmlbeans.XmlObject root, org.apache.xmlbeans.XmlObject child)
-