[prev in list] [next in list] [prev in thread] [next in thread] 

List:       bouncycastle-crypto-dev
Subject:    Re: [dev-crypto] [Java] Version support
From:       Jens Kapitza <j.kapitza () schwarze-allianz ! de>
Date:       2015-01-10 19:00:53
Message-ID: 54B176E5.3020908 () schwarze-allianz ! de
[Download RAW message or body]

next patch is for Encodable

interface exists but is not used (it is possible to combine 
ContainedPacket and BCPGObject) getEncoded calls BCPGOutputStream

writeObject and writePacket can be merged?!

just writeObject?
write(Encodable obj)??

---
Jens


Am 10.01.2015 um 02:29 schrieb David Hook:
> Done.
>
> Regards,
>
> David
>
> On 10/01/15 00:47, Jens Kapitza wrote:
>> next patch, (this should not have side effects)
>>
>> getEncoded in subclasses can be removed? (but then there is a side
>> effect)
>>
>>
>> ---
>> Jens Kapitza
>>
>


["bc-java_enc.patch" (text/x-patch)]

diff --git a/core/src/main/java/org/bouncycastle/asn1/ASN1Object.java \
b/core/src/main/java/org/bouncycastle/asn1/ASN1Object.java index cfda1a6..325d9b7 \
                100644
--- a/core/src/main/java/org/bouncycastle/asn1/ASN1Object.java
+++ b/core/src/main/java/org/bouncycastle/asn1/ASN1Object.java
@@ -3,11 +3,13 @@
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 
+import org.bouncycastle.util.Encodable;
+
 /**
  * Base class for defining an ASN.1 object.
  */
 public abstract class ASN1Object
-    implements ASN1Encodable
+    implements ASN1Encodable, Encodable
 {
     /**
      * Return the default BER or DER encoding for this object.
@@ -22,7 +24,7 @@
         ASN1OutputStream      aOut = new ASN1OutputStream(bOut);
 
         aOut.writeObject(this);
-
+        aOut.close();
         return bOut.toByteArray();
     }
 
diff --git a/pg/src/main/java/org/bouncycastle/bcpg/BCPGKey.java \
b/pg/src/main/java/org/bouncycastle/bcpg/BCPGKey.java index 632ef91..eccc37d 100644
--- a/pg/src/main/java/org/bouncycastle/bcpg/BCPGKey.java
+++ b/pg/src/main/java/org/bouncycastle/bcpg/BCPGKey.java
@@ -1,9 +1,11 @@
 package org.bouncycastle.bcpg;
 
+import org.bouncycastle.util.Encodable;
+
 /**
  * base interface for a PGP key
  */
-public interface BCPGKey
+public interface BCPGKey extends Encodable
 {
     /**
      * Return the base format for this key - in the case of the symmetric keys it \
                will generally
diff --git a/pg/src/main/java/org/bouncycastle/bcpg/BCPGObject.java \
b/pg/src/main/java/org/bouncycastle/bcpg/BCPGObject.java index e00fe87..9e1128c \
                100644
--- a/pg/src/main/java/org/bouncycastle/bcpg/BCPGObject.java
+++ b/pg/src/main/java/org/bouncycastle/bcpg/BCPGObject.java
@@ -3,10 +3,12 @@
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 
+import org.bouncycastle.util.Encodable;
+
 /**
  * Base class for a PGP object.
  */
-public abstract class BCPGObject
+public abstract class BCPGObject implements Encodable
 {
     public byte[] getEncoded()
         throws IOException
diff --git a/pg/src/main/java/org/bouncycastle/bcpg/ContainedPacket.java \
b/pg/src/main/java/org/bouncycastle/bcpg/ContainedPacket.java index fca0078..3c0731f \
                100644
--- a/pg/src/main/java/org/bouncycastle/bcpg/ContainedPacket.java
+++ b/pg/src/main/java/org/bouncycastle/bcpg/ContainedPacket.java
@@ -3,11 +3,13 @@
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 
+import org.bouncycastle.util.Encodable;
+
 /**
  * Basic type for a PGP packet.
  */
 public abstract class ContainedPacket 
-    extends Packet
+    extends Packet implements Encodable
 {
     public byte[] getEncoded() 
         throws IOException
diff --git a/pkix/src/main/java/org/bouncycastle/cert/X509AttributeCertificateHolder.java \
b/pkix/src/main/java/org/bouncycastle/cert/X509AttributeCertificateHolder.java index \
                a34b3b3..2869e44 100644
--- a/pkix/src/main/java/org/bouncycastle/cert/X509AttributeCertificateHolder.java
+++ b/pkix/src/main/java/org/bouncycastle/cert/X509AttributeCertificateHolder.java
@@ -21,11 +21,12 @@
 import org.bouncycastle.asn1.x509.Extensions;
 import org.bouncycastle.operator.ContentVerifier;
 import org.bouncycastle.operator.ContentVerifierProvider;
+import org.bouncycastle.util.Encodable;
 
 /**
  * Holding class for an X.509 AttributeCertificate structure.
  */
-public class X509AttributeCertificateHolder
+public class X509AttributeCertificateHolder  implements Encodable
 {
     private static Attribute[] EMPTY_ARRAY = new Attribute[0];
     
diff --git a/pkix/src/main/java/org/bouncycastle/cert/X509CRLHolder.java \
b/pkix/src/main/java/org/bouncycastle/cert/X509CRLHolder.java index b3723f3..cbf5ffd \
                100644
--- a/pkix/src/main/java/org/bouncycastle/cert/X509CRLHolder.java
+++ b/pkix/src/main/java/org/bouncycastle/cert/X509CRLHolder.java
@@ -24,11 +24,12 @@
 import org.bouncycastle.asn1.x509.TBSCertList;
 import org.bouncycastle.operator.ContentVerifier;
 import org.bouncycastle.operator.ContentVerifierProvider;
+import org.bouncycastle.util.Encodable;
 
 /**
  * Holding class for an X.509 CRL structure.
  */
-public class X509CRLHolder
+public class X509CRLHolder implements Encodable
 {
     private CertificateList x509CRL;
     private boolean isIndirect;
diff --git a/pkix/src/main/java/org/bouncycastle/cert/crmf/CertificateRequestMessage.java \
b/pkix/src/main/java/org/bouncycastle/cert/crmf/CertificateRequestMessage.java index \
                e532c2b..34ab7b4 100644
--- a/pkix/src/main/java/org/bouncycastle/cert/crmf/CertificateRequestMessage.java
+++ b/pkix/src/main/java/org/bouncycastle/cert/crmf/CertificateRequestMessage.java
@@ -18,11 +18,12 @@
 import org.bouncycastle.operator.ContentVerifier;
 import org.bouncycastle.operator.ContentVerifierProvider;
 import org.bouncycastle.operator.OperatorCreationException;
+import org.bouncycastle.util.Encodable;
 
 /**
  * Carrier for a CRMF CertReqMsg.
  */
-public class CertificateRequestMessage
+public class CertificateRequestMessage  implements Encodable
 {
     public static final int popRaVerified = ProofOfPossession.TYPE_RA_VERIFIED;
     public static final int popSigningKey = ProofOfPossession.TYPE_SIGNING_KEY;
diff --git a/pkix/src/main/java/org/bouncycastle/cert/ocsp/BasicOCSPResp.java \
b/pkix/src/main/java/org/bouncycastle/cert/ocsp/BasicOCSPResp.java index \
                5c60ac5..4dd9395 100644
--- a/pkix/src/main/java/org/bouncycastle/cert/ocsp/BasicOCSPResp.java
+++ b/pkix/src/main/java/org/bouncycastle/cert/ocsp/BasicOCSPResp.java
@@ -19,6 +19,7 @@
 import org.bouncycastle.cert.X509CertificateHolder;
 import org.bouncycastle.operator.ContentVerifier;
 import org.bouncycastle.operator.ContentVerifierProvider;
+import org.bouncycastle.util.Encodable;
 
 /**
  * <pre>
@@ -29,7 +30,7 @@
  *    certs                [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL }
  * </pre>
  */
-public class BasicOCSPResp
+public class BasicOCSPResp  implements Encodable
 {
     private BasicOCSPResponse   resp;
     private ResponseData        data;
diff --git a/pkix/src/main/java/org/bouncycastle/cert/ocsp/OCSPResp.java \
b/pkix/src/main/java/org/bouncycastle/cert/ocsp/OCSPResp.java index ed3918a..21d1452 \
                100644
--- a/pkix/src/main/java/org/bouncycastle/cert/ocsp/OCSPResp.java
+++ b/pkix/src/main/java/org/bouncycastle/cert/ocsp/OCSPResp.java
@@ -12,8 +12,9 @@
 import org.bouncycastle.asn1.ocsp.OCSPResponse;
 import org.bouncycastle.asn1.ocsp.ResponseBytes;
 import org.bouncycastle.cert.CertIOException;
+import org.bouncycastle.util.Encodable;
 
-public class OCSPResp
+public class OCSPResp  implements Encodable
 {
     public static final int SUCCESSFUL = 0;  // Response has valid confirmations
     public static final int MALFORMED_REQUEST = 1;  // Illegal confirmation request
diff --git a/pkix/src/main/java/org/bouncycastle/cms/CMSAuthenticatedData.java \
b/pkix/src/main/java/org/bouncycastle/cms/CMSAuthenticatedData.java index \
                bd9d544..f61b5d8 100644
--- a/pkix/src/main/java/org/bouncycastle/cms/CMSAuthenticatedData.java
+++ b/pkix/src/main/java/org/bouncycastle/cms/CMSAuthenticatedData.java
@@ -14,11 +14,12 @@
 import org.bouncycastle.operator.DigestCalculatorProvider;
 import org.bouncycastle.operator.OperatorCreationException;
 import org.bouncycastle.util.Arrays;
+import org.bouncycastle.util.Encodable;
 
 /**
  * containing class for an CMS Authenticated Data object
  */
-public class CMSAuthenticatedData
+public class CMSAuthenticatedData  implements Encodable
 {
     RecipientInformationStore   recipientInfoStore;
     ContentInfo                 contentInfo;
diff --git a/pkix/src/main/java/org/bouncycastle/cms/CMSCompressedData.java \
b/pkix/src/main/java/org/bouncycastle/cms/CMSCompressedData.java index \
                3e44908..e3d458f 100644
--- a/pkix/src/main/java/org/bouncycastle/cms/CMSCompressedData.java
+++ b/pkix/src/main/java/org/bouncycastle/cms/CMSCompressedData.java
@@ -9,6 +9,7 @@
 import org.bouncycastle.asn1.cms.ContentInfo;
 import org.bouncycastle.operator.InputExpander;
 import org.bouncycastle.operator.InputExpanderProvider;
+import org.bouncycastle.util.Encodable;
 
 /**
  * containing class for an CMS Compressed Data object
@@ -18,7 +19,7 @@
  *     process(cd.getContent(new ZlibExpanderProvider()));
  * </pre>
  */
-public class CMSCompressedData
+public class CMSCompressedData  implements Encodable
 {
     ContentInfo                 contentInfo;
     CompressedData              comData;
diff --git a/pkix/src/main/java/org/bouncycastle/cms/CMSDigestedData.java \
b/pkix/src/main/java/org/bouncycastle/cms/CMSDigestedData.java index af48692..3e9d804 \
                100644
--- a/pkix/src/main/java/org/bouncycastle/cms/CMSDigestedData.java
+++ b/pkix/src/main/java/org/bouncycastle/cms/CMSDigestedData.java
@@ -13,6 +13,7 @@
 import org.bouncycastle.operator.DigestCalculatorProvider;
 import org.bouncycastle.operator.OperatorCreationException;
 import org.bouncycastle.util.Arrays;
+import org.bouncycastle.util.Encodable;
 
 /**
  * containing class for an CMS Digested Data object
@@ -23,7 +24,7 @@
  *     process(cd.getContent());
  * </pre>
  */
-public class CMSDigestedData
+public class CMSDigestedData  implements Encodable
 {
     private ContentInfo  contentInfo;
     private DigestedData digestedData;
diff --git a/pkix/src/main/java/org/bouncycastle/cms/CMSEnvelopedData.java \
b/pkix/src/main/java/org/bouncycastle/cms/CMSEnvelopedData.java index \
                56b9663..a978067 100644
--- a/pkix/src/main/java/org/bouncycastle/cms/CMSEnvelopedData.java
+++ b/pkix/src/main/java/org/bouncycastle/cms/CMSEnvelopedData.java
@@ -10,6 +10,7 @@
 import org.bouncycastle.asn1.cms.EncryptedContentInfo;
 import org.bouncycastle.asn1.cms.EnvelopedData;
 import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
+import org.bouncycastle.util.Encodable;
 
 /**
  * containing class for an CMS Enveloped Data object
@@ -33,7 +34,7 @@
  *      }
  *  </pre>
  */
-public class CMSEnvelopedData
+public class CMSEnvelopedData  implements Encodable
 {
     RecipientInformationStore   recipientInfoStore;
     ContentInfo                 contentInfo;
diff --git a/pkix/src/main/java/org/bouncycastle/cms/CMSSignedData.java \
b/pkix/src/main/java/org/bouncycastle/cms/CMSSignedData.java index a17d790..e7aca84 \
                100644
--- a/pkix/src/main/java/org/bouncycastle/cms/CMSSignedData.java
+++ b/pkix/src/main/java/org/bouncycastle/cms/CMSSignedData.java
@@ -23,6 +23,7 @@
 import org.bouncycastle.operator.DefaultSignatureAlgorithmIdentifierFinder;
 import org.bouncycastle.operator.OperatorCreationException;
 import org.bouncycastle.operator.SignatureAlgorithmIdentifierFinder;
+import org.bouncycastle.util.Encodable;
 import org.bouncycastle.util.Store;
 
 /**
@@ -53,7 +54,7 @@
  *  }
  * </pre>
  */
-public class CMSSignedData
+public class CMSSignedData  implements Encodable
 {
     private static final CMSSignedHelper HELPER = CMSSignedHelper.INSTANCE;
     



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic