Title: [1096] trunk/jopenssl: More fixes to get output be the same.
Revision
1096
Author
olabini
Date
2008-08-08 06:54:33 -0400 (Fri, 08 Aug 2008)

Log Message

More fixes to get output be the same. Some a bit ugly. =/

Modified Paths


Diff

Modified: trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/RecipInfo.java (1095 => 1096)


--- trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/RecipInfo.java	2008-08-08 10:54:30 UTC (rev 1095)
+++ trunk/jopenssl/src/java/org/jruby/ext/openssl/impl/RecipInfo.java	2008-08-08 10:54:33 UTC (rev 1096)
@@ -64,13 +64,24 @@
             X509Name issuer = X509Name.getInstance(new ASN1InputStream(new ByteArrayInputStream(cert.getIssuerX500Principal().getEncoded())).readObject());
             BigInteger serial = cert.getSerialNumber();
             issuerAndSerial = new IssuerAndSerialNumber(issuer, serial);
-            keyEncAlgor = new AlgorithmIdentifier(ASN1Registry.sym2oid(cert.getPublicKey().getAlgorithm()));
+            String algo = addEncryptionIfNeeded(cert.getPublicKey().getAlgorithm());
+            keyEncAlgor = new AlgorithmIdentifier(ASN1Registry.sym2oid(algo));
             this.cert = cert;
         } catch(IOException e) {
             throw new PKCS7Exception(-1, -1);
         }
     }
 
+    private String addEncryptionIfNeeded(String input) {
+        input = input.toLowerCase();
+        if(input.equals("rsa")) {
+            return input + "Encryption";
+        } else if(input.equals("dsa")) {
+            return input + "Encryption";
+        }
+        return input;
+    }
+
     @Override
     public boolean equals(Object other) {
         boolean ret = this == other;
@@ -97,7 +108,7 @@
 
     @Override
     public String toString() {
-        return "#<Recipient version="+version+" issuerAndSerial="+issuerAndSerial+" keyEncAlgor="+keyEncAlgor+" encKey="+encKey+">";
+        return "#<Recipient version="+version+" issuerAndSerial=["+issuerAndSerial.getName()+","+issuerAndSerial.getCertificateSerialNumber()+"] keyEncAlgor="+ASN1Registry.o2a(keyEncAlgor.getObjectId())+" encKey="+encKey+">";
     }
 
     /**

Modified: trunk/jopenssl/test/test_java.rb (1095 => 1096)


--- trunk/jopenssl/test/test_java.rb	2008-08-08 10:54:30 UTC (rev 1095)
+++ trunk/jopenssl/test/test_java.rb	2008-08-08 10:54:33 UTC (rev 1096)
@@ -33,6 +33,7 @@
     AlgorithmIdentifier = org.bouncycastle.asn1.x509.AlgorithmIdentifier unless defined?(AlgorithmIdentifier)
     SignerInfoWithPkey = org.jruby.ext.openssl.impl.SignerInfoWithPkey unless defined?(SignerInfoWithPkey)
     IssuerAndSerialNumber = org.bouncycastle.asn1.pkcs.IssuerAndSerialNumber unless defined?(IssuerAndSerialNumber)
+    ASN1InputStream = org.bouncycastle.asn1.ASN1InputStream unless defined?(ASN1InputStream)
     
     ArrayList = java.util.ArrayList unless defined?(ArrayList)
     CertificateFactory = java.security.cert.CertificateFactory unless defined?(CertificateFactory)

Modified: trunk/jopenssl/test/test_java_pkcs7.rb (1095 => 1096)


--- trunk/jopenssl/test/test_java_pkcs7.rb	2008-08-08 10:54:30 UTC (rev 1095)
+++ trunk/jopenssl/test/test_java_pkcs7.rb	2008-08-08 10:54:33 UTC (rev 1096)
@@ -684,11 +684,18 @@
       assert_equal X509CRL, p7.get_signed_and_enveloped.crl.get(0)
     end
     
+    EXISTING_PKCS7_DEF = "0\202\002 \006\t*\206H\206\367\r\001\a\003\240\202\002\0210\202\002\r\002\001\0001\202\001\2700\201\331\002\001\0000B0=1\0230\021\006\n\t\222&\211\223\362,d\001\031\026\003org1\0310\027\006\n\t\222&\211\223\362,d\001\031\026\truby-lang1\v0\t\006\003U\004\003\f\002CA\002\001\0020\r\006\t*\206H\206\367\r\001\001\001\005\000\004\201\200\213kF\330\030\362\237\363$\311\351\207\271+_\310sr\344\233N\200\233)\272\226\343\003\224OOf\372 \r\301{\206\367\241\270\006\240\254\3179F\232\231Q\232\225\347\373\233\032\375\360\035o\371\275p\306\v5Z)\263\037\302|\307\300\327\a\375\023G'Ax\313\346\261\254\227K\026\364\242\337\367\362rk\276\023\217m\326\343F\366I1\263\nLuNf\234\203\261\300\030\232Q\277\231\f0\030\001\332\021\0030\201\331\002\001\0000B0=1\0230\021\006\n\t\222&\211\223\362,d\001\031\026\003org1\0310\027\006\n\t\222&\211\223\362,d\001\031\026\truby-lang1\v0\t\006\003U\004\003\f\002CA\002\001\0030\r\006\t*\206H\206\367\r\001
 \001\001\005\000\004\201\200\215\223\3428\2440]\0278\016\230,\315\023Tg\325`\376~\353\304\020\243N{\326H\003\005\361q\224OI\310\2324-\341?\355&r\215\233\361\245jF\255R\271\203D\304v\325\265\243\321$\bSh\031i\eS\240\227\362\221\364\232\035\202\f?x\031\223D\004ZHD\355'g\243\037\236mJ\323\210\347\274m\324-\351\332\353#A\273\002\"[EMAIL PROTECTED]<\212\2370L\006\t*\206H\206\367\r\001\a\0010\035\006\t`\206H\001e\003\004\001\002\004\020L?\325\372\\\360\366\372\237|W\333nnI\255\200 \253\234\252\263\006\335\037\320\350{s\352r\337\304\305\216\223k\003\376f\027_\201\035#*\002yM\334"
+
+    EXISTING_PKCS7_1 = PKCS7::from_asn1(ASN1InputStream.new(EXISTING_PKCS7_DEF.to_java_bytes).read_object)
+    
     def test_encrypt_integration_test
       certs = [X509Cert]
       cipher = Cipher.get_instance("AES", BCP.new)
       data = ""
-      PKCS7::encrypt(certs, data, cipher, PKCS7::BINARY)
+      puts
+      puts PKCS7::encrypt(certs, data, cipher, PKCS7::BINARY)
+      puts 
+      puts EXISTING_PKCS7_1
     end
   end
 end
_______________________________________________
Jruby-extras-devel mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/jruby-extras-devel

Reply via email to