MyProxy Client Package¶
This a pure* Python implementation of a client to the MyProxy Credential Management Server (http://grid.ncsa.uiuc.edu/myproxy/). 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: http://grid.ncsa.uiuc.edu/myproxy/protocol/
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="myproxy.somewhere.ac.uk") >>> cert, private_key = myproxy_clnt.logon(username, password, bootstrap=True)
Command line interface:
$ myproxyclient logon -s myproxy.somewhere.ac.uk -l <username> -o creds.pem -b
- 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’
Tested on CentOS 6.4.
- Fix to
MyProxyClient.readProxyFileto 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
Sphinx generated documentation is available in
documentation/. Run the
Makefile to regenerate if required.
- to OMII-UK for funding development of NDG Security (2007-2008)
- Tom Uram who wrote the
myproxy_logonprogram on which this package is based.