]> source.dussan.org Git - poi.git/commitdiff
xml signature - small javadoc fixes, removed obsolete parameter from SignatureFacet...
authorAndreas Beeker <kiwiwings@apache.org>
Tue, 30 Sep 2014 23:42:21 +0000 (23:42 +0000)
committerAndreas Beeker <kiwiwings@apache.org>
Tue, 30 Sep 2014 23:42:21 +0000 (23:42 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1628575 13f79535-47bb-0310-9956-ffa450edef68

14 files changed:
src/ooxml/java/org/apache/poi/poifs/crypt/dsig/KeyInfoKeySelector.java
src/ooxml/java/org/apache/poi/poifs/crypt/dsig/SignatureConfig.java
src/ooxml/java/org/apache/poi/poifs/crypt/dsig/SignatureInfo.java
src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/EnvelopedSignatureFacet.java
src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/KeyInfoSignatureFacet.java
src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/OOXMLSignatureFacet.java
src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/Office2010SignatureFacet.java
src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/SignatureFacet.java
src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/XAdESSignatureFacet.java
src/ooxml/java/org/apache/poi/poifs/crypt/dsig/facets/XAdESXLSignatureFacet.java
src/ooxml/java/org/apache/poi/poifs/crypt/dsig/services/RevocationData.java
src/ooxml/java/org/apache/poi/poifs/crypt/dsig/services/RevocationDataService.java
src/ooxml/java/org/apache/poi/poifs/crypt/dsig/services/SignaturePolicyService.java
src/ooxml/java/org/apache/poi/util/XmlSort.java

index 61fedcb9ec793dac5695b9464f43579205133872..ab9de5b1a4c7c492e1388bb7fa9a839f2273280f 100644 (file)
@@ -90,7 +90,7 @@ public class KeyInfoKeySelector extends KeySelector implements KeySelectorResult
      * Gives back the X509 certificate used during the last signature\r
      * verification operation.\r
      * \r
-     * @return\r
+     * @return the certificate which was used to sign the xml content\r
      */\r
     public X509Certificate getSigner() {\r
         // The first certificate is presumably the signer.\r
index 7c59fbcae061bf276a562e71d2ca6a221ce43411..5294a3198005c6e443776d57e41143892cb56ac8 100644 (file)
@@ -84,8 +84,13 @@ public class SignatureConfig {
     private boolean includeIssuerSerial = false;\r
     private boolean includeKeyValue = false;\r
     \r
+    /**\r
+     * the time-stamp service used for XAdES-T and XAdES-X.\r
+     */\r
     private TimeStampService tspService = new TSPTimeStampService();\r
-    // timestamp service provider URL\r
+    /**\r
+     * timestamp service provider URL\r
+     */\r
     private String tspUrl;\r
     private boolean tspOldProtocol = false;\r
     /**\r
@@ -199,21 +204,6 @@ public class SignatureConfig {
         signatureFacets.add(sf);\r
     }\r
     \r
-    /**\r
-     * Gives back the used XAdES signature facet.\r
-     * \r
-     * @return\r
-     */\r
-    public XAdESSignatureFacet getXAdESSignatureFacet() {\r
-        for (SignatureFacet sf : getSignatureFacets()) {\r
-            if (sf instanceof XAdESSignatureFacet) {\r
-                return (XAdESSignatureFacet)sf;\r
-            }\r
-        }\r
-        return null;\r
-    }\r
-    \r
-    \r
     public List<SignatureFacet> getSignatureFacets() {\r
         return signatureFacets;\r
     }\r
index 69a771b40f91746d3a8f82c1473f62b7d6420e1a..4c9af559be899b7d8b63489ddc6e7cf695f6c58f 100644 (file)
@@ -481,7 +481,7 @@ public class SignatureInfo implements SignatureConfigurable {
          * Allow signature facets to inject their own stuff.\r
          */\r
         for (SignatureFacet signatureFacet : signatureConfig.getSignatureFacets()) {\r
-            signatureFacet.postSign(document, signatureConfig.getSigningCertificateChain());\r
+            signatureFacet.postSign(document);\r
         }\r
 \r
         writeDocument(document);\r
index 2a281a6e6f025a4fd0caa62790041159c128cbcc..9e2cbab980dce6380aa3e751d9b36e06bf1309c8 100644 (file)
@@ -26,7 +26,6 @@ package org.apache.poi.poifs.crypt.dsig.facets;
 \r
 import java.security.InvalidAlgorithmParameterException;\r
 import java.security.NoSuchAlgorithmException;\r
-import java.security.cert.X509Certificate;\r
 import java.util.ArrayList;\r
 import java.util.List;\r
 \r
@@ -56,7 +55,7 @@ public class EnvelopedSignatureFacet implements SignatureFacet {
     }\r
     \r
     @Override\r
-    public void postSign(Document document, List<X509Certificate> signingCertificateChain) {\r
+    public void postSign(Document document) {\r
         // empty\r
     }\r
 \r
index 2bdcc4022acbecc75cb76c71796569053e2cefd2..8fee7f56a7d669024881604e009d76f0c9e15bd0 100644 (file)
@@ -71,7 +71,7 @@ public class KeyInfoSignatureFacet implements SignatureFacet {
     }\r
 \r
     @Override\r
-    public void postSign(Document document, List<X509Certificate> signingCertificateChain\r
+    public void postSign(Document document) \r
     throws MarshalException {\r
         LOG.log(POILogger.DEBUG, "postSign");\r
 \r
@@ -88,7 +88,7 @@ public class KeyInfoSignatureFacet implements SignatureFacet {
          */\r
         KeyInfoFactory keyInfoFactory = SignatureInfo.getKeyInfoFactory();\r
         List<Object> x509DataObjects = new ArrayList<Object>();\r
-        X509Certificate signingCertificate = signingCertificateChain.get(0);\r
+        X509Certificate signingCertificate = signatureConfig.getSigningCertificateChain().get(0);\r
 \r
         List<Object> keyInfoContent = new ArrayList<Object>();\r
 \r
@@ -109,7 +109,7 @@ public class KeyInfoSignatureFacet implements SignatureFacet {
         }\r
 \r
         if (signatureConfig.isIncludeEntireCertificateChain()) {\r
-            x509DataObjects.addAll(signingCertificateChain);\r
+            x509DataObjects.addAll(signatureConfig.getSigningCertificateChain());\r
         } else {\r
             x509DataObjects.add(signingCertificate);\r
         }\r
index 28626e8270d20b2bbb48f992341c9f97bb977a9c..947b498b0ec383c2a22d5c3c856285419530b9b6 100644 (file)
@@ -29,7 +29,6 @@ import java.net.URI;
 import java.net.URISyntaxException;\r
 import java.security.InvalidAlgorithmParameterException;\r
 import java.security.NoSuchAlgorithmException;\r
-import java.security.cert.X509Certificate;\r
 import java.text.DateFormat;\r
 import java.text.SimpleDateFormat;\r
 import java.util.ArrayList;\r
@@ -79,7 +78,7 @@ import com.microsoft.schemas.office.x2006.digsig.SignatureInfoV1Document;
  * Office OpenXML Signature Facet implementation.\r
  * \r
  * @author fcorneli\r
- * @see http://msdn.microsoft.com/en-us/library/cc313071.aspx\r
+ * @see <a href="http://msdn.microsoft.com/en-us/library/cc313071.aspx">[MS-OFFCRYPTO]: Office Document Cryptography Structure</a>\r
  */\r
 public class OOXMLSignatureFacet implements SignatureFacet {\r
 \r
@@ -281,7 +280,7 @@ public class OOXMLSignatureFacet implements SignatureFacet {
     }\r
 \r
     @Override\r
-    public void postSign(Document document, List<X509Certificate> signingCertificateChain) {\r
+    public void postSign(Document document) {\r
         // empty\r
     }\r
 \r
index d64eac31967af8e7cc9e6a2e9c0c7f8c85754a75..7caf28d2db45a561e1e6fbc06fc49d8bf92aa6ed 100644 (file)
@@ -26,7 +26,6 @@ package org.apache.poi.poifs.crypt.dsig.facets;
 \r
 import java.security.InvalidAlgorithmParameterException;\r
 import java.security.NoSuchAlgorithmException;\r
-import java.security.cert.X509Certificate;\r
 import java.util.List;\r
 \r
 import javax.xml.crypto.dsig.Reference;\r
@@ -67,7 +66,7 @@ public class Office2010SignatureFacet implements SignatureFacet {
     }\r
 \r
     @Override\r
-    public void postSign(Document document, List<X509Certificate> signingCertificateChain)\r
+    public void postSign(Document document)\r
     throws XmlException {\r
         // check for XAdES-BES\r
         NodeList nl = document.getElementsByTagNameNS(XADES_132_NS, "QualifyingProperties");\r
index 188830bdf036e316c57d1436dcc87bd1f37cb5c0..4954f04cbc7d2728e348a715da73ff6ad7e47a8e 100644 (file)
@@ -28,7 +28,6 @@ import java.io.IOException;
 import java.net.URISyntaxException;\r
 import java.security.InvalidAlgorithmParameterException;\r
 import java.security.NoSuchAlgorithmException;\r
-import java.security.cert.X509Certificate;\r
 import java.util.List;\r
 \r
 import javax.xml.XMLConstants;\r
@@ -64,15 +63,15 @@ public interface SignatureFacet extends SignatureConfigurable {
      * pre-sign phase. Via this method a signature facet implementation can add\r
      * signature facets to an XML signature.\r
      * \r
-     * @param signatureFactory\r
-     * @param document\r
-     * @param signatureId\r
-     * @param signingCertificateChain\r
-     *            the optional signing certificate chain\r
-     * @param references\r
-     * @param objects\r
-     * @throws InvalidAlgorithmParameterException\r
+     * @param document the signature document to be used for imports\r
+     * @param signatureFactory the signature factory\r
+     * @param references list of reference definitions\r
+     * @param objects objects to be signed/included in the signature document\r
      * @throws NoSuchAlgorithmException\r
+     * @throws InvalidAlgorithmParameterException\r
+     * @throws IOException\r
+     * @throws URISyntaxException\r
+     * @throws XmlException\r
      */\r
     void preSign(\r
           Document document\r
@@ -85,12 +84,12 @@ public interface SignatureFacet extends SignatureConfigurable {
      * This method is being invoked by the XML signature service engine during\r
      * the post-sign phase. Via this method a signature facet can extend the XML\r
      * signatures with for example key information.\r
-     * \r
-     * @param signatureElement\r
-     * @param signingCertificateChain\r
+     *\r
+     * @param document the signature document to be modified\r
+     * @throws MarshalException\r
+     * @throws XmlException\r
      */\r
     void postSign(\r
           Document document\r
-        , List<X509Certificate> signingCertificateChain\r
     ) throws MarshalException, XmlException;\r
 }
\ No newline at end of file
index d34b367ddae3f70f6e3970fb6b628143bb8bc44b..4163cbcb79ebe21663401e51d7656e9c939b5519 100644 (file)
@@ -86,7 +86,7 @@ import org.w3c.dom.Element;
  * participated multiple ETSI XAdES plugtests.\r
  * \r
  * @author Frank Cornelis\r
- * @see http://en.wikipedia.org/wiki/XAdES\r
+ * @see <a href="http://en.wikipedia.org/wiki/XAdES">XAdES</a>\r
  * \r
  */\r
 public class XAdESSignatureFacet implements SignatureFacet {\r
@@ -104,7 +104,7 @@ public class XAdESSignatureFacet implements SignatureFacet {
     }\r
 \r
     @Override\r
-    public void postSign(Document document, List<X509Certificate> signingCertificateChain) {\r
+    public void postSign(Document document) {\r
         LOG.log(POILogger.DEBUG, "postSign");\r
     }\r
 \r
@@ -226,12 +226,10 @@ public class XAdESSignatureFacet implements SignatureFacet {
 \r
     /**\r
      * Gives back the JAXB DigestAlgAndValue data structure.\r
-     * \r
-     * @param data\r
-     * @param xadesObjectFactory\r
-     * @param xmldsigObjectFactory\r
-     * @param hashAlgo\r
-     * @return\r
+     *\r
+     * @param digestAlgAndValue the parent for the new digest element \r
+     * @param data the data to be digested\r
+     * @param digestAlgo the digest algorithm\r
      */\r
     protected static void setDigestAlgAndValue(\r
             DigestAlgAndValueType digestAlgAndValue,\r
index acbb1b9fc66b5fa00423ef7ff4e6a305a494cb8b..62572939b54df27abea04e2829ec671c04396b4e 100644 (file)
@@ -120,15 +120,6 @@ public class XAdESXLSignatureFacet implements SignatureFacet {
          this.signatureConfig = signatureConfig;\r
     }\r
     \r
-\r
-    \r
-    /**\r
-     * Convenience constructor.\r
-     * \r
-     * @param timeStampService\r
-     *            the time-stamp service used for XAdES-T and XAdES-X.\r
-     * @param revocationDataService\r
-     */\r
     public XAdESXLSignatureFacet() {\r
         try {\r
             this.certificateFactory = CertificateFactory.getInstance("X.509");\r
@@ -142,9 +133,7 @@ public class XAdESXLSignatureFacet implements SignatureFacet {
     }\r
 \r
     @Override\r
-    public void postSign(Document document,\r
-        List<X509Certificate> signingCertificateChain\r
-    ) throws XmlException {\r
+    public void postSign(Document document) throws XmlException {\r
         LOG.log(POILogger.DEBUG, "XAdES-X-L post sign phase");\r
 \r
         QualifyingPropertiesDocument qualDoc = null;\r
@@ -207,9 +196,10 @@ public class XAdESXLSignatureFacet implements SignatureFacet {
          * We skip the signing certificate itself according to section\r
          * 4.4.3.2 of the XAdES 1.4.1 specification.\r
          */\r
-        int chainSize = signingCertificateChain.size();\r
+        List<X509Certificate> certChain = signatureConfig.getSigningCertificateChain();\r
+        int chainSize = certChain.size();\r
         if (chainSize > 1) {\r
-            for (X509Certificate cert : signingCertificateChain.subList(1, chainSize)) {\r
+            for (X509Certificate cert : certChain.subList(1, chainSize)) {\r
                 CertIDType certId = certIdList.addNewCert();\r
                 XAdESSignatureFacet.setCertID(certId, signatureConfig, false, cert);\r
             }\r
@@ -219,7 +209,7 @@ public class XAdESXLSignatureFacet implements SignatureFacet {
         CompleteRevocationRefsType completeRevocationRefs = \r
             unsignedSigProps.addNewCompleteRevocationRefs();\r
         RevocationData revocationData = signatureConfig.getRevocationDataService()\r
-            .getRevocationData(signingCertificateChain);\r
+            .getRevocationData(certChain);\r
         if (revocationData.hasCRLs()) {\r
             CRLRefsType crlRefs = completeRevocationRefs.addNewCRLRefs();\r
             completeRevocationRefs.setCRLRefs(crlRefs);\r
@@ -309,7 +299,7 @@ public class XAdESXLSignatureFacet implements SignatureFacet {
 \r
         // XAdES-X-L\r
         CertificateValuesType certificateValues = unsignedSigProps.addNewCertificateValues();\r
-        for (X509Certificate certificate : signingCertificateChain) {\r
+        for (X509Certificate certificate : certChain) {\r
             EncapsulatedPKIDataType encapsulatedPKIDataType = certificateValues.addNewEncapsulatedX509Certificate();\r
             try {\r
                 encapsulatedPKIDataType.setByteArrayValue(certificate.getEncoded());\r
index 5f0089a53c37e5f89b636884fde11d1362240d28..22e667bf17878e94caad6b9a1db059dbb5f5c6d0 100644 (file)
@@ -86,7 +86,7 @@ public class RevocationData {
     /**\r
      * Gives back a list of all CRLs.\r
      * \r
-     * @return\r
+     * @return a list of all CRLs\r
      */\r
     public List<byte[]> getCRLs() {\r
         return this.crls;\r
@@ -95,7 +95,7 @@ public class RevocationData {
     /**\r
      * Gives back a list of all OCSP responses.\r
      * \r
-     * @return\r
+     * @return a list of all OCSP response\r
      */\r
     public List<byte[]> getOCSPs() {\r
         return this.ocsps;\r
@@ -105,7 +105,8 @@ public class RevocationData {
      * Returns <code>true</code> if this revocation data set holds OCSP\r
      * responses.\r
      * \r
-     * @return\r
+     * @return <code>true</code> if this revocation data set holds OCSP\r
+     * responses.\r
      */\r
     public boolean hasOCSPs() {\r
         return false == this.ocsps.isEmpty();\r
@@ -114,7 +115,7 @@ public class RevocationData {
     /**\r
      * Returns <code>true</code> if this revocation data set holds CRLs.\r
      * \r
-     * @return\r
+     * @return <code>true</code> if this revocation data set holds CRLs.\r
      */\r
     public boolean hasCRLs() {\r
         return false == this.crls.isEmpty();\r
@@ -123,7 +124,7 @@ public class RevocationData {
     /**\r
      * Returns <code>true</code> if this revocation data is not empty.\r
      * \r
-     * @return\r
+     * @return <code>true</code> if this revocation data is not empty.\r
      */\r
     public boolean hasRevocationDataEntries() {\r
         return hasOCSPs() || hasCRLs();\r
index b519c40e3da1f46396de81be59b649aa7636b18a..02bd6a05734fd99f46fc106b0ce507a83a62cd70 100644 (file)
@@ -40,8 +40,8 @@ public interface RevocationDataService {
      * Gives back the revocation data corresponding with the given certificate\r
      * chain.\r
      * \r
-     * @param certificateChain\r
-     * @return\r
+     * @param certificateChain the certificate chain\r
+     * @return the revocation data corresponding with the given certificate chain.\r
      */\r
     RevocationData getRevocationData(List<X509Certificate> certificateChain);\r
 }\r
index 1dbe1b1a15d3cf5fc0d98337c598dd7077a0729d..9716e6353286cd5ec446aaf790d2d17a7d828cd8 100644 (file)
@@ -35,7 +35,7 @@ public interface SignaturePolicyService {
     /**\r
      * Gives back the signature policy identifier URI.\r
      * \r
-     * @return\r
+     * @return the signature policy identifier URI.\r
      */\r
     String getSignaturePolicyIdentifier();\r
 \r
index 4e1ffa54f0e84252be602b389cf46e878941c3f6..7a831b75f6203bb425abbaa31f4e2634cea17130 100644 (file)
@@ -98,7 +98,7 @@ public final class XmlSort
      * attributes are not touched. When elements are reordered, all the text, comments and PIs\r
      * follow the element that they come immediately after.\r
      * @param comp a comparator that is to be used when comparing the <code>QName</code>s of two\r
-     * elements. See {@link org.apache.xmlbeans.samples.cursor.XmlSort.QNameComparator} for a simple\r
+     * elements. See {@link QNameComparator} for a simple\r
      * implementation that compares two elements based on the value of their QName, but more\r
      * complicated implementations are possible, for instance, ones that compare two elements based\r
      * on the value of a specifc attribute etc.\r