[pkg-java] r17036 - in trunk/libitext-java/debian: . patches

Emmanuel Bourg ebourg-guest at alioth.debian.org
Mon Jul 15 22:13:33 UTC 2013


Author: ebourg-guest
Date: 2013-07-15 22:13:32 +0000 (Mon, 15 Jul 2013)
New Revision: 17036

Added:
   trunk/libitext-java/debian/patches/02_bouncycastle_compatibility.patch
Removed:
   trunk/libitext-java/debian/patches/02_bouncycastle_1.47_port.patch
Modified:
   trunk/libitext-java/debian/changelog
   trunk/libitext-java/debian/patches/series
Log:
Patched to compile against Bouncy Castle 1.49



Modified: trunk/libitext-java/debian/changelog
===================================================================
--- trunk/libitext-java/debian/changelog	2013-07-15 22:12:06 UTC (rev 17035)
+++ trunk/libitext-java/debian/changelog	2013-07-15 22:13:32 UTC (rev 17036)
@@ -1,8 +1,9 @@
-libitext-java (2.1.7-7) UNRELEASED; urgency=low
+libitext-java (2.1.7-7) unstable; urgency=low
 
+  * Patched to compile against Bouncy Castle 1.49
   * Use canonical URLs for the Vcs-* fields
 
- -- Emmanuel Bourg <ebourg at apache.org>  Mon, 15 Jul 2013 23:43:09 +0200
+ -- Emmanuel Bourg <ebourg at apache.org>  Mon, 15 Jul 2013 23:57:34 +0200
 
 libitext-java (2.1.7-6) unstable; urgency=low
 

Deleted: trunk/libitext-java/debian/patches/02_bouncycastle_1.47_port.patch
===================================================================
--- trunk/libitext-java/debian/patches/02_bouncycastle_1.47_port.patch	2013-07-15 22:12:06 UTC (rev 17035)
+++ trunk/libitext-java/debian/patches/02_bouncycastle_1.47_port.patch	2013-07-15 22:13:32 UTC (rev 17036)
@@ -1,206 +0,0 @@
-Description: Bouncy Castle 1.47 broke the binary compatibility with the previous
- versions. iText 2.1.7 was developped for Bouncy Castle 1.38 and no longer works
- with the recent versions. This patch addresses this issue and fixes the
- compilation errors with Bouncy Castle 1.47 and later.
- http://www.bouncycastle.org/wiki/display/JA1/Porting+from+earlier+BC+releases+to+1.47+and+later
-Author: Emmanuel Bourg <ebourg at apache.org>
-Origin: vendor
-Forwarded: not-needed
-Index: src/ant/.ant.properties
-===================================================================
---- src/ant/.ant.properties	(revision 5738)
-+++ src/ant/.ant.properties	(working copy)
-@@ -13,12 +13,12 @@
- jcommon.jar=${itext.lib}/jcommon.jar
- servlet.jar=${itext.lib}/servlet.jar
- 
--bc.jdk=jdk14
--bc.version=138
-+bc.jdk=jdk15on
-+bc.version=1.48
- 
- lib.bcmail=bcmail-${bc.jdk}-${bc.version}.jar
- lib.bcprov=bcprov-${bc.jdk}-${bc.version}.jar
--lib.bctsp=bctsp-${bc.jdk}-${bc.version}.jar
-+lib.bctsp=bcpkix-${bc.jdk}-${bc.version}.jar
- lib.dom4j=pdf-renderer.jar
- lib.pdf-renderer=dom4j-1.6.1.jar
- 
-Index: src/core/com/lowagie/text/pdf/PdfPKCS7.java
-===================================================================
---- src/core/com/lowagie/text/pdf/PdfPKCS7.java	(revision 5738)
-+++ src/core/com/lowagie/text/pdf/PdfPKCS7.java	(working copy)
-@@ -77,21 +77,22 @@
- 
- import org.bouncycastle.asn1.ASN1Encodable;
- import org.bouncycastle.asn1.ASN1EncodableVector;
-+import org.bouncycastle.asn1.ASN1Encoding;
- import org.bouncycastle.asn1.ASN1InputStream;
- import org.bouncycastle.asn1.ASN1OutputStream;
-+import org.bouncycastle.asn1.ASN1Primitive;
- import org.bouncycastle.asn1.ASN1Sequence;
- import org.bouncycastle.asn1.ASN1Set;
-+import org.bouncycastle.asn1.ASN1String;
- import org.bouncycastle.asn1.ASN1TaggedObject;
- import org.bouncycastle.asn1.DEREnumerated;
- import org.bouncycastle.asn1.DERInteger;
- import org.bouncycastle.asn1.DERNull;
--import org.bouncycastle.asn1.DERObject;
- import org.bouncycastle.asn1.DERObjectIdentifier;
- import org.bouncycastle.asn1.DEROctetString;
- import org.bouncycastle.asn1.DEROutputStream;
- import org.bouncycastle.asn1.DERSequence;
- import org.bouncycastle.asn1.DERSet;
--import org.bouncycastle.asn1.DERString;
- import org.bouncycastle.asn1.DERTaggedObject;
- import org.bouncycastle.asn1.DERUTCTime;
- import org.bouncycastle.asn1.cms.AttributeTable;
-@@ -379,7 +380,7 @@
-             //
-             // Basic checks to make sure it's a PKCS#7 SignedData Object
-             //
--            DERObject pkcs;
-+            ASN1Primitive pkcs;
- 
-             try {
-                 pkcs = din.readObject();
-@@ -464,7 +465,7 @@
-             if (signerInfo.getObjectAt(next) instanceof ASN1TaggedObject) {
-                 ASN1TaggedObject tagsig = (ASN1TaggedObject)signerInfo.getObjectAt(next);
-                 ASN1Set sseq = ASN1Set.getInstance(tagsig, false);
--                sigAttr = sseq.getEncoded(ASN1Encodable.DER);
-+                sigAttr = sseq.getEncoded(ASN1Encoding.DER);
- 
-                 for (int k = 0; k < sseq.size(); ++k) {
-                     ASN1Sequence seq2 = (ASN1Sequence)sseq.getObjectAt(k);
-@@ -949,7 +950,7 @@
-      */
-     public static String getOCSPURL(X509Certificate certificate) throws CertificateParsingException {
-         try {
--            DERObject obj = getExtensionValue(certificate, X509Extensions.AuthorityInfoAccess.getId());
-+            ASN1Primitive obj = getExtensionValue(certificate, X509Extensions.AuthorityInfoAccess.getId());
-             if (obj == null) {
-                 return null;
-             }
-@@ -961,7 +962,7 @@
-                     continue;
-                 } else {
-                     if ((AccessDescription.getObjectAt(0) instanceof DERObjectIdentifier) && ((DERObjectIdentifier)AccessDescription.getObjectAt(0)).getId().equals("1.3.6.1.5.5.7.48.1")) {
--                        String AccessLocation =  getStringFromGeneralName((DERObject)AccessDescription.getObjectAt(1));
-+                        String AccessLocation =  getStringFromGeneralName((ASN1Primitive)AccessDescription.getObjectAt(1));
-                         if ( AccessLocation == null ) {
-                             return "" ;
-                         } else {
-@@ -999,7 +1000,7 @@
-         return false;
-     }
-     
--    private static DERObject getExtensionValue(X509Certificate cert, String oid) throws IOException {
-+    private static ASN1Primitive getExtensionValue(X509Certificate cert, String oid) throws IOException {
-         byte[] bytes = cert.getExtensionValue(oid);
-         if (bytes == null) {
-             return null;
-@@ -1010,7 +1011,7 @@
-         return aIn.readObject();
-     }
-     
--    private static String getStringFromGeneralName(DERObject names) throws IOException {
-+    private static String getStringFromGeneralName(ASN1Primitive names) throws IOException {
-         DERTaggedObject taggedObject = (DERTaggedObject) names ;
-         return new String(ASN1OctetString.getInstance(taggedObject, false).getOctets(), "ISO-8859-1");
-     }
-@@ -1020,11 +1021,11 @@
-      * @param enc a TBSCertificate in a byte array
-      * @return a DERObject
-      */
--    private static DERObject getIssuer(byte[] enc) {
-+    private static ASN1Primitive getIssuer(byte[] enc) {
-         try {
-             ASN1InputStream in = new ASN1InputStream(new ByteArrayInputStream(enc));
-             ASN1Sequence seq = (ASN1Sequence)in.readObject();
--            return (DERObject)seq.getObjectAt(seq.getObjectAt(0) instanceof DERTaggedObject ? 3 : 2);
-+            return (ASN1Primitive)seq.getObjectAt(seq.getObjectAt(0) instanceof DERTaggedObject ? 3 : 2);
-         }
-         catch (IOException e) {
-             throw new ExceptionConverter(e);
-@@ -1036,11 +1037,11 @@
-      * @param enc A TBSCertificate in a byte array
-      * @return a DERObject
-      */
--    private static DERObject getSubject(byte[] enc) {
-+    private static ASN1Primitive getSubject(byte[] enc) {
-         try {
-             ASN1InputStream in = new ASN1InputStream(new ByteArrayInputStream(enc));
-             ASN1Sequence seq = (ASN1Sequence)in.readObject();
--            return (DERObject)seq.getObjectAt(seq.getObjectAt(0) instanceof DERTaggedObject ? 5 : 4);
-+            return (ASN1Primitive)seq.getObjectAt(seq.getObjectAt(0) instanceof DERTaggedObject ? 5 : 4);
-         }
-         catch (IOException e) {
-             throw new ExceptionConverter(e);
-@@ -1340,7 +1341,7 @@
-      */    
-     public byte[] getAuthenticatedAttributeBytes(byte secondDigest[], Calendar signingTime, byte[] ocsp) {
-         try {
--            return getAuthenticatedAttributeSet(secondDigest, signingTime, ocsp).getEncoded(ASN1Encodable.DER);
-+            return getAuthenticatedAttributeSet(secondDigest, signingTime, ocsp).getEncoded(ASN1Encoding.DER);
-         }
-         catch (Exception e) {
-             throw new ExceptionConverter(e);
-@@ -1575,7 +1576,7 @@
-                         vs = new ArrayList();
-                         values.put(id, vs);
-                     }
--                    vs.add(((DERString)s.getObjectAt(1)).getString());
-+                    vs.add(((ASN1String)s.getObjectAt(1)).getString());
-                 }
-             }
-         }
-Index: src/core/com/lowagie/text/pdf/PdfPublicKeySecurityHandler.java
-===================================================================
---- src/core/com/lowagie/text/pdf/PdfPublicKeySecurityHandler.java	(revision 5738)
-+++ src/core/com/lowagie/text/pdf/PdfPublicKeySecurityHandler.java	(working copy)
-@@ -108,7 +108,7 @@
- import javax.crypto.SecretKey;
- 
- import org.bouncycastle.asn1.ASN1InputStream;
--import org.bouncycastle.asn1.DERObject;
-+import org.bouncycastle.asn1.ASN1Primitive;
- import org.bouncycastle.asn1.DERObjectIdentifier;
- import org.bouncycastle.asn1.DEROctetString;
- import org.bouncycastle.asn1.DEROutputStream;
-@@ -244,7 +244,7 @@
-         pkcs7input[22] = two;
-         pkcs7input[23] = one;
-         
--        DERObject obj = createDERForRecipient(pkcs7input, (X509Certificate)certificate);
-+        ASN1Primitive obj = createDERForRecipient(pkcs7input, (X509Certificate)certificate);
-             
-         ByteArrayOutputStream baos = new ByteArrayOutputStream();
-             
-@@ -276,7 +276,7 @@
-         return EncodedRecipients;
-     }
-     
--    private DERObject createDERForRecipient(byte[] in, X509Certificate cert) 
-+    private ASN1Primitive createDERForRecipient(byte[] in, X509Certificate cert) 
-         throws IOException,  
-                GeneralSecurityException 
-     {
-@@ -287,7 +287,7 @@
-         AlgorithmParameters algorithmparameters = algorithmparametergenerator.generateParameters();
-         ByteArrayInputStream bytearrayinputstream = new ByteArrayInputStream(algorithmparameters.getEncoded("ASN.1"));
-         ASN1InputStream asn1inputstream = new ASN1InputStream(bytearrayinputstream);
--        DERObject derobject = asn1inputstream.readObject();
-+        ASN1Primitive derobject = asn1inputstream.readObject();
-         KeyGenerator keygenerator = KeyGenerator.getInstance(s);
-         keygenerator.init(128);
-         SecretKey secretkey = keygenerator.generateKey();
-@@ -303,7 +303,7 @@
-         EnvelopedData env = new EnvelopedData(null, derset, encryptedcontentinfo, null);
-         ContentInfo contentinfo = 
-             new ContentInfo(PKCSObjectIdentifiers.envelopedData, env);
--        return contentinfo.getDERObject();        
-+        return contentinfo.toASN1Primitive();        
-     }
-     
-     private KeyTransRecipientInfo computeRecipientInfo(X509Certificate x509certificate, byte[] abyte0)

Copied: trunk/libitext-java/debian/patches/02_bouncycastle_compatibility.patch (from rev 17033, trunk/libitext-java/debian/patches/02_bouncycastle_1.47_port.patch)
===================================================================
--- trunk/libitext-java/debian/patches/02_bouncycastle_compatibility.patch	                        (rev 0)
+++ trunk/libitext-java/debian/patches/02_bouncycastle_compatibility.patch	2013-07-15 22:13:32 UTC (rev 17036)
@@ -0,0 +1,185 @@
+Description: iText 2.1.7 was developped for Bouncy Castle 1.38 and no longer works
+ with the recent versions. This patch addresses this issue and fixes the
+ compilation errors with Bouncy Castle 1.47 and later.
+ http://www.bouncycastle.org/wiki/display/JA1/Porting+from+earlier+BC+releases+to+1.47+and+later
+Author: Emmanuel Bourg <ebourg at apache.org>
+Origin: vendor
+Forwarded: not-needed
+--- a/core/com/lowagie/text/pdf/PdfPKCS7.java
++++ b/core/com/lowagie/text/pdf/PdfPKCS7.java
+@@ -77,21 +77,22 @@
+ 
+ import org.bouncycastle.asn1.ASN1Encodable;
+ import org.bouncycastle.asn1.ASN1EncodableVector;
++import org.bouncycastle.asn1.ASN1Encoding;
+ import org.bouncycastle.asn1.ASN1InputStream;
+ import org.bouncycastle.asn1.ASN1OutputStream;
++import org.bouncycastle.asn1.ASN1Primitive;
+ import org.bouncycastle.asn1.ASN1Sequence;
+ import org.bouncycastle.asn1.ASN1Set;
++import org.bouncycastle.asn1.ASN1String;
+ import org.bouncycastle.asn1.ASN1TaggedObject;
+ import org.bouncycastle.asn1.DEREnumerated;
+ import org.bouncycastle.asn1.DERInteger;
+ import org.bouncycastle.asn1.DERNull;
+-import org.bouncycastle.asn1.DERObject;
+ import org.bouncycastle.asn1.DERObjectIdentifier;
+ import org.bouncycastle.asn1.DEROctetString;
+ import org.bouncycastle.asn1.DEROutputStream;
+ import org.bouncycastle.asn1.DERSequence;
+ import org.bouncycastle.asn1.DERSet;
+-import org.bouncycastle.asn1.DERString;
+ import org.bouncycastle.asn1.DERTaggedObject;
+ import org.bouncycastle.asn1.DERUTCTime;
+ import org.bouncycastle.asn1.cms.AttributeTable;
+@@ -379,7 +380,7 @@
+             //
+             // Basic checks to make sure it's a PKCS#7 SignedData Object
+             //
+-            DERObject pkcs;
++            ASN1Primitive pkcs;
+ 
+             try {
+                 pkcs = din.readObject();
+@@ -464,7 +465,7 @@
+             if (signerInfo.getObjectAt(next) instanceof ASN1TaggedObject) {
+                 ASN1TaggedObject tagsig = (ASN1TaggedObject)signerInfo.getObjectAt(next);
+                 ASN1Set sseq = ASN1Set.getInstance(tagsig, false);
+-                sigAttr = sseq.getEncoded(ASN1Encodable.DER);
++                sigAttr = sseq.getEncoded(ASN1Encoding.DER);
+ 
+                 for (int k = 0; k < sseq.size(); ++k) {
+                     ASN1Sequence seq2 = (ASN1Sequence)sseq.getObjectAt(k);
+@@ -949,7 +950,7 @@
+      */
+     public static String getOCSPURL(X509Certificate certificate) throws CertificateParsingException {
+         try {
+-            DERObject obj = getExtensionValue(certificate, X509Extensions.AuthorityInfoAccess.getId());
++            ASN1Primitive obj = getExtensionValue(certificate, X509Extensions.AuthorityInfoAccess.getId());
+             if (obj == null) {
+                 return null;
+             }
+@@ -961,7 +962,7 @@
+                     continue;
+                 } else {
+                     if ((AccessDescription.getObjectAt(0) instanceof DERObjectIdentifier) && ((DERObjectIdentifier)AccessDescription.getObjectAt(0)).getId().equals("1.3.6.1.5.5.7.48.1")) {
+-                        String AccessLocation =  getStringFromGeneralName((DERObject)AccessDescription.getObjectAt(1));
++                        String AccessLocation =  getStringFromGeneralName((ASN1Primitive)AccessDescription.getObjectAt(1));
+                         if ( AccessLocation == null ) {
+                             return "" ;
+                         } else {
+@@ -999,7 +1000,7 @@
+         return false;
+     }
+     
+-    private static DERObject getExtensionValue(X509Certificate cert, String oid) throws IOException {
++    private static ASN1Primitive getExtensionValue(X509Certificate cert, String oid) throws IOException {
+         byte[] bytes = cert.getExtensionValue(oid);
+         if (bytes == null) {
+             return null;
+@@ -1010,7 +1011,7 @@
+         return aIn.readObject();
+     }
+     
+-    private static String getStringFromGeneralName(DERObject names) throws IOException {
++    private static String getStringFromGeneralName(ASN1Primitive names) throws IOException {
+         DERTaggedObject taggedObject = (DERTaggedObject) names ;
+         return new String(ASN1OctetString.getInstance(taggedObject, false).getOctets(), "ISO-8859-1");
+     }
+@@ -1020,11 +1021,11 @@
+      * @param enc a TBSCertificate in a byte array
+      * @return a DERObject
+      */
+-    private static DERObject getIssuer(byte[] enc) {
++    private static ASN1Primitive getIssuer(byte[] enc) {
+         try {
+             ASN1InputStream in = new ASN1InputStream(new ByteArrayInputStream(enc));
+             ASN1Sequence seq = (ASN1Sequence)in.readObject();
+-            return (DERObject)seq.getObjectAt(seq.getObjectAt(0) instanceof DERTaggedObject ? 3 : 2);
++            return (ASN1Primitive)seq.getObjectAt(seq.getObjectAt(0) instanceof DERTaggedObject ? 3 : 2);
+         }
+         catch (IOException e) {
+             throw new ExceptionConverter(e);
+@@ -1036,11 +1037,11 @@
+      * @param enc A TBSCertificate in a byte array
+      * @return a DERObject
+      */
+-    private static DERObject getSubject(byte[] enc) {
++    private static ASN1Primitive getSubject(byte[] enc) {
+         try {
+             ASN1InputStream in = new ASN1InputStream(new ByteArrayInputStream(enc));
+             ASN1Sequence seq = (ASN1Sequence)in.readObject();
+-            return (DERObject)seq.getObjectAt(seq.getObjectAt(0) instanceof DERTaggedObject ? 5 : 4);
++            return (ASN1Primitive)seq.getObjectAt(seq.getObjectAt(0) instanceof DERTaggedObject ? 5 : 4);
+         }
+         catch (IOException e) {
+             throw new ExceptionConverter(e);
+@@ -1340,7 +1341,7 @@
+      */    
+     public byte[] getAuthenticatedAttributeBytes(byte secondDigest[], Calendar signingTime, byte[] ocsp) {
+         try {
+-            return getAuthenticatedAttributeSet(secondDigest, signingTime, ocsp).getEncoded(ASN1Encodable.DER);
++            return getAuthenticatedAttributeSet(secondDigest, signingTime, ocsp).getEncoded(ASN1Encoding.DER);
+         }
+         catch (Exception e) {
+             throw new ExceptionConverter(e);
+@@ -1575,7 +1576,7 @@
+                         vs = new ArrayList();
+                         values.put(id, vs);
+                     }
+-                    vs.add(((DERString)s.getObjectAt(1)).getString());
++                    vs.add(((ASN1String)s.getObjectAt(1)).getString());
+                 }
+             }
+         }
+--- a/core/com/lowagie/text/pdf/PdfPublicKeySecurityHandler.java
++++ b/core/com/lowagie/text/pdf/PdfPublicKeySecurityHandler.java
+@@ -108,7 +108,7 @@
+ import javax.crypto.SecretKey;
+ 
+ import org.bouncycastle.asn1.ASN1InputStream;
+-import org.bouncycastle.asn1.DERObject;
++import org.bouncycastle.asn1.ASN1Primitive;
+ import org.bouncycastle.asn1.DERObjectIdentifier;
+ import org.bouncycastle.asn1.DEROctetString;
+ import org.bouncycastle.asn1.DEROutputStream;
+@@ -244,7 +244,7 @@
+         pkcs7input[22] = two;
+         pkcs7input[23] = one;
+         
+-        DERObject obj = createDERForRecipient(pkcs7input, (X509Certificate)certificate);
++        ASN1Primitive obj = createDERForRecipient(pkcs7input, (X509Certificate)certificate);
+             
+         ByteArrayOutputStream baos = new ByteArrayOutputStream();
+             
+@@ -276,7 +276,7 @@
+         return EncodedRecipients;
+     }
+     
+-    private DERObject createDERForRecipient(byte[] in, X509Certificate cert) 
++    private ASN1Primitive createDERForRecipient(byte[] in, X509Certificate cert) 
+         throws IOException,  
+                GeneralSecurityException 
+     {
+@@ -287,7 +287,7 @@
+         AlgorithmParameters algorithmparameters = algorithmparametergenerator.generateParameters();
+         ByteArrayInputStream bytearrayinputstream = new ByteArrayInputStream(algorithmparameters.getEncoded("ASN.1"));
+         ASN1InputStream asn1inputstream = new ASN1InputStream(bytearrayinputstream);
+-        DERObject derobject = asn1inputstream.readObject();
++        ASN1Primitive derobject = asn1inputstream.readObject();
+         KeyGenerator keygenerator = KeyGenerator.getInstance(s);
+         keygenerator.init(128);
+         SecretKey secretkey = keygenerator.generateKey();
+@@ -300,10 +300,10 @@
+         AlgorithmIdentifier algorithmidentifier = new AlgorithmIdentifier(new DERObjectIdentifier(s), derobject);
+         EncryptedContentInfo encryptedcontentinfo = 
+             new EncryptedContentInfo(PKCSObjectIdentifiers.data, algorithmidentifier, deroctetstring);
+-        EnvelopedData env = new EnvelopedData(null, derset, encryptedcontentinfo, null);
++        EnvelopedData env = new EnvelopedData(null, derset, encryptedcontentinfo, (org.bouncycastle.asn1.ASN1Set) null);
+         ContentInfo contentinfo = 
+             new ContentInfo(PKCSObjectIdentifiers.envelopedData, env);
+-        return contentinfo.getDERObject();        
++        return contentinfo.toASN1Primitive();        
+     }
+     
+     private KeyTransRecipientInfo computeRecipientInfo(X509Certificate x509certificate, byte[] abyte0)

Modified: trunk/libitext-java/debian/patches/series
===================================================================
--- trunk/libitext-java/debian/patches/series	2013-07-15 22:12:06 UTC (rev 17035)
+++ trunk/libitext-java/debian/patches/series	2013-07-15 22:13:32 UTC (rev 17036)
@@ -1,2 +1,2 @@
 01_allow_standard_input.patch
-02_bouncycastle_1.47_port.patch
+02_bouncycastle_compatibility.patch




More information about the pkg-java-commits mailing list