title: ValueError: RSA key format is not supported
body: <p>trying to use big query on google app engine python. I am trying to achieve this using a <a href="https://github.com/tylertreat/BigQuery-Python" rel="nofollow">this client library</a> . I have imported every necessary library and somehow running the snippet below</p>
  
  <pre><code>from bigquery import get_client
  
  # BigQuery project id as listed in the Google Developers Console.
  project_id = 'project_id'
  
  # Service account email address as listed in the Google Developers Console.
  service_account = 'my_id_123@developer.gserviceaccount.com'
  
  # PKCS12 or PEM key provided by Google.
  key = 'key.pem'
  
  client = get_client(project_id, service_account=service_account,
                      private_key_file=key, readonly=True)
  </code></pre>
  
  <p>and still get the error:</p>
  
  <pre><code>    2015-10-26 19:08:37 Running command: "['C:\\Python27\\pythonw.exe', 'C:\\Program Files (x86)\\Google\\google_appengine\\dev_appserver.py', '--skip_sdk_update_check=yes', '--port=19090', '--admin_port=9010', 'C:\\Users\\CrowdStar\\workspace\\AppEngineThinkStudio\\TrafficTestCase']"
  INFO     2015-10-26 19:08:39,540 devappserver2.py:726] Skipping SDK update check.
  INFO     2015-10-26 19:08:39,634 api_server.py:172] Starting API server at: http://localhost:61626
  INFO     2015-10-26 19:08:39,634 dispatcher.py:186] Starting module "default" running at: http://localhost:19090
  INFO     2015-10-26 19:08:39,651 admin_server.py:118] Starting admin server at: http://localhost:9010
  INFO     2015-10-26 18:08:44,361 discovery.py:240] URL being requested: GET https://www.googleapis.com/discovery/v1/apis/bigquery/v2/rest?userIp=%3A%3A1
  
  INFO     2015-10-26 18:08:44,361 client.py:563] Attempting refresh to obtain initial access_token
  
  ERROR    2015-10-26 18:08:44,365 webapp2.py:1528] RSA key format is not supported
  
  Traceback (most recent call last):
  
    File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 1511, in __call__
  
      rv = self.handle_exception(request, response, e)
  
    File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 1505, in __call__
  
      rv = self.router.dispatch(request, response)
  
    File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 1253, in default_dispatcher
  
      return route.handler_adapter(request, response)
  
    File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 1077, in __call__
  
      return handler.dispatch()
  
    File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 547, in dispatch
  
      return self.handle_exception(e, self.app.debug)
  
    File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 545, in dispatch
  
      return method(*args, **kwargs)
  
    File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\main.py", line 72, in get
  
      private_key_file=key, readonly=True)
  
    File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\bigquery\client.py", line 83, in get_client
  
      readonly=readonly)
  
    File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\bigquery\client.py", line 101, in _get_bq_service
  
      service = build('bigquery', 'v2', http=http)
  
    File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\oauth2client\util.py", line 142, in positional_wrapper
  
      return wrapped(*args, **kwargs)
  
    File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\googleapiclient\discovery.py", line 196, in build
  
      cache)
  
    File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\googleapiclient\discovery.py", line 242, in _retrieve_discovery_doc
  
      resp, content = http.request(actual_url)
  
    File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\oauth2client\client.py", line 565, in new_request
  
      self._refresh(request_orig)
  
    File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\oauth2client\client.py", line 835, in _refresh
  
      self._do_refresh_request(http_request)
  
    File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\oauth2client\client.py", line 862, in _do_refresh_request
  
      body = self._generate_refresh_request_body()
  
    File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\oauth2client\client.py", line 1541, in _generate_refresh_request_body
  
      assertion = self._generate_assertion()
  
    File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\oauth2client\client.py", line 1670, in _generate_assertion
  
      private_key, self.private_key_password), payload)
  
    File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\oauth2client\_pycrypto_crypt.py", line 121, in from_string
  
      pkey = RSA.importKey(parsed_pem_key)
  
    File "C:\Python27\lib\site-packages\pycrypto-2.6.1-py2.7-win32.egg\Crypto\PublicKey\RSA.py", line 665, in importKey
  
      return self._importKeyDER(der)
  
    File "C:\Python27\lib\site-packages\pycrypto-2.6.1-py2.7-win32.egg\Crypto\PublicKey\RSA.py", line 588, in _importKeyDER
  
      raise ValueError("RSA key format is not supported")
  
  ValueError: RSA key format is not supported
  
  ERROR    2015-10-26 18:08:44,372 wsgi.py:279] 
  
  Traceback (most recent call last):
  
    File "C:\Program Files (x86)\Google\google_appengine\google\appengine\runtime\wsgi.py", line 267, in Handle
  
      result = handler(dict(self._environ), self._StartResponse)
  
    File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 1519, in __call__
  
      response = self._internal_error(e)
  
    File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 1511, in __call__
  
      rv = self.handle_exception(request, response, e)
  
    File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 1505, in __call__
  
      rv = self.router.dispatch(request, response)
  
    File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 1253, in default_dispatcher
  
      return route.handler_adapter(request, response)
  
    File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 1077, in __call__
  
      return handler.dispatch()
  
    File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 547, in dispatch
  
      return self.handle_exception(e, self.app.debug)
  
    File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.3\webapp2.py", line 545, in dispatch
  
      return method(*args, **kwargs)
  
    File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\main.py", line 72, in get
  
      private_key_file=key, readonly=True)
  
    File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\bigquery\client.py", line 83, in get_client
  
      readonly=readonly)
  
    File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\bigquery\client.py", line 101, in _get_bq_service
  
      service = build('bigquery', 'v2', http=http)
  
    File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\oauth2client\util.py", line 142, in positional_wrapper
  
      return wrapped(*args, **kwargs)
  
    File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\googleapiclient\discovery.py", line 196, in build
  
      cache)
  
    File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\googleapiclient\discovery.py", line 242, in _retrieve_discovery_doc
  
      resp, content = http.request(actual_url)
  
    File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\oauth2client\client.py", line 565, in new_request
  
      self._refresh(request_orig)
  
    File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\oauth2client\client.py", line 835, in _refresh
  
      self._do_refresh_request(http_request)
  
    File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\oauth2client\client.py", line 862, in _do_refresh_request
  
      body = self._generate_refresh_request_body()
  
    File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\oauth2client\client.py", line 1541, in _generate_refresh_request_body
  
      assertion = self._generate_assertion()
  
    File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\oauth2client\client.py", line 1670, in _generate_assertion
  
      private_key, self.private_key_password), payload)
  
    File "C:\Users\CrowdStar\workspace\AppEngineThinkStudio\TrafficTestCase\oauth2client\_pycrypto_crypt.py", line 121, in from_string
  
      pkey = RSA.importKey(parsed_pem_key)
  
    File "C:\Python27\lib\site-packages\pycrypto-2.6.1-py2.7-win32.egg\Crypto\PublicKey\RSA.py", line 665, in importKey
  
      return self._importKeyDER(der)
  
    File "C:\Python27\lib\site-packages\pycrypto-2.6.1-py2.7-win32.egg\Crypto\PublicKey\RSA.py", line 588, in _importKeyDER
  
      raise ValueError("RSA key format is not supported")
  
  ValueError: RSA key format is not supported
  
  INFO     2015-10-26 19:08:44,404 module.py:737] default: "GET / HTTP/1.1" 500 -
  </code></pre>