{"record":{"id":"2907949895a823a7","repo":"ruby/rubygems","slug":"warning-although-your-ruby-can-connect-to-host","errorCode":null,"errorMessage":"WARNING: Although your Ruby can connect to #{host} today, your OpenSSL is very old!\nWARNING: You will need to upgrade OpenSSL to use #{host}.","messagePattern":"WARNING: Although your Ruby can connect to #(.+?) today, your OpenSSL is very old!\nWARNING: You will need to upgrade OpenSSL to use #(.+?)\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"lib/bundler/cli/doctor/ssl.rb","lineNumber":137,"sourceCode":"\n      false\n    end\n\n    def warn_on_unsupported_tls12\n      ctx = OpenSSL::SSL::SSLContext.new\n      supported = true\n\n      if ctx.respond_to?(:min_version=)\n        begin\n          ctx.min_version = ctx.max_version = OpenSSL::SSL::TLS1_2_VERSION\n        rescue OpenSSL::SSL::SSLError, NameError\n          supported = false\n        end\n      else\n        supported = OpenSSL::SSL::SSLContext::METHODS.include?(:TLSv1_2) # rubocop:disable Naming/VariableNumber\n      end\n\n      Bundler.ui.warn(<<~EOM) unless supported\n\n        WARNING: Although your Ruby can connect to #{host} today, your OpenSSL is very old!\n        WARNING: You will need to upgrade OpenSSL to use #{host}.\n\n      EOM\n    end\n\n    module Explanation\n      extend self\n\n      def explain_bundler_or_rubygems_error(error)\n        case error.message\n        when /certificate verify failed/\n          \"certificate verification\"\n        when /read server hello A/\n          \"SSL/TLS protocol version mismatch\"\n        when /tlsv1 alert protocol version/\n          \"requested TLS version is too old\"","sourceCodeStart":119,"sourceCodeEnd":155,"githubUrl":"https://github.com/ruby/rubygems/blob/86cbb817a38ce8477b181c17467a703ded3f2be8/lib/bundler/cli/doctor/ssl.rb#L119-L155","documentation":"Error \"WARNING: Although your Ruby can connect to #{host} today, your OpenSSL is very old!\nWARNING: You will need to upgrade OpenSSL to use #{host}.\" thrown in ruby/rubygems.","triggerScenarios":"Thrown at lib/bundler/cli/doctor/ssl.rb:137 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Upgrade OpenSSL (and relink/reinstall Ruby against it) before the host requires a newer TLS"],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"86cbb817a38ce8477b181c17467a703ded3f2be8","analyzedAt":"2026-08-23T06:27:48.159Z","schemaVersion":2},"datasetVersion":"2026-08-23T08:06:27.607Z"}