ruby/rubygems · error · Gem::Security::Exception

#{message} was not issued by #{issuer.subject}

Error message

#{message} was not issued by #{issuer.subject}

What it means

Error "#{message} was not issued by #{issuer.subject}" thrown in ruby/rubygems.

Source

Thrown at lib/rubygems/security/policy.rb:102

  # If the +issuer+ is +nil+ no verification is performed.

  def check_cert(signer, issuer, time)
    raise Gem::Security::Exception, "missing signing certificate" unless
      signer

    message = "certificate #{signer.subject}"

    if (not_before = signer.not_before) && not_before > time
      raise Gem::Security::Exception,
            "#{message} not valid before #{not_before}"
    end

    if (not_after = signer.not_after) && not_after < time
      raise Gem::Security::Exception, "#{message} not valid after #{not_after}"
    end

    if issuer && !signer.verify(issuer.public_key)
      raise Gem::Security::Exception,
            "#{message} was not issued by #{issuer.subject}"
    end

    true
  end

  ##
  # Ensures the public key of +key+ matches the public key in +signer+

  def check_key(signer, key)
    unless signer && key
      return true unless @only_signed

      raise Gem::Security::Exception, "missing key or signature"
    end

    raise Gem::Security::Exception,
      "certificate #{signer.subject} does not match the signing key" unless

View on GitHub (pinned to 86cbb817a3)

Solutions

  1. Fix the certificate chain so each certificate is issued by the next one in the chain

When it happens

Trigger: Thrown at lib/rubygems/security/policy.rb:102 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of ruby/rubygems@86cbb817a3 (2026-08-23). Data as JSON: /api/errors/cec7ecbc33589ee5. Report an issue: GitHub.