You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by gr...@apache.org on 2015/04/02 02:08:06 UTC

svn commit: r1670802 - in /tika/trunk: tika-bundle/pom.xml tika-parsers/pom.xml tika-parsers/src/main/java/org/apache/tika/parser/crypto/Pkcs7Parser.java

Author: grossws
Date: Thu Apr  2 00:08:06 2015
New Revision: 1670802

URL: http://svn.apache.org/r1670802
Log:
Updated bouncycastle to 1.52

Modified:
    tika/trunk/tika-bundle/pom.xml
    tika/trunk/tika-parsers/pom.xml
    tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/crypto/Pkcs7Parser.java

Modified: tika/trunk/tika-bundle/pom.xml
URL: http://svn.apache.org/viewvc/tika/trunk/tika-bundle/pom.xml?rev=1670802&r1=1670801&r2=1670802&view=diff
==============================================================================
--- tika/trunk/tika-bundle/pom.xml (original)
+++ tika/trunk/tika-bundle/pom.xml Thu Apr  2 00:08:06 2015
@@ -125,7 +125,7 @@
             <Embed-Dependency>
               tika-parsers;inline=true,
               commons-compress, xz, commons-codec, commons-csv, junrar,
-              pdfbox,fontbox,jempbox,bcmail-jdk15,bcprov-jdk15,
+              pdfbox,fontbox,jempbox,bcmail-jdk15on,bcprov-jdk15on,bcpkix-jdk15on,
               poi,poi-scratchpad,poi-ooxml,poi-ooxml-schemas,
               xmlbeans,
               tagsoup,

Modified: tika/trunk/tika-parsers/pom.xml
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/pom.xml?rev=1670802&r1=1670801&r2=1670802&view=diff
==============================================================================
--- tika/trunk/tika-parsers/pom.xml (original)
+++ tika/trunk/tika-parsers/pom.xml Thu Apr  2 00:08:06 2015
@@ -127,13 +127,13 @@
          problems with encrypted PDFs. -->
     <dependency>
       <groupId>org.bouncycastle</groupId>
-      <artifactId>bcmail-jdk15</artifactId>
-      <version>1.45</version>
+      <artifactId>bcmail-jdk15on</artifactId>
+      <version>1.52</version>
     </dependency>
     <dependency>
       <groupId>org.bouncycastle</groupId>
-      <artifactId>bcprov-jdk15</artifactId>
-      <version>1.45</version>
+      <artifactId>bcprov-jdk15on</artifactId>
+      <version>1.52</version>
     </dependency>
     <dependency>
       <groupId>org.apache.poi</groupId>

Modified: tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/crypto/Pkcs7Parser.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/crypto/Pkcs7Parser.java?rev=1670802&r1=1670801&r2=1670802&view=diff
==============================================================================
--- tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/crypto/Pkcs7Parser.java (original)
+++ tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/crypto/Pkcs7Parser.java Thu Apr  2 00:08:06 2015
@@ -31,6 +31,9 @@ import org.apache.tika.parser.Parser;
 import org.bouncycastle.cms.CMSException;
 import org.bouncycastle.cms.CMSSignedDataParser;
 import org.bouncycastle.cms.CMSTypedStream;
+import org.bouncycastle.operator.DigestCalculatorProvider;
+import org.bouncycastle.operator.OperatorCreationException;
+import org.bouncycastle.operator.jcajce.JcaDigestCalculatorProviderBuilder;
 import org.xml.sax.ContentHandler;
 import org.xml.sax.SAXException;
 
@@ -57,12 +60,14 @@ public class Pkcs7Parser extends Abstrac
             Metadata metadata, ParseContext context)
             throws IOException, SAXException, TikaException {
         try {
+            DigestCalculatorProvider digestCalculatorProvider =
+                    new JcaDigestCalculatorProviderBuilder().setProvider("BC").build();
             CMSSignedDataParser parser =
-                    new CMSSignedDataParser(new CloseShieldInputStream(stream));
+                    new CMSSignedDataParser(digestCalculatorProvider, new CloseShieldInputStream(stream));
             try {
-                CMSTypedStream content = parser.getSignedContent();     
+                CMSTypedStream content = parser.getSignedContent();
                 if (content == null) {
-                  throw new TikaException("cannot parse detached pkcs7 signature (no signed data to parse)");
+                    throw new TikaException("cannot parse detached pkcs7 signature (no signed data to parse)");
                 }
                 InputStream input = content.getContentStream();
                 try {
@@ -75,6 +80,8 @@ public class Pkcs7Parser extends Abstrac
             } finally {
                 parser.close();
             }
+        } catch (OperatorCreationException e) {
+            throw new TikaException("Unable to create DigestCalculatorProvider", e);
         } catch (CMSException e) {
             throw new TikaException("Unable to parse pkcs7 signed data", e);
         }