Skip to content
This repository

OpenSSL::ASN1::Integer#value returns Bignum and not OpenSSL::BN #12

Open
jasongilman opened this Issue · 2 comments

2 participants

Jason Gilman Hiroshi Nakamura
Jason Gilman

I encountered an error when running JRuby 1.6.5/1.6.4 with Capistrano: "(OpenSSL::PKey::DSAError: bad sig size)" I found this ticket filed with net-ssh http://net-ssh.lighthouseapp.com/projects/36253-net-ssh/tickets/18-bad-sig-size-opensslpkeydsaerror-with-jruby-151 that looked like a similar issue. I did some digging and saw the difference between JRuby and MRI was that the OpenSSL::ASN1::Integer#value method returns Bignum under JRuby versus the OpenSSL::BN in MRI. It looks like this is a problem in either jruby-openssl or possibly bouncycastle. I posted a workaround to the net-ssh ticket until this is fixed.

Hiroshi Nakamura
Collaborator

Thank you. Confirmed the problem as follows.

% ruby -ropenssl -e 'p OpenSSL::ASN1.decode(OpenSSL::ASN1::Integer.new(1).to_der).value.class'
OpenSSL::BN
% jruby -ropenssl -e 'p OpenSSL::ASN1.decode(OpenSSL::ASN1::Integer.new(1).to_der).value.class'
Fixnum

Filed the ticket at https://jira.codehaus.org/browse/JRUBY-6260

Hiroshi Nakamura
Collaborator

I posted a patch to the ticket.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.