From 26af28bbdbf76636a940d8674a81e99cc328b8f9 Mon Sep 17 00:00:00 2001
From: Tim Allison
Date: Fri, 1 Apr 2016 00:57:56 +0000
Subject: [PATCH] POI 59257 upgrade Bouncy Castle to 1.54
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1737298 13f79535-47bb-0310-9956-ffa450edef68
---
.classpath | 4 +-
build.xml | 8 +-
sonar/ooxml/pom.xml | 4 +-
.../poi/poifs/crypt/dsig/SignatureInfo.java | 71 +++++++++---------
...ploads_media_PP_Scheinecker-jdk6error.pptx | Bin 776542 -> 776335 bytes
5 files changed, 43 insertions(+), 44 deletions(-)
diff --git a/.classpath b/.classpath
index 5a7d21738b..e133168db4 100644
--- a/.classpath
+++ b/.classpath
@@ -26,8 +26,8 @@
-
-
+
+
diff --git a/build.xml b/build.xml
index a3e75f25e8..19f9c8b416 100644
--- a/build.xml
+++ b/build.xml
@@ -164,10 +164,10 @@ under the License.
-
-
-
-
+
+
+
+
diff --git a/sonar/ooxml/pom.xml b/sonar/ooxml/pom.xml
index 25559380c1..5d4fcc36a2 100644
--- a/sonar/ooxml/pom.xml
+++ b/sonar/ooxml/pom.xml
@@ -125,12 +125,12 @@
org.bouncycastle
bcpkix-jdk15on
- 1.53
+ 1.54
org.bouncycastle
bcprov-jdk15on
- 1.53
+ 1.54
org.apache.santuario
diff --git a/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/SignatureInfo.java b/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/SignatureInfo.java
index 10174d54d8..f9afb7869e 100644
--- a/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/SignatureInfo.java
+++ b/src/ooxml/java/org/apache/poi/poifs/crypt/dsig/SignatureInfo.java
@@ -24,29 +24,12 @@
package org.apache.poi.poifs.crypt.dsig;
-import static org.apache.poi.POIXMLTypeLoader.DEFAULT_XML_OPTIONS;
-import static org.apache.poi.poifs.crypt.dsig.facets.SignatureFacet.XML_DIGSIG_NS;
-
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.security.GeneralSecurityException;
-import java.security.MessageDigest;
-import java.security.Provider;
-import java.security.Security;
-import java.security.cert.X509Certificate;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.NoSuchElementException;
-
-import javax.crypto.Cipher;
-import javax.xml.crypto.MarshalException;
-import javax.xml.crypto.URIDereferencer;
+import static org.apache.poi.POIXMLTypeLoader.DEFAULT_XML_OPTIONS;
+import static org.apache.poi.poifs.crypt.dsig.facets.SignatureFacet.XML_DIGSIG_NS;
+
+import javax.crypto.Cipher;
+import javax.xml.crypto.MarshalException;
+import javax.xml.crypto.URIDereferencer;
import javax.xml.crypto.XMLStructure;
import javax.xml.crypto.dsig.CanonicalizationMethod;
import javax.xml.crypto.dsig.Manifest;
@@ -62,12 +45,28 @@ import javax.xml.crypto.dsig.XMLValidateContext;
import javax.xml.crypto.dsig.dom.DOMSignContext;
import javax.xml.crypto.dsig.dom.DOMValidateContext;
import javax.xml.crypto.dsig.spec.C14NMethodParameterSpec;
-import javax.xml.xpath.XPath;
-import javax.xml.xpath.XPathConstants;
-import javax.xml.xpath.XPathFactory;
-
-import org.apache.jcp.xml.dsig.internal.dom.DOMReference;
-import org.apache.jcp.xml.dsig.internal.dom.DOMSignedInfo;
+import javax.xml.xpath.XPath;
+import javax.xml.xpath.XPathConstants;
+import javax.xml.xpath.XPathFactory;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.security.GeneralSecurityException;
+import java.security.MessageDigest;
+import java.security.Provider;
+import java.security.Security;
+import java.security.cert.X509Certificate;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.NoSuchElementException;
+
+import org.apache.jcp.xml.dsig.internal.dom.DOMReference;
+import org.apache.jcp.xml.dsig.internal.dom.DOMSignedInfo;
import org.apache.poi.EncryptedDocumentException;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.openxml4j.opc.ContentTypes;
@@ -159,13 +158,13 @@ import org.w3c.dom.events.EventTarget;
* Therefore we are using the Apache Santuario libs (xmlsec) instead of the built-in classes,
* as the compatibility seems to be provided there.
*
- * To use SignatureInfo and its sibling classes, you'll need to have the following libs
- * in the classpath:
- *
- * - BouncyCastle bcpkix and bcprov (tested against 1.53)
- * - Apache Santuario "xmlsec" (tested against 2.0.5)
- * - and slf4j-api (tested against 1.7.12)
- *
+ * To use SignatureInfo and its sibling classes, you'll need to have the following libs
+ * in the classpath:
+ *
+ * - BouncyCastle bcpkix and bcprov (tested against 1.54)
+ * - Apache Santuario "xmlsec" (tested against 2.0.5)
+ * - and slf4j-api (tested against 1.7.12)
+ *
*/
public class SignatureInfo implements SignatureConfigurable {
diff --git a/test-data/openxml4j/at.pzp.www_uploads_media_PP_Scheinecker-jdk6error.pptx b/test-data/openxml4j/at.pzp.www_uploads_media_PP_Scheinecker-jdk6error.pptx
index 7f9ff0c6f698ddabd67b1a327076197cbf10ef14..dc76a0170fd2bdd12ad292ca295c3c28a77045b4 100644
GIT binary patch
delta 24687
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
delta 24711
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
--
2.39.5
|