Skip to main content

MyProxy Client

Project description

MyProxy Client Package

This a pure Python implementation of a client to the MyProxy Credential Management Server ( It provides both a Python API and a command line interface.

  • i.e. MyProxy C client libraries are not required for this package.

It uses pyOpenSSL to make an SSL connection to the server following the messaging interface as outlined in:

The code is based on an original program myproxy_logon by Tom Uram of ANL.


These show how to retrieve a certificate bootstrapping trust in remote service:


>>> from myproxy.client import MyProxyClient
>>> myproxy_clnt = MyProxyClient(hostname="")
>>> cert, private_key = myproxy_clnt.logon(username, password, bootstrap=True)

Command line interface

$ myproxyclient logon -s -l <username> -o creds.pem -b




  • Refactored package hierarchy - myproxy.client is now a package
  • fixed six package dependency


  • Default to TLS v1.2 for security


  • Added new command line option -e which will force output of any error trace. The default is now that the error trace is not echoed. Instead only the message from top-level exception is included.
  • Fix for certificate DN list for Python 2 version. Thanks to Lukasz for reporting the bug:


  • Updated hashing algorithm to sha256 after reported errors interacting with some servers


  • Ported to Python 3. This version is dual compatible with Python 2 and 3.
  • Minor fix to script to improve error reporting
  • Added Vagrantfile to enable provisioning of test myproxy-server for use with the tests.

Tested on CentOS 6.8 and OSX El Capitan


  • Minor changes for ready for inclusion in conda-forge. Thanks to Alex Goodman.


  • Fix for SSL to use TLS instead of SSLv3 to address POODLE vulnerability
  • Fix for SSL verification for PyOpenSSL version 0.14 - v1.3.1 was broken because it passed the call back method to OpenSSL using verification classes' __call__ method.

Tested on CentOS 6.4


  • Fix to MyProxyClient.writeProxyFile and MyProxyClient.readProxyFile to correctly pick-up overridden file setting. Thanks to Nicolas Carenton, IPSL.


Unit test module with test files is in test/. See the README in that directory.


Sphinx generated documentation is available in documentation/. run the Makefile to regenerate if required.


  • to OMII-UK (Now Software Sustainability Institute) for funding development of NDG Security (2007-2008)
  • Tom Uram who wrote the myproxy_logon program on which this package is based.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

MyProxyClient-2.1.1.tar.gz (474.0 kB view hashes)

Uploaded source

Built Distribution

MyProxyClient-2.1.1-py3-none-any.whl (45.4 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page