{"record":{"id":"9ced89e870844656","repo":"ruby/rubygems","slug":"certificate-file-invalid-x509-certificate","errorCode":null,"errorMessage":"#{certificate_file}: invalid X509 certificate","messagePattern":"#(.+?): invalid X509 certificate","errorType":"exception","errorClass":"Gem::OptionParser::InvalidArgument","httpStatus":null,"severity":"error","filePath":"lib/rubygems/commands/cert_command.rb","lineNumber":91,"sourceCode":"    Gem::Security.trust_dir.trust_cert certificate\n\n    say \"Added '#{certificate.subject}'\"\n  end\n\n  def check_openssl\n    return if Gem::HAVE_OPENSSL\n\n    alert_error \"OpenSSL library is required for the cert command\"\n    terminate_interaction 1\n  end\n\n  def open_cert(certificate_file)\n    check_openssl\n    OpenSSL::X509::Certificate.new File.read certificate_file\n  rescue Errno::ENOENT\n    raise Gem::OptionParser::InvalidArgument, \"#{certificate_file}: does not exist\"\n  rescue OpenSSL::X509::CertificateError\n    raise Gem::OptionParser::InvalidArgument,\n      \"#{certificate_file}: invalid X509 certificate\"\n  end\n\n  def open_private_key(key_file)\n    check_openssl\n    passphrase = ENV[\"GEM_PRIVATE_KEY_PASSPHRASE\"]\n    key = OpenSSL::PKey.read File.read(key_file), passphrase\n    key\n  rescue Errno::ENOENT\n    raise Gem::OptionParser::InvalidArgument, \"#{key_file}: does not exist\"\n  rescue OpenSSL::PKey::PKeyError, ArgumentError\n    raise Gem::OptionParser::InvalidArgument, \"#{key_file}: invalid RSA, DSA, or EC key\"\n  end\n\n  def execute\n    check_openssl\n\n    options[:add].each do |certificate|","sourceCodeStart":73,"sourceCodeEnd":109,"githubUrl":"https://github.com/ruby/rubygems/blob/86cbb817a38ce8477b181c17467a703ded3f2be8/lib/rubygems/commands/cert_command.rb#L73-L109","documentation":"Error \"#{certificate_file}: invalid X509 certificate\" thrown in ruby/rubygems.","triggerScenarios":"Thrown at lib/rubygems/commands/cert_command.rb:91 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"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"}