[SCM] voms-api-java packaging branch, master, updated. 033cc7baa6b293e40d482c76360e26ec2a639fee
Emmanuel Bourg
ebourg at apache.org
Sat Jul 13 23:15:28 UTC 2013
The following commit has been merged in the master branch:
commit d33642f40ffc611dcddce7204be49b2956c020ef
Author: Emmanuel Bourg <ebourg at apache.org>
Date: Sun Jul 14 01:05:15 2013 +0200
Added a patch to compile against BouncyCastle 1.48
diff --git a/debian/control b/debian/control
index e625bc7..4174c96 100644
--- a/debian/control
+++ b/debian/control
@@ -1,7 +1,7 @@
Source: voms-api-java
Priority: optional
Maintainer: Mattias Ellert <mattias.ellert at fysast.uu.se>
-Build-Depends: debhelper (>> 5), maven-debian-helper, maven-repo-helper, libmaven-compiler-plugin-java, libmaven-assembly-plugin-java, libmaven-javadoc-plugin-java, junit, libbcprov-java, libcommons-cli-java, libcommons-lang-java, liblog4j1.2-java
+Build-Depends: debhelper (>> 5), maven-debian-helper, maven-repo-helper, libmaven-compiler-plugin-java, libmaven-assembly-plugin-java, libmaven-javadoc-plugin-java, junit, libbcprov-java (>= 1.48), libbcpkix-java (>= 1.48), libcommons-cli-java, libcommons-lang-java, liblog4j1.2-java
Standards-Version: 3.9.4
Section: java
Vcs-Browser: http://svn.nordugrid.org/trac/packaging/browser/debian/voms-api-java
@@ -11,7 +11,7 @@ Homepage: https://wiki.italiangrid.it/VOMS
Package: libvoms-api-java-java
Section: java
Architecture: all
-Depends: ${misc:Depends}, libbcprov-java, libcommons-cli-java, libcommons-lang-java, liblog4j1.2-java
+Depends: ${misc:Depends}, libbcprov-java (>= 1.48), libbcpkix-java (>= 1.48), libcommons-cli-java, libcommons-lang-java, liblog4j1.2-java
Replaces: libvomsjapi-java (<< 2.0.7), libvomsjapi-java-gcj (<< 2.0.7)
Breaks: libvomsjapi-java (<< 2.0.7)
Provides: libvomsjapi-java
diff --git a/debian/maven.rules b/debian/maven.rules
index 110ff45..743c697 100644
--- a/debian/maven.rules
+++ b/debian/maven.rules
@@ -3,4 +3,4 @@ log4j log4j * s/.*/1.2.x/
org.apache.maven.plugins maven-assembly-plugin * s/.*/2.2-beta-5/
org.apache.maven.plugins maven-compiler-plugin * s/.*/2.0.2/
org.apache.maven.plugins maven-javadoc-plugin * s/.*/2.6.1/
-org.bouncycastle s/bcprov-.*/bcprov/ * s/.*/debian/
+org.bouncycastle s/bcpkix.*/bcpkix/ * s/.*/debian/
diff --git a/debian/patches/01_bouncycastle-1.48-compatibility.patch b/debian/patches/01_bouncycastle-1.48-compatibility.patch
new file mode 100644
index 0000000..913f988
--- /dev/null
+++ b/debian/patches/01_bouncycastle-1.48-compatibility.patch
@@ -0,0 +1,1028 @@
+Description: Patch to compile against BouncyCastle 1.48
+Author: Emmanuel Bourg <ebourg at apache.org>
+Forwarded: yes
+--- a/pom.xml
++++ b/pom.xml
+@@ -17,7 +17,7 @@
+ <assembly.java.dir>/usr/share/java</assembly.java.dir>
+ <assembly.doc.dir>/usr/share/doc/${project.name}-${project.version}</assembly.doc.dir>
+ <assembly.javadoc.dir>/usr/share/javadoc/${project.name}</assembly.javadoc.dir>
+- <bouncycastle.version>1.45</bouncycastle.version>
++ <bouncycastle.version>1.48</bouncycastle.version>
+ </properties>
+
+ <developers>
+@@ -95,7 +95,7 @@
+
+ <dependency>
+ <groupId>org.bouncycastle</groupId>
+- <artifactId>bcprov-ext-jdk16</artifactId>
++ <artifactId>bcpkix-jdk15on</artifactId>
+ <version>${bouncycastle.version}</version>
+ </dependency>
+
+--- a/src/main/java/org/glite/voms/PKIUtils.java
++++ b/src/main/java/org/glite/voms/PKIUtils.java
+@@ -63,7 +63,7 @@
+ import org.bouncycastle.asn1.ASN1TaggedObject;
+ import org.bouncycastle.asn1.DERBitString;
+ import org.bouncycastle.asn1.DERInteger;
+-import org.bouncycastle.asn1.DERObject;
++import org.bouncycastle.asn1.ASN1Primitive;
+ import org.bouncycastle.asn1.DERObjectIdentifier;
+ import org.bouncycastle.asn1.DEROctetString;
+ import org.bouncycastle.asn1.DERTaggedObject;
+@@ -334,14 +334,14 @@
+ }
+
+ static private BigInteger getAuthorityCertificateSerialNumber(AuthorityKeyIdentifier akid) {
+- DERObject obj = akid.getDERObject();
++ ASN1Primitive obj = akid.toASN1Primitive();
+ ASN1Sequence seq = ASN1Sequence.getInstance(obj);
+
+ for (int i = 0; i < seq.size(); i++) {
+- DERObject o = (DERObject) seq.getObjectAt(i);
++ ASN1Primitive o = (ASN1Primitive) seq.getObjectAt(i);
+ if ((o instanceof ASN1TaggedObject) &&
+ (((ASN1TaggedObject)o).getTagNo() == 2)) {
+- DERObject realObject = ((ASN1TaggedObject)o).getObject();
++ ASN1Primitive realObject = ((ASN1TaggedObject)o).getObject();
+ if (realObject instanceof DERInteger) {
+ return ((DERInteger)realObject).getValue();
+ }
+@@ -351,11 +351,11 @@
+ }
+
+ static private GeneralNames getAuthorityCertIssuer(AuthorityKeyIdentifier akid) {
+- DERObject obj = akid.getDERObject();
++ ASN1Primitive obj = akid.toASN1Primitive();
+ ASN1Sequence seq = ASN1Sequence.getInstance(obj);
+
+ for (int i = 0; i < seq.size(); i++) {
+- DERObject o = (DERObject) seq.getObjectAt(i);
++ ASN1Primitive o = (ASN1Primitive) seq.getObjectAt(i);
+ if ((o instanceof ASN1TaggedObject) &&
+ (((ASN1TaggedObject)o).getTagNo() == 1)) {
+ return GeneralNames.getInstance(((DERTaggedObject)o), false);
+@@ -365,7 +365,7 @@
+ }
+
+ static private GeneralName[] getNames(GeneralNames gns) {
+- DERObject obj = gns.getDERObject();
++ ASN1Primitive obj = gns.toASN1Primitive();
+ ArrayList v = new ArrayList();
+
+ ASN1Sequence seq = (ASN1Sequence)obj;
+@@ -515,7 +515,7 @@
+ }
+ logger.debug(str.toString());
+
+- DERObject dobj = null;
++ ASN1Primitive dobj = null;
+ try {
+ dobj = new ASN1InputStream(new ByteArrayInputStream(keybytes)).readObject();
+ logger.debug("Class = " + dobj.getClass());
+@@ -608,7 +608,7 @@
+ ASN1OctetString string = new DEROctetString(akid);
+ byte[] llist2 = string.getOctets();
+
+- DERObject dobj = null;
++ ASN1Primitive dobj = null;
+ try {
+ dobj = new ASN1InputStream(new ByteArrayInputStream(llist2)).readObject();
+ dobj = new ASN1InputStream(new ByteArrayInputStream(((DEROctetString)dobj).getOctets())).readObject();
+@@ -620,7 +620,7 @@
+ throw new IllegalArgumentException("While extracting Authority Key Identifier " + e.getMessage(), e);
+ }
+
+- return new AuthorityKeyIdentifier(ASN1Sequence.getInstance(dobj));
++ return AuthorityKeyIdentifier.getInstance(ASN1Sequence.getInstance(dobj));
+ }
+ }
+ return null;
+@@ -637,7 +637,7 @@
+ if (cert != null) {
+ byte[] akid = cert.getExtensionValue(SUBJECT_KEY_IDENTIFIER);
+ if (akid != null) {
+- DERObject dobj = null;
++ ASN1Primitive dobj = null;
+ try {
+ dobj = new ASN1InputStream(new ByteArrayInputStream(akid)).readObject();
+ dobj = new ASN1InputStream(new ByteArrayInputStream(((DEROctetString)dobj).getOctets())).readObject();
+@@ -662,7 +662,7 @@
+ if (cert != null) {
+ byte[] akid = cert.getExtensionValue(BASIC_CONSTRAINTS_IDENTIFIER);
+ if (akid != null) {
+- DERObject dobj = null;
++ ASN1Primitive dobj = null;
+ try {
+ dobj = new ASN1InputStream(new ByteArrayInputStream(akid)).readObject();
+ }
+@@ -670,7 +670,7 @@
+ throw new IllegalArgumentException("While extracting Subject Key Identifier " + e.getMessage());
+ }
+
+- return new BasicConstraints(ASN1Sequence.getInstance(dobj));
++ return BasicConstraints.getInstance(ASN1Sequence.getInstance(dobj));
+ }
+ }
+ return null;
+--- a/src/main/java/org/glite/voms/PKIVerifier.java
++++ b/src/main/java/org/glite/voms/PKIVerifier.java
+@@ -58,7 +58,7 @@
+
+ import org.apache.log4j.Logger;
+ 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.x509.X509Extension;
+@@ -468,7 +468,7 @@
+ else
+ ext = new X509Extension(true, new DEROctetString(payload));
+
+- DERObject obj = null;
++ ASN1Primitive obj = null;
+
+ try {
+ obj = new ASN1InputStream(new ByteArrayInputStream(ext.getValue().getOctets())).readObject();
+--- a/src/main/java/org/glite/voms/VOMSAttribute.java
++++ b/src/main/java/org/glite/voms/VOMSAttribute.java
+@@ -218,7 +218,7 @@
+
+ GeneralNames names = myAC.getHolder().getIssuer();
+
+- Enumeration e = ((ASN1Sequence) names.getDERObject()).getObjects();
++ Enumeration e = ((ASN1Sequence) names.toASN1Primitive()).getObjects();
+ if (e.hasMoreElements()) {
+ GeneralName gn = (GeneralName)e.nextElement();
+
+--- a/src/main/java/org/glite/voms/ac/ACCerts.java
++++ b/src/main/java/org/glite/voms/ac/ACCerts.java
+@@ -37,9 +37,9 @@
+
+ import org.bouncycastle.jce.provider.BouncyCastleProvider;
+ import org.bouncycastle.asn1.ASN1Sequence;
+-import org.bouncycastle.asn1.DEREncodable;
++import org.bouncycastle.asn1.ASN1Encodable;
+ import org.bouncycastle.asn1.ASN1EncodableVector;
+-import org.bouncycastle.asn1.DERObject;
++import org.bouncycastle.asn1.ASN1Primitive;
+ import org.bouncycastle.asn1.DERSequence;
+ import org.bouncycastle.asn1.x509.X509CertificateStructure;
+ import org.bouncycastle.jce.provider.X509CertificateObject;
+@@ -49,7 +49,7 @@
+ *
+ * @author Vincenzo Ciaschini.
+ */
+-public class ACCerts implements DEREncodable {
++public class ACCerts implements ASN1Encodable {
+ List l;
+
+ /**
+@@ -97,7 +97,7 @@
+ ASN1Sequence s = ASN1Sequence.getInstance(o);
+ byte[] data = null;
+ try {
+- data = new X509CertificateObject(X509CertificateStructure.getInstance(s)).getEncoded();
++ data = new X509CertificateObject(org.bouncycastle.asn1.x509.Certificate.getInstance(s)).getEncoded();
+ l.add((X509Certificate)cf.generateCertificate(new ByteArrayInputStream(data)));
+ }
+ catch(Exception ex) {
+@@ -141,7 +141,7 @@
+ *
+ * @return the DERObject
+ */
+- public DERObject getDERObject() {
++ public ASN1Primitive toASN1Primitive() {
+ ASN1EncodableVector v = new ASN1EncodableVector();
+
+ ListIterator li = l.listIterator();
+--- a/src/main/java/org/glite/voms/ac/ACTarget.java
++++ b/src/main/java/org/glite/voms/ac/ACTarget.java
+@@ -26,10 +26,10 @@
+
+ import org.bouncycastle.asn1.ASN1Sequence;
+ import org.bouncycastle.asn1.ASN1TaggedObject;
+-import org.bouncycastle.asn1.DEREncodable;
++import org.bouncycastle.asn1.ASN1Encodable;
+ import org.bouncycastle.asn1.ASN1EncodableVector;
+ import org.bouncycastle.asn1.DERIA5String;
+-import org.bouncycastle.asn1.DERObject;
++import org.bouncycastle.asn1.ASN1Primitive;
+ import org.bouncycastle.asn1.DERSequence;
+ import org.bouncycastle.asn1.DERTaggedObject;
+ import org.bouncycastle.asn1.x509.GeneralName;
+@@ -62,7 +62,7 @@
+ *
+ * @author Vincenzo Ciaschini
+ */
+-public class ACTarget implements DEREncodable {
++public class ACTarget implements ASN1Encodable {
+ private GeneralName name;
+ private GeneralName group;
+ private IssuerSerial cert;
+@@ -127,7 +127,7 @@
+ * @return the IssuerSerial as String.
+ */
+ public String getIssuerSerialString() {
+- ASN1Sequence seq = ASN1Sequence.getInstance(cert.getIssuer().getDERObject());
++ ASN1Sequence seq = ASN1Sequence.getInstance(cert.getIssuer().toASN1Primitive());
+ GeneralName name = GeneralName.getInstance(seq.getObjectAt(0));
+
+ return NameConverter.getInstance(name).getAsString() + ":" +
+@@ -149,7 +149,7 @@
+ * @param s the name.
+ */
+ public void setName(String s) {
+- name = new GeneralName(new DERIA5String(s), 6);
++ name = new GeneralName(6, new DERIA5String(s));
+ }
+
+ /**
+@@ -167,7 +167,7 @@
+ * @param s the group name.
+ */
+ public void setGroup(String s) {
+- group = new GeneralName(new DERIA5String(s), 6);
++ group = new GeneralName(6, new DERIA5String(s));
+ }
+
+ /**
+@@ -189,13 +189,13 @@
+ int ch = s.lastIndexOf(':');
+ if (ch != -1) {
+ String iss = s.substring(0, ch);
+- GeneralName nm = new GeneralName(new DERIA5String(iss), 6);
+- ASN1Sequence seq = ASN1Sequence.getInstance(name.getDERObject());
++ GeneralName nm = new GeneralName(6, new DERIA5String(iss));
++ ASN1Sequence seq = ASN1Sequence.getInstance(name.toASN1Primitive());
+
+ ASN1EncodableVector v = new ASN1EncodableVector();
+ v.add(nm);
+ v.add(seq);
+- cert = new IssuerSerial(new DERSequence(v));
++ cert = IssuerSerial.getInstance(new DERSequence(v));
+ }
+ else throw new IllegalArgumentException("cannot identify issuer and serial");
+ }
+@@ -238,7 +238,7 @@
+ case 2:
+ group = null;
+ name = null;
+- cert = new IssuerSerial((ASN1Sequence)obj.getObject());
++ cert = IssuerSerial.getInstance((ASN1Sequence)obj.getObject());
+ break;
+ default:
+ throw new IllegalArgumentException("Bad tag in encoding ACTarget");
+@@ -255,7 +255,7 @@
+ *
+ * @return the DERObject
+ */
+- public DERObject getDERObject() {
++ public ASN1Primitive toASN1Primitive() {
+ ASN1EncodableVector v = new ASN1EncodableVector();
+
+ if (name != null)
+--- a/src/main/java/org/glite/voms/ac/ACTargets.java
++++ b/src/main/java/org/glite/voms/ac/ACTargets.java
+@@ -30,9 +30,9 @@
+ import java.util.Vector;
+
+ import org.bouncycastle.asn1.ASN1Sequence;
+-import org.bouncycastle.asn1.DEREncodable;
++import org.bouncycastle.asn1.ASN1Encodable;
+ import org.bouncycastle.asn1.ASN1EncodableVector;
+-import org.bouncycastle.asn1.DERObject;
++import org.bouncycastle.asn1.ASN1Primitive;
+ import org.bouncycastle.asn1.DERSequence;
+
+ /**
+@@ -41,7 +41,7 @@
+ *
+ * @author Vincenzo Ciaschini
+ */
+-public class ACTargets implements DEREncodable {
++public class ACTargets implements ASN1Encodable {
+ private List l;
+ private List parsed;
+
+@@ -116,7 +116,7 @@
+ *
+ * @return the DERObject
+ */
+- public DERObject getDERObject() {
++ public ASN1Primitive toASN1Primitive() {
+ ASN1EncodableVector v = new ASN1EncodableVector();
+
+ ListIterator li = l.listIterator();
+--- a/src/main/java/org/glite/voms/ac/AttCertIssuer.java
++++ b/src/main/java/org/glite/voms/ac/AttCertIssuer.java
+@@ -35,9 +35,10 @@
+
+ import org.bouncycastle.asn1.ASN1Sequence;
+ import org.bouncycastle.asn1.ASN1TaggedObject;
+-import org.bouncycastle.asn1.DEREncodable;
+-import org.bouncycastle.asn1.DERObject;
++import org.bouncycastle.asn1.ASN1Encodable;
++import org.bouncycastle.asn1.ASN1Primitive;
+ import org.bouncycastle.asn1.DERTaggedObject;
++import org.bouncycastle.asn1.x509.GeneralName;
+ import org.bouncycastle.asn1.x509.GeneralNames;
+
+
+@@ -47,12 +48,12 @@
+ *
+ * @author Joni Hahkala, Olle Mulmo
+ */
+-public class AttCertIssuer implements DEREncodable {
++public class AttCertIssuer implements ASN1Encodable {
+ GeneralNames v1Form;
+ V2Form v2Form;
+ int version = -1;
+
+- public AttCertIssuer(DEREncodable obj) {
++ public AttCertIssuer(ASN1Encodable obj) {
+ if (obj instanceof ASN1TaggedObject) {
+ ASN1TaggedObject cObj = (ASN1TaggedObject) obj;
+
+@@ -62,7 +63,7 @@
+ version = 2;
+ }
+ } else if (obj instanceof ASN1Sequence) {
+- v1Form = new GeneralNames((ASN1Sequence) obj);
++ v1Form = new GeneralNames(GeneralName.getInstance(obj));
+ version = 1;
+ }
+
+@@ -107,10 +108,10 @@
+ *
+ * </pre>
+ */
+- public DERObject getDERObject() {
++ public ASN1Primitive toASN1Primitive() {
+ switch (version) {
+ case 1:
+- return v1Form.getDERObject();
++ return v1Form.toASN1Primitive();
+
+ case 2:
+ return new DERTaggedObject(true, 0, v2Form);
+--- a/src/main/java/org/glite/voms/ac/AttributeCertificate.java
++++ b/src/main/java/org/glite/voms/ac/AttributeCertificate.java
+@@ -58,10 +58,10 @@
+ import org.bouncycastle.asn1.ASN1InputStream;
+ import org.bouncycastle.asn1.DERBitString;
+ import org.bouncycastle.asn1.DERSet;
+-import org.bouncycastle.asn1.DEREncodable;
++import org.bouncycastle.asn1.ASN1Encodable;
+ import org.bouncycastle.asn1.DERGeneralizedTime;
+ import org.bouncycastle.asn1.DERInteger;
+-import org.bouncycastle.asn1.DERObject;
++import org.bouncycastle.asn1.ASN1Primitive;
+ import org.bouncycastle.asn1.DERObjectIdentifier;
+ import org.bouncycastle.asn1.DEROutputStream;
+ import org.bouncycastle.asn1.DERSequence;
+@@ -81,15 +81,15 @@
+ *
+ * @author Joni Hahkala, Olle Mulmo
+ */
+-public class AttributeCertificate implements DEREncodable {
++public class AttributeCertificate implements ASN1Encodable {
+ protected static final Logger logger = Logger.getLogger(AttributeCertificate.class);
+ AttributeCertificateInfo acInfo;
+ AlgorithmIdentifier signatureAlgorithm;
+ DERBitString signatureValue;
+- DERObject signedObj = null;
++ ASN1Primitive signedObj = null;
+
+ public AttributeCertificate(ASN1Sequence seq) throws IOException {
+- signedObj = ((ASN1Sequence)seq.getObjectAt(0)).getDERObject();
++ signedObj = ((ASN1Sequence)seq.getObjectAt(0)).toASN1Primitive();
+ acInfo = new AttributeCertificateInfo((ASN1Sequence) seq.getObjectAt(0));
+ signatureAlgorithm = AlgorithmIdentifier.getInstance(seq.getObjectAt(1));
+ signatureValue = (DERBitString) seq.getObjectAt(2);
+@@ -254,7 +254,7 @@
+ return null;
+ }
+
+- ASN1Sequence seq = (ASN1Sequence) acInfo.getIssuer().getIssuerName().getDERObject();
++ ASN1Sequence seq = (ASN1Sequence) acInfo.getIssuer().getIssuerName().toASN1Primitive();
+
+ for (Enumeration e = seq.getObjects(); e.hasMoreElements();) {
+ GeneralName gn = GeneralName.getInstance(e.nextElement());
+@@ -276,7 +276,7 @@
+ return null;
+ }
+
+- ASN1Sequence seq = (ASN1Sequence) acInfo.getIssuer().getIssuerName().getDERObject();
++ ASN1Sequence seq = (ASN1Sequence) acInfo.getIssuer().getIssuerName().toASN1Primitive();
+ for (Enumeration e = seq.getObjects(); e.hasMoreElements();) {
+ Object o = e.nextElement();
+ GeneralName gn = GeneralName.getInstance( o);
+@@ -300,7 +300,7 @@
+
+ GeneralNames gns = acInfo.getHolder().getIssuer();
+
+- for (Enumeration e = ((ASN1Sequence)gns.getDERObject()).getObjects(); e.hasMoreElements();) {
++ for (Enumeration e = ((ASN1Sequence)gns.toASN1Primitive()).getObjects(); e.hasMoreElements();) {
+ GeneralName gn = (GeneralName)e.nextElement();
+
+ if (gn.getTagNo() == 4) {
+@@ -458,7 +458,7 @@
+ * }
+ * </pre>
+ */
+- public DERObject getDERObject() {
++ public ASN1Primitive toASN1Primitive() {
+ ASN1EncodableVector v = new ASN1EncodableVector();
+
+ v.add(acInfo);
+--- a/src/main/java/org/glite/voms/ac/AttributeCertificateInfo.java
++++ b/src/main/java/org/glite/voms/ac/AttributeCertificateInfo.java
+@@ -46,12 +46,12 @@
+ import org.bouncycastle.asn1.ASN1TaggedObject;
+ import org.bouncycastle.asn1.DERBitString;
+ import org.bouncycastle.asn1.DERSet;
+-import org.bouncycastle.asn1.DEREncodable;
++import org.bouncycastle.asn1.ASN1Encodable;
+ import org.bouncycastle.asn1.ASN1EncodableVector;
+ import org.bouncycastle.asn1.DERGeneralizedTime;
+ import org.bouncycastle.asn1.DERIA5String;
+ import org.bouncycastle.asn1.DERInteger;
+-import org.bouncycastle.asn1.DERObject;
++import org.bouncycastle.asn1.ASN1Primitive;
+ import org.bouncycastle.asn1.DERObjectIdentifier;
+ import org.bouncycastle.asn1.DEROctetString;
+ import org.bouncycastle.asn1.DERSequence;
+@@ -68,7 +68,7 @@
+ *
+ * @author Joni Hahkala, Olle Mulmo
+ */
+-public class AttributeCertificateInfo implements DEREncodable {
++public class AttributeCertificateInfo implements ASN1Encodable {
+ DERInteger version;
+ Holder holder;
+ AttCertIssuer issuer;
+@@ -122,7 +122,7 @@
+ s3 = (ASN1Sequence) new DERSequence(v);
+ }
+
+- attrCertValidityPeriod = new AttCertValidityPeriod(s3);
++ attrCertValidityPeriod = AttCertValidityPeriod.getInstance(s3);
+ attributes = (ASN1Sequence) seq.getObjectAt(6);
+
+ // getting FQANs
+@@ -138,7 +138,7 @@
+ for (Enumeration s = set.getObjects(); s.hasMoreElements();) {
+ IetfAttrSyntax attr = new IetfAttrSyntax((ASN1Sequence)s.nextElement());
+ String url = ((DERIA5String) GeneralName.getInstance(((ASN1Sequence) attr.getPolicyAuthority()
+- .getDERObject()).getObjectAt(0))
++ .toASN1Primitive()).getObjectAt(0))
+ .getName()).getString();
+ int idx = url.indexOf("://");
+
+@@ -181,7 +181,7 @@
+ // check if the following two can be detected better!!!
+ // for example, is it possible to have only the extensions? how to detect this?
+ if (seq.size() > 8) {
+- issuerUniqueID = new DERBitString(seq.getObjectAt(7));
++ issuerUniqueID = DERBitString.getInstance(seq.getObjectAt(7));
+ extensions = new X509Extensions((ASN1Sequence) seq.getObjectAt(8));
+ } else if (seq.size() > 7) {
+ extensions = new X509Extensions((ASN1Sequence) seq.getObjectAt(7));
+@@ -190,7 +190,7 @@
+ // start parsing of known extensions
+ if (extensions.getExtension(AC_TARGET_OID_DER) != null) {
+ byte[] data = (extensions.getExtension(AC_TARGET_OID_DER).getValue().getOctets());
+- DERObject dobj = null;
++ ASN1Primitive dobj = null;
+ try {
+ dobj = new ASN1InputStream(new ByteArrayInputStream(data)).readObject();
+ acTargets = new ACTargets(ASN1Sequence.getInstance(dobj));
+@@ -201,7 +201,7 @@
+
+ if (extensions.getExtension(AC_CERTS_OID_DER) != null) {
+ byte[] data = (extensions.getExtension(AC_CERTS_OID_DER).getValue().getOctets());
+- DERObject dobj = null;
++ ASN1Primitive dobj = null;
+ try {
+ dobj = new ASN1InputStream(new ByteArrayInputStream(data)).readObject();
+ acCerts = new ACCerts(ASN1Sequence.getInstance(dobj));
+@@ -212,7 +212,7 @@
+
+ if (extensions.getExtension(AC_FULL_ATTRIBUTES_OID_DER) != null) {
+ byte[] data = (extensions.getExtension(AC_FULL_ATTRIBUTES_OID_DER).getValue().getOctets());
+- DERObject dobj = null;
++ ASN1Primitive dobj = null;
+ try {
+ dobj = new ASN1InputStream(new ByteArrayInputStream(data)).readObject();
+
+@@ -335,7 +335,7 @@
+ *
+ * </pre>
+ */
+- public DERObject getDERObject() {
++ public ASN1Primitive toASN1Primitive() {
+ ASN1EncodableVector v = new ASN1EncodableVector();
+ v.add(version);
+ v.add(holder);
+--- a/src/main/java/org/glite/voms/ac/AttributeHolder.java
++++ b/src/main/java/org/glite/voms/ac/AttributeHolder.java
+@@ -31,10 +31,10 @@
+ import java.util.Vector;
+
+ import org.bouncycastle.asn1.ASN1Sequence;
+-import org.bouncycastle.asn1.DEREncodable;
++import org.bouncycastle.asn1.ASN1Encodable;
+ import org.bouncycastle.asn1.ASN1EncodableVector;
+ import org.bouncycastle.asn1.DERIA5String;
+-import org.bouncycastle.asn1.DERObject;
++import org.bouncycastle.asn1.ASN1Primitive;
+ import org.bouncycastle.asn1.DERSequence;
+ import org.bouncycastle.asn1.x509.GeneralName;
+ import org.bouncycastle.asn1.x509.GeneralNames;
+@@ -45,7 +45,7 @@
+ *
+ * @author Vincenzo Ciaschini
+ */
+-public class AttributeHolder implements DEREncodable {
++public class AttributeHolder implements ASN1Encodable {
+ private List l;
+ private GeneralNames grantor;
+
+@@ -98,7 +98,7 @@
+ * @return the grantor.
+ */
+ public String getGrantor() {
+- ASN1Sequence seq = ASN1Sequence.getInstance(grantor.getDERObject());
++ ASN1Sequence seq = ASN1Sequence.getInstance(grantor.toASN1Primitive());
+ GeneralName name = GeneralName.getInstance(seq.getObjectAt(0));
+ return DERIA5String.getInstance(name.getName()).getString();
+ }
+@@ -118,7 +118,7 @@
+ *
+ * @return the DERObject
+ */
+- public DERObject getDERObject() {
++ public ASN1Primitive toASN1Primitive() {
+ ASN1EncodableVector v = new ASN1EncodableVector();
+
+ v.add(grantor);
+--- a/src/main/java/org/glite/voms/ac/FullAttributes.java
++++ b/src/main/java/org/glite/voms/ac/FullAttributes.java
+@@ -30,9 +30,9 @@
+ import java.util.Vector;
+
+ import org.bouncycastle.asn1.ASN1Sequence;
+-import org.bouncycastle.asn1.DEREncodable;
++import org.bouncycastle.asn1.ASN1Encodable;
+ import org.bouncycastle.asn1.ASN1EncodableVector;
+-import org.bouncycastle.asn1.DERObject;
++import org.bouncycastle.asn1.ASN1Primitive;
+ import org.bouncycastle.asn1.DERSequence;
+
+ /**
+@@ -41,7 +41,7 @@
+ *
+ * @author Vincenzo Ciaschini
+ */
+-public class FullAttributes implements DEREncodable {
++public class FullAttributes implements ASN1Encodable {
+ private List l;
+
+ /**
+@@ -93,7 +93,7 @@
+ *
+ * @return the DERObject
+ */
+- public DERObject getDERObject() {
++ public ASN1Primitive toASN1Primitive() {
+ ASN1EncodableVector v2 = new ASN1EncodableVector();
+
+ for (ListIterator li = l.listIterator(); li.hasNext(); ) {
+--- a/src/main/java/org/glite/voms/ac/GenericAttribute.java
++++ b/src/main/java/org/glite/voms/ac/GenericAttribute.java
+@@ -26,9 +26,9 @@
+
+ import org.bouncycastle.asn1.ASN1OctetString;
+ import org.bouncycastle.asn1.ASN1Sequence;
+-import org.bouncycastle.asn1.DEREncodable;
++import org.bouncycastle.asn1.ASN1Encodable;
+ import org.bouncycastle.asn1.ASN1EncodableVector;
+-import org.bouncycastle.asn1.DERObject;
++import org.bouncycastle.asn1.ASN1Primitive;
+ import org.bouncycastle.asn1.DEROctetString;
+ import org.bouncycastle.asn1.DERSequence;
+
+@@ -38,7 +38,7 @@
+ *
+ * @author Vincenzo Ciaschini
+ */
+-public class GenericAttribute implements DEREncodable {
++public class GenericAttribute implements ASN1Encodable {
+ private String name;
+ private String value;
+ private String qualifier;
+@@ -115,7 +115,7 @@
+ *
+ * @return the DERObject
+ */
+- public DERObject getDERObject() {
++ public ASN1Primitive toASN1Primitive() {
+ ASN1EncodableVector v = new ASN1EncodableVector();
+
+ v.add(new DEROctetString(name.getBytes()));
+--- a/src/main/java/org/glite/voms/ac/Holder.java
++++ b/src/main/java/org/glite/voms/ac/Holder.java
+@@ -40,10 +40,10 @@
+ import org.bouncycastle.asn1.ASN1EncodableVector;
+ import org.bouncycastle.asn1.ASN1Sequence;
+ import org.bouncycastle.asn1.ASN1TaggedObject;
+-import org.bouncycastle.asn1.DEREncodable;
++import org.bouncycastle.asn1.ASN1Encodable;
+ import org.bouncycastle.asn1.ASN1EncodableVector;
+ import org.bouncycastle.asn1.DERInteger;
+-import org.bouncycastle.asn1.DERObject;
++import org.bouncycastle.asn1.ASN1Primitive;
+ import org.bouncycastle.asn1.DEROutputStream;
+ import org.bouncycastle.asn1.DERSequence;
+ import org.bouncycastle.asn1.DERTaggedObject;
+@@ -66,7 +66,7 @@
+ * }
+ * </pre>
+ */
+-public class Holder implements DEREncodable {
++public class Holder implements ASN1Encodable {
+ IssuerSerial baseCertificateID = null;
+ GeneralNames entityName = null;
+ ObjectDigestInfo objectDigestInfo = null;
+@@ -79,12 +79,12 @@
+ ASN1EncodableVector v = new ASN1EncodableVector();
+ v.add(Util.x500nameToGeneralNames(issuer));
+ v.add(new DERInteger(serial));
+- baseCertificateID = new IssuerSerial(new DERSequence(v));
++ baseCertificateID = IssuerSerial.getInstance(new DERSequence(v));
+ }
+
+ public Holder(ASN1Sequence seq) {
+ for (Enumeration e = seq.getObjects(); e.hasMoreElements();) {
+- DERObject obj = (DERObject) e.nextElement();
++ ASN1Primitive obj = (ASN1Primitive) e.nextElement();
+
+ if (!(obj instanceof ASN1TaggedObject)) {
+ throw new IllegalArgumentException("Holder element not tagged");
+@@ -94,7 +94,7 @@
+
+ switch (tObj.getTagNo()) {
+ case 0:
+- baseCertificateID = new IssuerSerial((ASN1Sequence) tObj.getObject());
++ baseCertificateID = IssuerSerial.getInstance((ASN1Sequence) tObj.getObject());
+
+ break;
+
+@@ -123,7 +123,7 @@
+ }
+
+ protected static boolean matchesDN(X500Principal subject, GeneralNames targets) {
+- Enumeration e = ((ASN1Sequence) targets.getDERObject()).getObjects();
++ Enumeration e = ((ASN1Sequence) targets.toASN1Primitive()).getObjects();
+
+ while (e.hasMoreElements()) {
+ GeneralName gn = GeneralName.getInstance(e.nextElement());
+@@ -175,7 +175,7 @@
+ return false;
+ }
+
+- public DERObject getDERObject() {
++ public ASN1Primitive toASN1Primitive() {
+ ASN1EncodableVector v = new ASN1EncodableVector();
+
+ if (baseCertificateID != null) {
+--- a/src/main/java/org/glite/voms/ac/IetfAttrSyntax.java
++++ b/src/main/java/org/glite/voms/ac/IetfAttrSyntax.java
+@@ -37,9 +37,9 @@
+
+ import org.bouncycastle.asn1.ASN1Sequence;
+ import org.bouncycastle.asn1.ASN1TaggedObject;
+-import org.bouncycastle.asn1.DEREncodable;
++import org.bouncycastle.asn1.ASN1Encodable;
+ import org.bouncycastle.asn1.ASN1EncodableVector;
+-import org.bouncycastle.asn1.DERObject;
++import org.bouncycastle.asn1.ASN1Primitive;
+ import org.bouncycastle.asn1.DERObjectIdentifier;
+ import org.bouncycastle.asn1.DEROctetString;
+ import org.bouncycastle.asn1.DERSequence;
+@@ -65,7 +65,7 @@
+ *
+ * @author mulmo
+ */
+-public class IetfAttrSyntax implements DEREncodable {
++public class IetfAttrSyntax implements ASN1Encodable {
+ public static final int VALUE_OCTETS = 1;
+ public static final int VALUE_OID = 2;
+ public static final int VALUE_UTF8 = 3;
+@@ -92,7 +92,7 @@
+ seq = (ASN1Sequence) seq.getObjectAt(i);
+
+ for (Enumeration e = seq.getObjects(); e.hasMoreElements();) {
+- DERObject obj = (DERObject) e.nextElement();
++ ASN1Primitive obj = (ASN1Primitive) e.nextElement();
+ int type;
+
+ if (obj instanceof DERObjectIdentifier) {
+@@ -129,7 +129,7 @@
+ return values;
+ }
+
+- public DERObject getDERObject() {
++ public ASN1Primitive toASN1Primitive() {
+ ASN1EncodableVector v = new ASN1EncodableVector();
+
+ if (policyAuthority != null) {
+@@ -139,7 +139,7 @@
+ ASN1EncodableVector v2 = new ASN1EncodableVector();
+
+ for (Iterator i = values.iterator(); i.hasNext();) {
+- v2.add((DEREncodable) i.next());
++ v2.add((ASN1Encodable) i.next());
+ }
+
+ v.add(new DERSequence(v2));
+--- a/src/main/java/org/glite/voms/ac/ObjectDigestInfo.java
++++ b/src/main/java/org/glite/voms/ac/ObjectDigestInfo.java
+@@ -28,19 +28,21 @@
+
+ package org.glite.voms.ac;
+
++import java.io.IOException;
++
+ import org.bouncycastle.asn1.ASN1EncodableVector;
+ import org.bouncycastle.asn1.ASN1Sequence;
+ import org.bouncycastle.asn1.DERBitString;
+-import org.bouncycastle.asn1.DEREncodable;
++import org.bouncycastle.asn1.ASN1Encodable;
+ import org.bouncycastle.asn1.DEREnumerated;
+-import org.bouncycastle.asn1.DERObject;
++import org.bouncycastle.asn1.ASN1Primitive;
+ import org.bouncycastle.asn1.DERObjectIdentifier;
+ import org.bouncycastle.asn1.DERSequence;
+ import org.bouncycastle.asn1.DERTaggedObject;
+ import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
+
+
+-public class ObjectDigestInfo implements DEREncodable {
++public class ObjectDigestInfo implements ASN1Encodable {
+ DEREnumerated digestedObjectType;
+ DERObjectIdentifier otherObjectTypeID;
+ AlgorithmIdentifier digestAlgorithm;
+@@ -58,7 +60,11 @@
+
+ digestAlgorithm = AlgorithmIdentifier.getInstance(seq.getObjectAt(1 + offset));
+
+- objectDigest = new DERBitString(seq.getObjectAt(2 + offset));
++ try {
++ objectDigest = new DERBitString(seq.getObjectAt(2 + offset));
++ } catch (IOException e) {
++ throw new RuntimeException(e);
++ }
+ }
+
+ public DEREnumerated getDigestedObjectType() {
+@@ -93,7 +99,7 @@
+ * }
+ * </pre>
+ */
+- public DERObject getDERObject() {
++ public ASN1Primitive toASN1Primitive() {
+ ASN1EncodableVector v = new ASN1EncodableVector();
+
+ v.add(digestedObjectType);
+--- a/src/main/java/org/glite/voms/ac/V2Form.java
++++ b/src/main/java/org/glite/voms/ac/V2Form.java
+@@ -33,10 +33,11 @@
+ import org.bouncycastle.asn1.ASN1EncodableVector;
+ import org.bouncycastle.asn1.ASN1Sequence;
+ import org.bouncycastle.asn1.ASN1TaggedObject;
+-import org.bouncycastle.asn1.DEREncodable;
+-import org.bouncycastle.asn1.DERObject;
++import org.bouncycastle.asn1.ASN1Encodable;
++import org.bouncycastle.asn1.ASN1Primitive;
+ import org.bouncycastle.asn1.DERSequence;
+ import org.bouncycastle.asn1.DERTaggedObject;
++import org.bouncycastle.asn1.x509.GeneralName;
+ import org.bouncycastle.asn1.x509.GeneralNames;
+ import org.bouncycastle.asn1.x509.IssuerSerial;
+
+@@ -44,7 +45,7 @@
+ /**
+ * @author mulmo
+ */
+-public class V2Form implements DEREncodable {
++public class V2Form implements ASN1Encodable {
+ GeneralNames issuerName;
+ IssuerSerial baseCertificateID;
+ ObjectDigestInfo objectDigestInfo;
+@@ -57,7 +58,7 @@
+ int n = 0;
+
+ if (seq.getObjectAt(0) instanceof ASN1Sequence) {
+- issuerName = new GeneralNames((ASN1Sequence) seq.getObjectAt(0));
++ issuerName = new GeneralNames(GeneralName.getInstance(seq.getObjectAt(0)));
+ n++;
+ }
+
+@@ -66,7 +67,7 @@
+
+ switch (tObj.getTagNo()) {
+ case 0:
+- baseCertificateID = new IssuerSerial((ASN1Sequence) tObj.getObject());
++ baseCertificateID = IssuerSerial.getInstance((ASN1Sequence) tObj.getObject());
+
+ break;
+
+@@ -106,12 +107,12 @@
+ * }
+ * </pre>
+ */
+- public DERObject getDERObject() {
++ public ASN1Primitive toASN1Primitive() {
+ ASN1EncodableVector v = new ASN1EncodableVector();
+
+ if (issuerName != null) {
+ // IMPLICIT encoding of GeneralNames ... gosh, how I hate ASN.1 sometimes.
+- v.add(((ASN1Sequence) issuerName.getDERObject()).getObjectAt(0));
++ v.add(((ASN1Sequence) issuerName.toASN1Primitive()).getObjectAt(0));
+ }
+
+ if (baseCertificateID != null) {
+--- a/src/main/java/org/glite/voms/contact/MyProxyCertInfo.java
++++ b/src/main/java/org/glite/voms/contact/MyProxyCertInfo.java
+@@ -31,12 +31,12 @@
+ import org.bouncycastle.asn1.ASN1EncodableVector;
+ import org.bouncycastle.asn1.ASN1InputStream;
+ import org.bouncycastle.asn1.ASN1Sequence;
+-import org.bouncycastle.asn1.DEREncodable;
++import org.bouncycastle.asn1.ASN1Encodable;
+ import org.bouncycastle.asn1.DERInteger;
+-import org.bouncycastle.asn1.DERObject;
++import org.bouncycastle.asn1.ASN1Primitive;
+ import org.bouncycastle.asn1.DERSequence;
+
+-public class MyProxyCertInfo implements DEREncodable {
++public class MyProxyCertInfo implements ASN1Encodable {
+
+ private int pathLen;
+ private ProxyPolicy policy;
+@@ -99,7 +99,7 @@
+ }
+
+ public MyProxyCertInfo(byte[] payload) {
+- DERObject derObj = null;
++ ASN1Primitive derObj = null;
+ try {
+ ByteArrayInputStream inStream = new ByteArrayInputStream(payload);
+ ASN1InputStream derInputStream = new ASN1InputStream(inStream);
+@@ -115,7 +115,7 @@
+ throw new IllegalArgumentException("Unable to convert byte array");
+ }
+
+- public DERObject getDERObject() {
++ public ASN1Primitive toASN1Primitive() {
+ ASN1EncodableVector vec = new ASN1EncodableVector();
+
+ switch(version) {
+@@ -123,11 +123,11 @@
+ if (this.pathLen != -1) {
+ vec.add(new DERInteger(this.pathLen));
+ }
+- vec.add(this.policy.getDERObject());
++ vec.add(this.policy.toASN1Primitive());
+ break;
+
+ case VOMSProxyBuilder.GT4_PROXY:
+- vec.add(this.policy.getDERObject());
++ vec.add(this.policy.toASN1Primitive());
+ if (this.pathLen != -1) {
+ vec.add(new DERInteger(this.pathLen));
+ }
+--- a/src/main/java/org/glite/voms/contact/ProxyPolicy.java
++++ b/src/main/java/org/glite/voms/contact/ProxyPolicy.java
+@@ -24,16 +24,16 @@
+ *********************************************************************/
+ package org.glite.voms.contact;
+
+-import org.bouncycastle.asn1.DEREncodable;
++import org.bouncycastle.asn1.ASN1Encodable;
+ import org.bouncycastle.asn1.ASN1EncodableVector;
+-import org.bouncycastle.asn1.DERObject;
++import org.bouncycastle.asn1.ASN1Primitive;
+ import org.bouncycastle.asn1.ASN1Sequence;
+ import org.bouncycastle.asn1.DERSequence;
+ import org.bouncycastle.asn1.DERObjectIdentifier;
+ import org.bouncycastle.asn1.DERTaggedObject;
+ import org.bouncycastle.asn1.DEROctetString;
+
+-public class ProxyPolicy implements DEREncodable {
++public class ProxyPolicy implements ASN1Encodable {
+ private DERObjectIdentifier oid;
+ private DEROctetString policy;
+
+@@ -61,7 +61,7 @@
+ this.policy= null;
+ }
+
+- public DERObject getDERObject() {
++ public ASN1Primitive toASN1Primitive() {
+ ASN1EncodableVector vec = new ASN1EncodableVector();
+
+ vec.add(oid);
+@@ -74,7 +74,7 @@
+ public ProxyPolicy(ASN1Sequence seq) {
+ this.oid = (DERObjectIdentifier)seq.getObjectAt(0);
+ if (seq.size() > 1) {
+- DEREncodable obj = seq.getObjectAt(1);
++ ASN1Encodable obj = seq.getObjectAt(1);
+ if (obj instanceof DERTaggedObject) {
+ obj = ((DERTaggedObject)obj).getObject();
+ }
+--- a/src/main/java/org/glite/voms/contact/VOMSProxyBuilder.java
++++ b/src/main/java/org/glite/voms/contact/VOMSProxyBuilder.java
+@@ -69,7 +69,7 @@
+ import org.bouncycastle.asn1.ASN1EncodableVector;
+ import org.bouncycastle.asn1.DERSequence;
+ import org.bouncycastle.asn1.ASN1Sequence;
+-import org.bouncycastle.asn1.DERObject;
++import org.bouncycastle.asn1.ASN1Primitive;
+ import org.bouncycastle.asn1.DERSet;
+
+ import org.bouncycastle.asn1.DERObjectIdentifier;
+@@ -85,10 +85,10 @@
+
+ class ExtensionData {
+ String oid;
+- DERObject obj;
++ ASN1Primitive obj;
+ boolean critical;
+
+- public static ExtensionData creator(String oid, boolean critical, DERObject obj) {
++ public static ExtensionData creator(String oid, boolean critical, ASN1Primitive obj) {
+ ExtensionData ed = new ExtensionData();
+ ed.obj = obj;
+ ed.oid = oid;
+@@ -97,7 +97,7 @@
+ return ed;
+ }
+
+- public static ExtensionData creator(String oid, DERObject obj) {
++ public static ExtensionData creator(String oid, ASN1Primitive obj) {
+ ExtensionData ed = new ExtensionData();
+ ed.obj = obj;
+ ed.oid = oid;
+@@ -110,7 +110,7 @@
+ return oid;
+ }
+
+- public DERObject getObj() {
++ public ASN1Primitive getObj() {
+ return obj;
+ }
+
+@@ -225,7 +225,7 @@
+ KeyUsage keyUsage = new KeyUsage( KeyUsage.digitalSignature
+ | KeyUsage.keyEncipherment | KeyUsage.dataEncipherment );
+ extensions.put("2.5.29.15", ExtensionData.creator("2.5.29.15", true,
+- keyUsage.getDERObject()));
++ keyUsage.toASN1Primitive()));
+
+ return myCreateCredential(
+ cred.getUserChain(),
+@@ -375,11 +375,11 @@
+ if (gtVersion == GT3_PROXY)
+ extensions.put(PROXY_CERT_INFO_V3_OID,
+ ExtensionData.creator(PROXY_CERT_INFO_V3_OID,
+- new MyProxyCertInfo(policy, gtVersion).getDERObject()));
++ new MyProxyCertInfo(policy, gtVersion).toASN1Primitive()));
+ else
+ extensions.put(PROXY_CERT_INFO_V4_OID,
+ ExtensionData.creator(PROXY_CERT_INFO_V4_OID, true,
+- new MyProxyCertInfo(policy, gtVersion).getDERObject()));
++ new MyProxyCertInfo(policy, gtVersion).toASN1Primitive()));
+ }
+ }
+
+@@ -398,11 +398,11 @@
+ vec.add(X509Name.CN);
+ vec.add(new DERPrintableString(cnValue));
+
+- Enumeration DNComponents = ((ASN1Sequence)issuerDN.getDERObject()).getObjects();
++ Enumeration DNComponents = ((ASN1Sequence)issuerDN.toASN1Primitive()).getObjects();
+ ASN1EncodableVector subject = new ASN1EncodableVector();
+
+ while (DNComponents.hasMoreElements())
+- subject.add(((DERObject)DNComponents.nextElement()));
++ subject.add(((ASN1Primitive)DNComponents.nextElement()));
+
+ subject.add(new DERSet(new DERSequence(vec)));
+
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..626ffa7
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+01_bouncycastle-1.48-compatibility.patch
--
voms-api-java packaging
More information about the pkg-java-commits
mailing list