This issue is reported initially at rails/rails#48483 and here is Ruby script to reproduce this error.
The original issue has two exceptions. EVP_DigestSignInit: unsupported (OpenSSL::HMACError) and Digest initialization failed: initialization error (OpenSSL::Digest::DigestError)
EVP_DigestSignInit: unsupported (OpenSSL::HMACError)
Steps to reproduce
require"openssl"OpenSSL::VERSIONdigest="MD4"secret="saltsaltsaltsaltsaltsaltsaltsalt"data="cDcvTnJ3TDRqbmFpQWN4OWVJWjRKU1E4YnNsWWpuZ1NUbFF5OTZRQW90QT0tLTNGZkVOYVJhY3l5dkZOa3RjMklCeFE9PQ=="OpenSSL::HMAC.hexdigest(digest,secret,data)
Expected behavior
It should run as Ruby 3.0.5 does.
$ ruby -vruby3.0.5p211(2022-11-24revisionba5cf0f7c5)[x86_64-linux]
$ irbirb(main):001:0>
irb(main):002:0> require"openssl"=>trueirb(main):003:0> OpenSSL::VERSION=>"2.2.2"irb(main):004:0>
irb(main):005:0> digest="MD4"=>"MD4"irb(main):006:0> secret="saltsaltsaltsaltsaltsaltsaltsalt"=>"saltsaltsaltsaltsaltsaltsaltsalt"irb(main):007:0> data="cDcvTnJ3TDRqbmFpQWN4OWVJWjRKU1E4YnNsWWpuZ1NUbFF5OTZRQW90QT0tLTNGZkVOYVJhY3l5dkZOa3RjMklCeFE9PQ=="irb(main):008:0> OpenSSL::HMAC.hexdigest(digest,secret,data)=>"464c3e47de854fe82cc7514f1fc16a8f"irb(main):009:0>
Actual behavior
It gets "EVP_DigestSignInit: unsupported (OpenSSL::HMACError)" with Ruby 3.2.2.
$ ruby -vruby3.2.2(2023-03-30revisione51014f9c0)[x86_64-linux]
$ irbirb(main):001:0> require"openssl"=>trueirb(main):002:0> digest="MD4"=>"MD4"irb(main):003:0> secret="saltsaltsaltsaltsaltsaltsaltsalt"=>"saltsaltsaltsaltsaltsaltsaltsalt"irb(main):004:0> data="cDcvTnJ3TDRqbmFpQWN4OWVJWjRKU1E4YnNsWWpuZ1NUbFF5OTZRQW90QT0tLTNGZkVOYVJhY3l5dkZOa3RjMklCeFE9PQ=="irb(main):005:0> OpenSSL::HMAC.hexdigest(digest,secret,data)/home/yahonda/.rbenv/versions/3.2.2/lib/ruby/3.2.0/openssl/hmac.rb:55:in`initialize': EVP_DigestSignInit: unsupported (OpenSSL::HMACError) from /home/yahonda/.rbenv/versions/3.2.2/lib/ruby/3.2.0/openssl/hmac.rb:55:in `new' from /home/yahonda/.rbenv/versions/3.2.2/lib/ruby/3.2.0/openssl/hmac.rb:55:in `hexdigest'from(irb):5:in`<main>' from /home/yahonda/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/irb-1.7.0/exe/irb:9:in `<top(required)>' from /home/yahonda/.rbenv/versions/3.2.2/bin/irb:25:in `load'from/home/yahonda/.rbenv/versions/3.2.2/bin/irb:25:in `<main>'
irb(main):006:0>
Digest initialization failed: initialization error (OpenSSL::Digest::DigestError)
Steps to reproduce
require"openssl"OpenSSL::VERSIONdigest="MD4"OpenSSL::Digest.new(digest)
Expected behavior
It should run as Ruby 3.0.5 does.
$ ruby -vruby3.0.5p211(2022-11-24revisionba5cf0f7c5)[x86_64-linux]
$ irbirb(main):001:0> require"openssl"=>trueirb(main):002:0> OpenSSL::VERSION=>"2.2.2"irb(main):003:0> digest="MD4"irb(main):004:0> OpenSSL::Digest.new(digest)=>#<OpenSSL::Digest: 31d6cfe0d16ae931b73c59d7e0c089c0>irb(main):005:0>
Actual behavior
$ ruby -vruby3.2.2(2023-03-30revisione51014f9c0)[x86_64-linux]
$ irbirb(main):001:0> require"openssl"=>trueirb(main):002:0> digest="MD4"irb(main):003:0> OpenSSL::Digest.new(digest)(irb):3:in`initialize': Digest initialization failed: initialization error (OpenSSL::Digest::DigestError) from (irb):3:in `new' from (irb):3:in `<main>'from/home/yahonda/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/irb-1.7.0/exe/irb:9:in`<top (required)>' from /home/yahonda/.rbenv/versions/3.2.2/bin/irb:25:in `load' from /home/yahonda/.rbenv/versions/3.2.2/bin/irb:25:in `<main>'irb(main):004:0>
This issue is reported initially at rails/rails#48483 and here is Ruby script to reproduce this error.
The original issue has two exceptions.
EVP_DigestSignInit: unsupported (OpenSSL::HMACError)andDigest initialization failed: initialization error (OpenSSL::Digest::DigestError)EVP_DigestSignInit: unsupported (OpenSSL::HMACError)Steps to reproduce
Expected behavior
It should run as Ruby 3.0.5 does.
Actual behavior
It gets "EVP_DigestSignInit: unsupported (OpenSSL::HMACError)" with Ruby 3.2.2.
Digest initialization failed: initialization error (OpenSSL::Digest::DigestError)Steps to reproduce
Expected behavior
It should run as Ruby 3.0.5 does.
Actual behavior