21128: Merge commit 'adbbc9e3c7a36d39b30f403555ee5889e32adcc0' into 21128-toolbar...
[arvados.git] / sdk / ruby-google-api-client / lib / google / api_client / auth / pkcs12.rb
1 # Copyright 2010 Google Inc.
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #      http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14
15 require 'google/api_client/auth/key_utils'
16 module Google
17   class APIClient
18     ##
19     # Helper for loading keys from the PKCS12 files downloaded when
20     # setting up service accounts at the APIs Console.
21     #
22     module PKCS12
23       ##
24       # Loads a key from PKCS12 file, assuming a single private key
25       # is present.
26       #
27       # @param [String] keyfile
28       #    Path of the PKCS12 file to load. If not a path to an actual file,
29       #    assumes the string is the content of the file itself. 
30       # @param [String] passphrase
31       #   Passphrase for unlocking the private key
32       #
33       # @return [OpenSSL::PKey] The private key for signing assertions.
34       # @deprecated 
35       #  Use {Google::APIClient::KeyUtils} instead
36       def self.load_key(keyfile, passphrase)
37         KeyUtils.load_from_pkcs12(keyfile, passphrase)
38       end
39     end
40   end
41 end