Socket
Socket
Sign inDemoInstall

xmlrpcssl

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

xmlrpcssl

xmlrpc server with basic authentication and secured with ssl


Maintainers
1

.. image:: https://readthedocs.org/projects/xmlrpcssl/badge/?version=latest :target: http://xmlrpcssl.readthedocs.io/en/latest/?badge=latest :alt: Documentation Status

.. image:: https://coveralls.io/repos/github/jonDel/xmlrpcssl/badge.svg?branch=master :target: https://coveralls.io/github/jonDel/xmlrpcssl?branch=master

.. image:: https://landscape.io/github/jonDel/xmlrpcssl/master/landscape.svg?style=flat :target: https://landscape.io/github/jonDel/xmlrpcssl/master :alt: Code Health

.. image:: https://www.versioneye.com/user/projects/58233fdf613b6800422cb9b6/badge.svg?style=flat :target: https://www.versioneye.com/user/projects/58233fdf613b6800422cb9b6

xmlrpcssl

xmlprcssl is a Python library that provides secure communication (TLS <https://en.wikipedia.org/wiki/Transport_Layer_Security>__) beetween clients and servers through xmlrpc protocol. It supports plugable handlers to provide user authentication. For now, it has as an example a ldap based authentication handler.

Server configuration

.. code:: python

from xmlrpcssl import SecureAuthenticatedXMLRPCServer from xmlrpcssl.handlers import LdapVerifyingRequestHandler from datetime import datetime keySsl='/tmp/server.key' crtSsl='/tmp/server.crt' tcpPort=433 serverIp='10.0.0.1' ldapHost = 'ldapHost' # User must have access granted to this host in ldap ldapServer = 'ldapServer' # ip or name of ldap server gidNumber = 111 # User must be in this group in order to be authenticated isMasterUser = False # True if the user has write permissions in the ldap server baseUsrLoginDn = 'o=Organization,c=US' # user base DN to perform login in

the ldap server

baseSearchDn = 'o=Organization,c=US' # search base DN to perform a search in

the ldap server base

RequestHandler = LdapVerifyingRequestHandler # a handler that inherits from

BaseRequestHandler and performs user authentication

optArgs={'isMasterUser':isMasterUser,'baseUsrLoginDn':baseUsrLoginDn, ... 'ldapServer':ldapServer,'gidNumber':gidNumber,'baseSearchDn':baseSearchDn, ... 'host':ldapHost,'RequestHandler':RequestHandler} serverSSL=SecureAuthenticatedXMLRPCServer((serverIp,tcpPort),keySsl,crtSsl,**optArgs) def test(): ... # toy test function ... return datetime.now().strftime("%H:%M:%S") serverSSL.register_function(test) serverSSL.serve_forever()

Client configuration

.. code:: python

from xmlrpclib import ServerProxy userName = 'ldapUser' password = 'ldapUserPassword' tcpPort=433 serverIp='10.0.0.1' clientXml=ServerProxy('https://'+userName+':'+password+'@'+serverIp+':'+str(tcpPort)) response = clientXml.test() print response

Installation

To install xmlrpcssl, simply run:

::

$ pip install xmlrpcssl

xmlrpcssl is compatible with Python 2.6+

Documentation

https://xmlrpcssl.readthedocs.io

Source Code

Feel free to fork, evaluate and contribute to this project.

Source: https://github.com/jonDel/xmlrpcssl

License

GPLv3 licensed.

Credits

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc