Title: [1060] trunk/jopenssl: Add support for PKCS7_get_signer_info

Diff

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


--- trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/PKCS7.java	2008-07-21 18:41:20 UTC (rev 1059)
+++ trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/PKCS7.java	2008-07-21 18:41:22 UTC (rev 1060)
@@ -163,6 +163,12 @@
         this.data.setContent(p7);
     }
     
+    /** c: PKCS7_get_signer_info
+     *
+     */
+    public List<SignerInfo> getSignerInfo() {
+        return this.data.getSignerInfo();
+    }
 
     /** c: PKCS7_dataInit
      *

Modified: trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/PKCS7Data.java (1059 => 1060)


--- trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/PKCS7Data.java	2008-07-21 18:41:20 UTC (rev 1059)
+++ trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/PKCS7Data.java	2008-07-21 18:41:22 UTC (rev 1060)
@@ -30,6 +30,7 @@
 import org.bouncycastle.asn1.ASN1OctetString;
 import org.bouncycastle.asn1.ASN1Encodable;
 import javax.crypto.Cipher;
+import java.util.List;
 
 /**
  * @author <a href="" PROTECTED]">Ola Bini</a>
@@ -115,4 +116,8 @@
     public void setContent(PKCS7 p7) {
         throw new PKCS7Exception(PKCS7.F_PKCS7_SET_CONTENT,PKCS7.R_WRONG_CONTENT_TYPE);
     }
+
+    public List<SignerInfo> getSignerInfo() {
+        return null;
+    }
 }// PKCS7Data

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


--- trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/PKCS7DataSigned.java	2008-07-21 18:41:20 UTC (rev 1059)
+++ trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/PKCS7DataSigned.java	2008-07-21 18:41:22 UTC (rev 1060)
@@ -27,6 +27,8 @@
  ***** END LICENSE BLOCK *****/
 package org.jruby.ext.openssl.impl;
 
+import java.util.List;
+
 /**
  *
  * @author <a href="" PROTECTED]">Ola Bini</a>
@@ -89,4 +91,8 @@
     public void setContent(PKCS7 p7) {
         this.sign.setContents(p7);
     }
+
+    public List<SignerInfo> getSignerInfo() {
+        return this.sign.getSignerInfo();
+    }
 }// PKCS7DataSigned

Modified: trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/PKCS7DataSignedAndEnveloped.java (1059 => 1060)


--- trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/PKCS7DataSignedAndEnveloped.java	2008-07-21 18:41:20 UTC (rev 1059)
+++ trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/PKCS7DataSignedAndEnveloped.java	2008-07-21 18:41:22 UTC (rev 1060)
@@ -28,6 +28,7 @@
 package org.jruby.ext.openssl.impl;
 
 import javax.crypto.Cipher;
+import java.util.List;
 
 /**
  *
@@ -67,4 +68,8 @@
         this.signedAndEnveloped.getMdAlgs().add(psi.getDigestAlgorithm());
         this.signedAndEnveloped.getSignerInfo().add(psi);
     }
+
+    public List<SignerInfo> getSignerInfo() {
+        return this.signedAndEnveloped.getSignerInfo();
+    }
 }// PKCS7DataSignedAndEnveloped

Modified: trunk/jopenssl/test/test_java_pkcs7.rb (1059 => 1060)


--- trunk/jopenssl/test/test_java_pkcs7.rb	2008-07-21 18:41:20 UTC (rev 1059)
+++ trunk/jopenssl/test/test_java_pkcs7.rb	2008-07-21 18:41:22 UTC (rev 1060)
@@ -646,6 +646,42 @@
         
         assert_equal p7new, p7.get_digest.contents
       end
+      
+      def test_get_signer_info_on_digest_returns_null
+        p7 = PKCS7.new
+        p7.type = PKCS7::NID_pkcs7_digest
+        assert_nil p7.signer_info
+      end
+
+      def test_get_signer_info_on_data_returns_null
+        p7 = PKCS7.new
+        p7.type = PKCS7::NID_pkcs7_data
+        assert_nil p7.signer_info
+      end
+
+      def test_get_signer_info_on_encrypted_returns_null
+        p7 = PKCS7.new
+        p7.type = PKCS7::NID_pkcs7_encrypted
+        assert_nil p7.signer_info
+      end
+
+      def test_get_signer_info_on_enveloped_returns_null
+        p7 = PKCS7.new
+        p7.type = PKCS7::NID_pkcs7_enveloped
+        assert_nil p7.signer_info
+      end
+
+      def test_get_signer_info_on_signed_returns_signer_info
+        p7 = PKCS7.new
+        p7.type = PKCS7::NID_pkcs7_signed
+        assert_equal p7.get_sign.signer_info.object_id, p7.signer_info.object_id
+      end
+
+      def test_get_signer_info_on_signedAndEnveloped_returns_signer_info
+        p7 = PKCS7.new
+        p7.type = PKCS7::NID_pkcs7_signedAndEnveloped
+        assert_equal p7.get_signed_and_enveloped.signer_info.object_id, p7.signer_info.object_id
+      end
     end
   end
 end
_______________________________________________
Jruby-extras-devel mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/jruby-extras-devel

Reply via email to