module Google::APIClient::KeyUtils
Helper for loading keys from the PKCS12 files downloaded when setting up service accounts at the APIs Console.
@deprecated Use google-auth-library-ruby instead
Public Class Methods
Source
# File lib/google/api_client/auth/key_utils.rb, line 52 def self.load_from_pem(keyfile, passphrase) load_key(keyfile, passphrase) do | content, pass_phrase| OpenSSL::PKey::RSA.new(content, pass_phrase) end end
Loads a key from a PEM file.
@param [String] keyfile
Path of the PEM file to load. If not a path to an actual file, assumes the string is the content of the file itself.
@param [String] passphrase
Passphrase for unlocking the private key
@return [OpenSSL::PKey] The private key for signing assertions.
Source
# File lib/google/api_client/auth/key_utils.rb, line 34 def self.load_from_pkcs12(keyfile, passphrase) load_key(keyfile, passphrase) do |content, pass_phrase| OpenSSL::PKCS12.new(content, pass_phrase).key end end
Loads a key from PKCS12 file, assuming a single private key is present.
@param [String] keyfile
Path of the PKCS12 file to load. If not a path to an actual file, assumes the string is the content of the file itself.
@param [String] passphrase
Passphrase for unlocking the private key
@return [OpenSSL::PKey] The private key for signing assertions.
Source
# File lib/google/api_client/auth/key_utils.rb, line 80 def self.load_key(keyfile, passphrase, &block) begin begin content = File.open(keyfile, 'rb') { |io| io.read } rescue content = keyfile end block.call(content, passphrase) rescue OpenSSL::OpenSSLError raise ArgumentError.new("Invalid keyfile or passphrase") end end
Helper for loading keys from file or memory. Accepts a block to handle the specific file format.
@param [String] keyfile
Path of thefile to load. If not a path to an actual file, assumes the string is the content of the file itself.
@param [String] passphrase
Passphrase for unlocking the private key
@yield [String, String]
Key file & passphrase to extract key from
@yieldparam [String] keyfile
Contents of the file
@yieldparam [String] passphrase
Passphrase to unlock key
@yieldreturn [OpenSSL::PKey]
Private key
@return [OpenSSL::PKey] The private key for signing assertions.