Title: [1076] trunk/jopenssl/src/java/org/jruby/ext/openssl/impl: Add some comments about the structure of the ASN1 types

Diff

Modified: trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/PKCS7.java (1075 => 1076)


--- trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/PKCS7.java	2008-07-27 16:10:35 UTC (rev 1075)
+++ trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/PKCS7.java	2008-07-27 16:10:38 UTC (rev 1076)
@@ -84,7 +84,14 @@
         this.data = "" content);
     }
 
-    public static PKCS7 fromASN1(DERObject obj) {
+    /**
+     * ContentInfo ::= SEQUENCE {
+     *   contentType ContentType,
+     *   content [0] EXPLICIT ANY DEFINED BY contentType OPTIONAL }
+     *
+     * ContentType ::= OBJECT IDENTIFIER
+     */
+    public static PKCS7 fromASN1(DEREncodable obj) {
         int size = ((ASN1Sequence)obj).size();
         if(size == 0) {
             return new PKCS7();

Modified: trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/PKCS7DataData.java (1075 => 1076)


--- trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/PKCS7DataData.java	2008-07-27 16:10:35 UTC (rev 1075)
+++ trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/PKCS7DataData.java	2008-07-27 16:10:38 UTC (rev 1076)
@@ -63,6 +63,9 @@
         return true;
     }
 
+    /**
+     * Data ::= OCTET STRING
+     */
     public static PKCS7DataData fromASN1(DEREncodable content) {
         return new PKCS7DataData((ASN1OctetString)content);
     }

Modified: trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/PKCS7DataSigned.java (1075 => 1076)


--- trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/PKCS7DataSigned.java	2008-07-27 16:10:35 UTC (rev 1075)
+++ trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/PKCS7DataSigned.java	2008-07-27 16:10:38 UTC (rev 1076)
@@ -49,6 +49,10 @@
         this.sign.setVersion(1);
     }
 
+    public PKCS7DataSigned(Signed sign) {
+        this.sign = sign;
+    }
+
     public int getType() {
         return PKCS7.NID_pkcs7_signed;
     }
@@ -110,6 +114,6 @@
     }
 
     public static PKCS7DataSigned fromASN1(DEREncodable content) {
-        throw new UnsupportedOperationException("TODO: can't create DataSigned from ASN1 yet");
+        return new PKCS7DataSigned(Signed.fromASN1(content));
     }
 }// PKCS7DataSigned

Modified: trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/Signed.java (1075 => 1076)


--- trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/Signed.java	2008-07-27 16:10:35 UTC (rev 1075)
+++ trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/Signed.java	2008-07-27 16:10:38 UTC (rev 1076)
@@ -33,6 +33,7 @@
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
+import org.bouncycastle.asn1.DEREncodable;
 
 /** PKCS7_SIGNED
  *
@@ -173,4 +174,21 @@
     public final void setCrl(final List<X509CRL> newCrl) {
         this.crl = newCrl;
     }
+
+    /**
+     * SignedData ::= SEQUENCE {
+     *   version Version,
+     *   digestAlgorithms DigestAlgorithmIdentifiers,
+     *   contentInfo ContentInfo,
+     *   certificates [0] IMPLICIT ExtendedCertificatesAndCertificates OPTIONAL,
+     *   crls [1] IMPLICIT CertificateRevocationLists OPTIONAL,
+     *   signerInfos SignerInfos }
+     *
+     * DigestAlgorithmIdentifiers ::= SET OF DigestAlgorithmIdentifier
+     *
+     * SignerInfos ::= SET OF SignerInfo
+     */
+    public static Signed fromASN1(DEREncodable content) {
+        throw new UnsupportedOperationException("TODO: can't create Signed from ASN1 yet");
+    }
 }// Signed
_______________________________________________
Jruby-extras-devel mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/jruby-extras-devel

Reply via email to