Skip to content

Require 'openssl' throws OpenSSL::X509::StoreError #4043

@arcelan

Description

@arcelan

Our experiment enviroment is:

  • OS: Solaris 11
  • JDK: Self-compiled Openjdk 8
  • JRuby: 9.1.2.0

When typing require 'openssl' in the irb, it will throw OpenSSL::X509::StoreError.
The ouput of the terminal is:

OpenSSL::X509::StoreError: setting default path failed: the trustAnchors parameter must be non-empty
        from org/jruby/ext/openssl/X509Store.java:185:in `set_default_paths'
        from /root/jruby/jruby-9.1.2.0/lib/ruby/stdlib/jopenssl/load.rb:25:in `<top>'
        from org/jruby/RubyKernel.java:944:in `require'
        from /root/jruby/jruby-9.1.2.0/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:1:in `(root)'
        from /root/jruby/jruby-9.1.2.0/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:55:in `<top>'
        from org/jruby/RubyKernel.java:944:in `require'
        from /root/jruby/jruby-9.1.2.0/lib/ruby/stdlib/openssl.rb:1:in `(root)'
        from /root/jruby/jruby-9.1.2.0/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:1:in `<eval>'
        from org/jruby/RubyKernel.java:983:in `eval'
        from /root/jruby/jruby-9.1.2.0/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:55:in `require'
        from (irb):1:in `evaluate'
        from org/jruby/RubyKernel.java:1290:in `loop'
        from org/jruby/RubyKernel.java:1103:in `catch'
        from org/jruby/RubyKernel.java:1103:in `catch'
        from /root/jruby/jruby-9.1.2.0/bin/irb:13:in `<top>'

However, if we use the JDK provided by Oracle, require 'openssl' won't throw any errors.

The java -version and javac -version of the self-compiled JDK are able to show the correct versions. We test the self-compiled JDK can successfully compile the Java source code into class file and execute the generated class file.

The generated directory of our self-compiled OpenJDK is as follow:

_the.CORBA.binaries.imported  btclasses_rmic                gen_profile_3                 gensrc_jdwp_headers           jce
bin                           classes                       gendocsrc_rmic                gensrc_no_srczip              lib
break_iterator                classes_security              gensrc                        gensrc_x11wrappers            objs
btbin                         gen_profile_1                 gensrc_headers                impsrc
btclasses                     gen_profile_2                 gensrc_jdwp_doc               include

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions