class OCI::Auth::SessionKeySupplier
A supplier which can vend a public and private key to be used for signing requests
Constants
- PUBLIC_EXPONENT
Public Class Methods
new(key_size: 2048)
click to toggle source
# File lib/oci/auth/session_key_supplier.rb, line 11 def initialize(key_size: 2048) @key_size = key_size @refresh_lock = Mutex.new @private_key = OpenSSL::PKey::RSA.generate(@key_size, PUBLIC_EXPONENT) end
Public Instance Methods
key_pair()
click to toggle source
Retrieves a public key and private key @return [Hash] A 2 element hash, where the key 'private_key' retrieves the private key and the public key can be retrieved by using the key 'public_key'
# File lib/oci/auth/session_key_supplier.rb, line 20 def key_pair @refresh_lock.lock private_key = @private_key @refresh_lock.unlock { 'private_key': private_key, 'public_key': private_key.public_key } end
refresh()
click to toggle source
Generates a new public and private key
# File lib/oci/auth/session_key_supplier.rb, line 29 def refresh @refresh_lock.lock @private_key = OpenSSL::PKey::RSA.generate(@key_size, PUBLIC_EXPONENT) ensure @refresh_lock.unlock if @refresh_lock.locked? && @refresh_lock.owned? end