re_sign(expired_certificate, private_key, age = ONE_YEAR, extensions = EXTENSIONS)
public
Signs expired_certificate with private_key if the keys
match and the expired certificate was self-signed.
# File lib/rubygems/security.rb, line 484
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}" unless
expired_certificate.public_key.to_pem == private_key.public_key.to_pem
unless expired_certificate.subject.to_s ==
expired_certificate.issuer.to_s then
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