Maintenance Ruby 3.3 gets fixes, but no new features. Switch to Ruby 4.0 →
class method
Gem::Security.re_sign
re_sign(expired_certificate, private_key, age = ONE_YEAR, extensions = EXTENSIONS)
lib/rubygems/security.rb
View on GitHub ↗
# File tmp/rubies/ruby-3.3.0/lib/rubygems/security.rb, line 508
def self.re_sign(expired_certificate, private_key, age = ONE_YEAR, extensions = EXTENSIONS)
raise Gem::Security::Exception,
"incorrect signing key for re-signing " +
expired_certificate.subject.to_s unless
expired_certificate.check_private_key(private_key)
unless expired_certificate.subject.to_s ==
expired_certificate.issuer.to_s
subject = alt_name_or_x509_entry expired_certificate, :subject
issuer = alt_name_or_x509_entry expired_certificate, :issuer
raise Gem::Security::Exception,
"#{subject} is not self-signed, contact #{issuer} " \
"to obtain a valid certificate"
end
serial = expired_certificate.serial + 1
create_cert_self_signed(expired_certificate.subject, private_key, age,
extensions, serial)
end
Signs expired_certificate with private_key if the keys match and the expired certificate was self-signed.