ruby/rubygems · error · Gem::OptionParser::InvalidArgument
#{certificate_file}: invalid X509 certificate
Error message
#{certificate_file}: invalid X509 certificate What it means
Error "#{certificate_file}: invalid X509 certificate" thrown in ruby/rubygems.
Source
Thrown at lib/rubygems/commands/cert_command.rb:91
Gem::Security.trust_dir.trust_cert certificate
say "Added '#{certificate.subject}'"
end
def check_openssl
return if Gem::HAVE_OPENSSL
alert_error "OpenSSL library is required for the cert command"
terminate_interaction 1
end
def open_cert(certificate_file)
check_openssl
OpenSSL::X509::Certificate.new File.read certificate_file
rescue Errno::ENOENT
raise Gem::OptionParser::InvalidArgument, "#{certificate_file}: does not exist"
rescue OpenSSL::X509::CertificateError
raise Gem::OptionParser::InvalidArgument,
"#{certificate_file}: invalid X509 certificate"
end
def open_private_key(key_file)
check_openssl
passphrase = ENV["GEM_PRIVATE_KEY_PASSPHRASE"]
key = OpenSSL::PKey.read File.read(key_file), passphrase
key
rescue Errno::ENOENT
raise Gem::OptionParser::InvalidArgument, "#{key_file}: does not exist"
rescue OpenSSL::PKey::PKeyError, ArgumentError
raise Gem::OptionParser::InvalidArgument, "#{key_file}: invalid RSA, DSA, or EC key"
end
def execute
check_openssl
options[:add].each do |certificate|View on GitHub (pinned to 86cbb817a3)
When it happens
Trigger: Thrown at lib/rubygems/commands/cert_command.rb:91 when the library encounters an invalid state.
Common situations: See trigger scenarios.
Understand the failure class
- SSL/TLS and certificate errors — how TLS handshakes and certificate validation fail.
AI-assisted analysis of ruby/rubygems@86cbb817a3 (2026-08-23).
Data as JSON: /api/errors/9ced89e870844656.
Report an issue: GitHub.