key_len differs with Ruby
-------------------------

                 Key: JRUBY-1323
                 URL: http://jira.codehaus.org/browse/JRUBY-1323
             Project: JRuby
          Issue Type: Bug
          Components: OpenSSL
            Reporter: Robert Egglestone
            Assignee: Thomas E Enebo


Ruby appears to return key_len in bytes, and iv_len in bits.

$ irb < test_size.rb 
require 'rubygems'
true
OpenSSL::Cipher::Cipher.new('AES-256-CBC').key_len
32
OpenSSL::Cipher::Cipher.new('AES-256-CBC').iv_len
16
OpenSSL::Cipher::Cipher.new('AES-128-CBC').key_len
16
OpenSSL::Cipher::Cipher.new('AES-128-CBC').iv_len
16
OpenSSL::Cipher::Cipher.new('DES-EDE3-CBC').key_len
24
OpenSSL::Cipher::Cipher.new('DES-EDE3-CBC').iv_len
8

However, JRuby returns both in bits.

$ jirb < test_size.rb 
irb(main):001:0> require 'rubygems'
=> true
irb(main):002:0> OpenSSL::Cipher::Cipher.new('AES-256-CBC').key_len
=> 256
irb(main):003:0> OpenSSL::Cipher::Cipher.new('AES-256-CBC').iv_len
=> 128
irb(main):004:0> OpenSSL::Cipher::Cipher.new('AES-128-CBC').key_len
=> 128
irb(main):005:0> OpenSSL::Cipher::Cipher.new('AES-128-CBC').iv_len
=> 128
irb(main):006:0> OpenSSL::Cipher::Cipher.new('DES-EDE3-CBC').key_len
=> 168
irb(main):007:0> OpenSSL::Cipher::Cipher.new('DES-EDE3-CBC').iv_len
=> 64

Can be fixed by dividing by 8 in Cipher.java:
public IRubyObject key_len() {
    return getRuntime().newFixnum(keyLen / 8);
}


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email

Reply via email to