Help a beginner

Hi,

It seems my ruby version is not accepting:
OpenSSL::Digest::Digest.new('sha256')

It's showing the error: Unsupported digest algorithm (sha256).

The Framework trace is: /usr/local/lib/ruby/1.8/openssl/digest.rb:55:in
`initialize' (...)

My ruby version is: ruby 1.8.7 (2010-08-16 patchlevel 302)
[i686-darwin9]

If I do 'which ruby' tells me: /opt/local/bin/ruby

And I am using Mac OS X 10.5.8

What I am doing wrong? What I should do?

I will really appreciate any help, tip or advise.

Thanks in advance,

Guille.

···

--
Posted via http://www.ruby-forum.com/.

probably not a ruby version problem, eg

$ rvm exec ruby -v -ropenssl -e "p OpenSSL::Digest::Digest.new('sha256')"
ruby 1.9.2dev (2010-07-11 revision 28618) [i686-linux]
#<OpenSSL::Digest::Digest:
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855>
ruby 1.8.7 (2010-06-23 patchlevel 299) [i686-linux]
#<OpenSSL::Digest::Digest:
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855>
ruby 1.9.2dev (2010-07-02 revision 28524) [i686-linux]
#<OpenSSL::Digest::Digest:
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855>
ruby 1.8.7 (2010-08-16 patchlevel 302) [i686-linux]
#<OpenSSL::Digest::Digest:
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855>
ruby 1.9.2dev (2010-05-31 revision 28117) [i686-linux]
#<OpenSSL::Digest::Digest:
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855>
ruby 1.8.6 (2010-02-05 patchlevel 399) [i686-linux]
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
ruby 1.9.2p0 (2010-08-18 revision 29036) [i686-linux]
#<OpenSSL::Digest::Digest:
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855>
ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-linux]
#<OpenSSL::Digest::Digest:
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855>
ruby 1.9.1p378 (2010-01-10 revision 26273) [i686-linux]
#<OpenSSL::Digest::Digest:
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855>

but i'm on linux.

try first in irb. see if you still get the error.
if not, some gem you're loading is screwed... require the gems one at
a time to capture the culprit..

best regards -botp

···

On Thu, Dec 16, 2010 at 2:30 PM, Guille Lopez <guille@ductil.org> wrote:

It seems my ruby version is not accepting:
OpenSSL::Digest::Digest.new('sha256')
It's showing the error: Unsupported digest algorithm (sha256).

Thanks -botp and Jose.
I will try both paths and see what I get.

I will come back with the results.

···

--
Posted via http://www.ruby-forum.com/.

Thanks again for the help.

Back at home (from work) I am trying all the possibilities you are
telling me.

All the ones with "rvm" I am not able to execute them as I don't have
Ruby Version Manager installed.

But I have done:
$ gem search openSSl -r

And it shows:
** REMOTE GEMS ***

jruby-openssl (0.7.2 ruby)
JRuby-OpenSSL (0.1 ruby)
openssl-extensions (0.0.9 ruby)
openssl-nonblock (0.2.1 ruby)
pftg-jruby-openssl (0.5.3 ruby)
ruby-hmac-openssl (0.1.0 ruby)
tem_openssl (0.3.6 ruby)

Also doing:
$ ruby -ropenssl -e 'p OpenSSL::Digest::Digest.new("md5")'

It works:
#<OpenSSL::Digest::Digest: d41d8cd98f00b204e9800998ecf8427e>

But the problen is that for the Gem I am trying to use (asin) I need the
sha256.

As Brian was saying, probably the problem is that the version of openssl
I have doesn't
support sha256. I am gonna try to fix that.

Thanks again for your help guys.

···

--
Posted via http://www.ruby-forum.com/.

One last question: what is doing $ ruby -ropenssl -e 'p
OpenSSL::Digest::Digest.new("md5")' ?

Becuase if I try:

$ ruby -ropenssl -e 'p OpenSSL::Digest::Digest.new("sha256")'
#<OpenSSL::Digest::Digest:
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855>

What does it mean?

Does it mean sha256 works?

···

--
Posted via http://www.ruby-forum.com/.

How I do that?

···

--
Posted via http://www.ruby-forum.com/.

Thanks Phillip, but what I am confused now is about how I require one
gem after the other? how do I control which gems are loaded?

right now if I take a look at my program's Gemfile, it's just:

source 'http://rubygems.org'

gem 'rails', '3.0.3'
gem 'sqlite3-ruby', :require => 'sqlite3'
gem 'asin'

And thanks again for all the help.

And if I do:

gem list

*** LOCAL GEMS ***

abstract (1.0.0)
actionmailer (3.0.3, 2.1.2)
actionpack (3.0.3, 2.1.2)
activemodel (3.0.3)
activerecord (3.0.3, 2.1.2)
activeresource (3.0.3, 2.1.2)
activesupport (3.0.3, 2.3.9, 2.1.2)
arel (2.0.6)
asin (0.0.8)
bcrypt-ruby (2.1.2)
bson (1.1.4)
bson_ext (1.1.4)
builder (3.0.0, 2.1.2)
bundler (1.0.7)
capistrano (2.5.19, 2.5.0)
cgi_multipart_eof_fix (2.5.0)
commonwatir (1.6.7, 1.6.2)
configuration (1.2.0)
crack (0.1.8)
curb (0.7.8)
daemons (1.1.0, 1.0.10)
devise (1.1.5)
diff-lcs (1.1.2)
erubis (2.6.6)
fastthread (1.0.7, 1.0.1)
firewatir (1.6.7, 1.6.2)
gem_plugin (0.2.3)
hashie (0.4.0, 0.2.2)
heroku (1.14.9, 1.14.8)
highline (1.6.1, 1.5.0)
hoe (2.8.0, 2.7.0, 1.8.2)
httparty (0.6.1)
httpclient (2.1.5.2)
i18n (0.5.0)
imdb_party (0.3.0)
json_pure (1.4.6)
launchy (0.3.7)
mail (2.2.12)
mime-types (1.16)
mongo (1.1.4)
mongoid (2.0.0.beta.20)
mongrel (1.1.5)
mysql (2.8.1, 2.7)
mysql2 (0.2.6)
net-scp (1.0.4, 1.0.1)
net-sftp (2.0.5, 2.0.1)
net-ssh (2.0.23, 2.0.4)
net-ssh-gateway (1.0.1, 1.0.0)
nokogiri (1.4.4)
ParseTree (3.0.6, 3.0.2, 2.1.1)
polyglot (0.3.1)
rack (1.2.1)
rack-mount (0.6.13)
rack-test (0.5.6)
rails (3.0.3, 2.1.2)
railties (3.0.3)
rake (0.8.7, 0.8.3)
rest-client (1.6.1)
rspec (2.3.0, 2.1.0, 1.1.11)
rspec-core (2.3.0, 2.1.0)
rspec-expectations (2.3.0, 2.1.0)
rspec-mocks (2.3.0, 2.1.0)
ruby2ruby (1.2.5, 1.2.1, 1.1.8)
ruby_parser (2.0.5)
rubyforge (2.0.4, 1.0.1)
rubygems-update (1.3.7)
RubyInline (3.8.6, 3.8.1)
rvm (1.1.5)
s4t-utils (1.0.4)
sake (1.0.15)
sexp_processor (3.0.5)
simple_form (1.3.0)
sqlite3-ruby (1.2.4)
sucker (1.1.3)
termios (0.9.4)
thor (0.14.6)
treetop (1.4.9)
tzinfo (0.3.23)
user-choices (1.1.6.1, 1.1.6)
warden (1.0.3)
will_paginate (3.0.pre2)
xml-simple (1.0.12, 1.0.11)
yayimdbs (0.1.9)
ZenTest (4.4.2, 4.4.0, 3.11.0)

···

--
Posted via http://www.ruby-forum.com/\.

What gem are you wearing?
$ rvm list

rvm rubies

   ree-1.8.7-2010.02 [ i386 ]
   ruby-1.8.7-p302 [ i386 ]
=> ruby-1.9.2-p0 [ i386 ]

$ gem search openSSl -r

*** REMOTE GEMS ***

costan-tem_openssl (0.3.6)
jruby-jruby-openssl (0.5.0.4)
JRuby-OpenSSL (0.1 ruby)
jruby-openssl (0.7.2 ruby)
openssl-extensions (0.0.9 ruby)
openssl-nonblock (0.2.1 ruby)
pftg-jruby-openssl (0.5.3 ruby)
ruby-hmac-openssl (0.1.0 ruby)
tem_openssl (0.3.6 ruby)

Jose Calderon-Celis
5199906-7970
http://www.tm.com.pe/mensajes/

···

2010/12/16 botp <botpena@gmail.com>

On Thu, Dec 16, 2010 at 2:30 PM, Guille Lopez <guille@ductil.org> wrote:
> It seems my ruby version is not accepting:
> OpenSSL::Digest::Digest.new('sha256')
> It's showing the error: Unsupported digest algorithm (sha256).

probably not a ruby version problem, eg

$ rvm exec ruby -v -ropenssl -e "p OpenSSL::Digest::Digest.new('sha256')"
ruby 1.9.2dev (2010-07-11 revision 28618) [i686-linux]
#<OpenSSL::Digest::Digest:
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855>
ruby 1.8.7 (2010-06-23 patchlevel 299) [i686-linux]
#<OpenSSL::Digest::Digest:
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855>
ruby 1.9.2dev (2010-07-02 revision 28524) [i686-linux]
#<OpenSSL::Digest::Digest:
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855>
ruby 1.8.7 (2010-08-16 patchlevel 302) [i686-linux]
#<OpenSSL::Digest::Digest:
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855>
ruby 1.9.2dev (2010-05-31 revision 28117) [i686-linux]
#<OpenSSL::Digest::Digest:
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855>
ruby 1.8.6 (2010-02-05 patchlevel 399) [i686-linux]
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
ruby 1.9.2p0 (2010-08-18 revision 29036) [i686-linux]
#<OpenSSL::Digest::Digest:
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855>
ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-linux]
#<OpenSSL::Digest::Digest:
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855>
ruby 1.9.1p378 (2010-01-10 revision 26273) [i686-linux]
#<OpenSSL::Digest::Digest:
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855>

but i'm on linux.

try first in irb. see if you still get the error.
if not, some gem you're loading is screwed... require the gems one at
a time to capture the culprit..

best regards -botp

Try a more common digest, e.g.

ruby -ropenssl -e 'p OpenSSL::Digest::Digest.new("md5")'

If that works, then perhaps the version of openssl you have doesn't
support sha256.

···

--
Posted via http://www.ruby-forum.com/.

yes. that is why you have to check one at a time wc gem is screwing openssl...

best regards -botp

···

On Fri, Dec 17, 2010 at 12:27 PM, Guille Lopez <guille@ductil.org> wrote:

$ ruby -ropenssl -e 'p OpenSSL::Digest::Digest.new("sha256")'
#<OpenSSL::Digest::Digest:
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855>
Does it mean sha256 works?

1. Write test case (i.e. a minimal script doing what you want as above).
2. Require the gems one after the other.
3. Note at which point the script fails, and narrow down the offender(s).

···

On Fri, Dec 17, 2010 at 5:57 AM, Guille Lopez <guille@ductil.org> wrote:

How I do that?

--
Phillip Gawlowski

Though the folk I have met,
(Ah, how soon!) they forget
When I've moved on to some other place,
There may be one or two,
When I've played and passed through,
Who'll remember my song or my face.

You add and remove require statements as necessary:

require "gem_file_to_be_required"
# require "inactive_gem"

:wink:

···

On Fri, Dec 17, 2010 at 1:50 PM, Guille Lopez <guille@ductil.org> wrote:

Thanks Phillip, but what I am confused now is about how I require one
gem after the other? how do I control which gems are loaded?

--
Phillip Gawlowski

Though the folk I have met,
(Ah, how soon!) they forget
When I've moved on to some other place,
There may be one or two,
When I've played and passed through,
Who'll remember my song or my face.