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

missing digest for #{file}

Error message

missing digest for #{file}

What it means

Error "missing digest for #{file}" thrown in ruby/rubygems.

Source

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

    check_cert signer, nil, time if @verify_signer

    check_chain chain, time if @verify_chain

    check_root chain, time if @verify_root

    if @only_trusted
      check_trust chain, digester, trust_dir
    elsif signatures.empty? && digests.empty?
      # trust is irrelevant if there's no signatures to verify
    else
      alert_warning "#{subject signer} is not trusted for #{full_name}"
    end

    signatures.each do |file, _|
      digest = signer_digests[file]

      raise Gem::Security::Exception, "missing digest for #{file}" unless
        digest
    end

    signer_digests.each do |file, digest|
      signature = signatures[file]

      raise Gem::Security::Exception, "missing signature for #{file}" unless
        signature

      check_data signer.public_key, digester, signature, digest if @verify_data
    end

    true
  end

  ##
  # Extracts the certificate chain from the +spec+ and calls #verify to ensure
  # the signatures and certificate chain is valid according to the policy..

View on GitHub (pinned to 86cbb817a3)

Solutions

  1. Rebuild the gem so checksums.yaml.gz contains a digest for the named file

When it happens

Trigger: Thrown at lib/rubygems/security/policy.rb:257 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/422956a477aec80d. Report an issue: GitHub.