Class XAdESSignatureFacet
- java.lang.Object
-
- org.apache.poi.poifs.crypt.dsig.facets.XAdESSignatureFacet
-
- All Implemented Interfaces:
SignatureFacet
public class XAdESSignatureFacet extends Object implements 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:
- XAdES
-
-
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 Constructor Description XAdESSignatureFacet()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected 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(XmlObject root, 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, wait
-
Methods inherited from interface org.apache.poi.poifs.crypt.dsig.facets.SignatureFacet
postSign
-
-
-
-
Method Detail
-
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
protected Reference addXadesReference(SignatureInfo signatureInfo) throws XMLSignatureException
- 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
public void addMimeType(String dsReferenceUri, String mimetype)
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
-
-