Version 10 (modified by pjkersha, 10 years ago) (diff) |
---|
MyProxyClient
The MyProxyClient Python package has been developed as part of development activities for the NERC DataGrid Security system. This work has been supported over the past year (2007-2008) by OMII-UK.
The implementation is based on the myproxy_logon script developed by Tom Uram of ANL. Rather than binding to the MyProxy C libraries, it uses the M2Crypto Python OpenSSL library wrapper to make calls to a MyProxy server following the MyProxy protocol.
Releases
Version 1.1.0 2 June 2010
- added bootstrap capability to initialise client CA certificate set-up to trust the server's SSL certificate.
Version 1.0 26 April 2010
- This version includes a new method getTrustRoots to support the ability to download the CA certificates for a given MyProxy server (command=7 - see: http://grid.ncsa.illinois.edu/myproxy/protocol/)
- 1.0 switches from M2Crypto to PyOpenSSL for its OpenSSL wrapper.
- A put method is included as a stub only. Unfortunately, the PyOpenSSL X.509 Extensions interface doesn't support the proxyCertInfo extension type needed for creating proxy certificates.
Installation
MyProxyClient is available from PyPI:
$ easy_install MyProxyClient
Example
Retrieve credentials from a MyProxy server running at myproxy.localhost on the default port:
>>> from myproxy.client import MyProxyClient >>> myproxy = MyProxyClient(hostname='myproxy.localhost') >>> credentials = myproxy.logon('myusername', 'mypassword', bootstrap=True)
credentials is a tuple containing certificate(s) and private key as strings. The bootstrap flag bootstraps the trust roots for the server downloading the CA certificate(s) to ~/.globus/certificates.
Documentation
epydoc generated documentation is available at the Python package site.
SubVersion Repository
See http://proj.badc.rl.ac.uk/ndg/browser/TI12-security/trunk/python/MyProxyClient
NDG3: Capability?, Discovery?, Vocab?, Software?, MOLES?, Security?, Community?, Roadmap?, Management?