Skip to content

End of Life Ruby 3.0 has reached end of life and gets no more fixes. Switch to Ruby 4.0 →

class method

OpenSSL::PKey::RSA.new

RSA.new(key_size) => RSA instance
RSA.new(encoded_key) => RSA instance
RSA.new(encoded_key, pass_phrase) => RSA instance

Generates or loads an RSA keypair. If an integer key_size is given it represents the desired key size. Keys less than 1024 bits should be considered insecure.

A key can instead be loaded from an encoded_key which must be PEM or DER encoded. A pass_phrase can be used to decrypt the key. If none is given OpenSSL will prompt for the pass phrase.

Examples

Example
OpenSSL::PKey::RSA.new 2048
OpenSSL::PKey::RSA.new File.read 'rsa.pem'
OpenSSL::PKey::RSA.new File.read('rsa.pem'), 'my pass phrase'
See also .generate #blinding_off! #blinding_on! also in 4.1 · 4.0 · 3.4 · 3.3 · 3.2 · 3.1