Metadata-Version: 1.0
Name: MyProxyWebService
Version: 0.2.0
Summary: MyProxy Web Service
Home-page: http://proj.badc.rl.ac.uk/ndg/wiki/Security/MyProxyWebService
Author: Philip Kershaw
Author-email: Philip.Kershaw@stfc.ac.uk
License: BSD - See LICENSE file in top-level directory
Description: Provides a simple web service interface to MyProxyCA.  MyProxy is a Service for 
        managing and issuing PKI based credentials which is part of the Globus Toolkit.  
        MyProxyWebService provides a HTTP based wrapper interface to MyProxy enabling
        HTTP based clients to connect to a MyProxy server and retrieve credentials.
        
        The interface is implemented as a WSGI application which fronts a normal 
        MyProxyCA server.  ``myproxy-logon`` and ``myproxy-get-trustroots`` are 
        expressed as web service calls.  The WSGI application forwards the requests on 
        to the MyProxy server over the usual MyProxy protocol.  The web service 
        interface is RESTful using GET and POST operations and the logon interface makes
        uses of HTTP Basic Auth to pass username and pass-phrase credentials.  The 
        service is hosted over HTTPS.
        
        The unit tests include a test application served using paster.  Client scripts
        are also available which need no specialised installation or applications, only
        openssl and wget or curl which are typically available on Linux/UNIX based 
        systems.
        
        Changes for version 0.2.0
        =========================
        The package hierarchy has been reorganised:
         * ``myproxy.server.wsgi``: contains middleware to make calls to a MyProxy 
           service using the ``MyProxyClient`` package.  It exposes this interface 
           through the ``environ`` dict so that other middleware or an app can access 
           and use it.
         * ``myproxy.ws``: contains functionality specific to the web service interface:
            - ``myproxy.ws.client``: contains all the functionality for web service clients to the MyProxy web service. This includes:
               + shell scripts (``.sh`` suffix) for logon and get trustroots calls.  
                 These are implemented with openssl and curl.  Alternative 
                 implementations are also provided which use wget (``-wget.sh`` suffix)
                 instead of curl.  These scripts have also been tested against an 
                 independent Short-Lived Credential Service developed for the Contrail 
                 EU FP7 project.
               + ``myproxy.ws.client.MyProxyWSClient``: is a Python client interface to
                 the web service.  The third party package ``ndg_httpclient`` is needed
                 for this class but note that overall, it is set as an optional install.  
            - ``myproxy.ws.server``: contains the server side functionality - a set of 
              WSGI middleware and an application to implement logon and get-trustroot 
              web service calls.
        
        Prerequisites
        =============
        This has been developed and tested for Python 2.6 and 2.7.
        
        Installation
        ============
        Installation can be performed using easy_install or pip.  Since this package is
        a wrapper to MyProxy, a MyProxy instance must be deployed that this service can
        call and use.
        
        Configuration
        =============
        Examples are contained in ``myproxy.ws.client.test`` and ``myproxy.server.test``.
        
Platform: POSIX
Platform: Linux
Platform: Windows
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Topic :: Security
Classifier: Topic :: Internet
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: System :: Distributed Computing
Classifier: Topic :: System :: Systems Administration :: Authentication/Directory
Classifier: Topic :: Software Development :: Libraries :: Python Modules
