{ "info": { "author": "Solly Ross", "author_email": "sross@redhat.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Programming Language :: Python", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Security", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "==========\r\nDEPRECATED\r\n==========\r\n\r\nPlease use 'gssapi' instead\r\n(on PyPI, or on GitHub at https://github.com/pythongssapi/python-gssapi).\r\n\r\n========\r\nPyGSSAPI\r\n========\r\n\r\nPyGSSAPI provides both low-level and high level wrappers around the GSSAPI\r\nC libraries. While it focuses on the Kerberos mechanism, it should also be\r\nuseable with other GSSAPI mechanisms that do not rely on mechanism-specific\r\nC values that cannot easily be translated into Python.\r\n\r\nRequirements\r\n============\r\n\r\n* A working implementation of GSSAPI (such as from MIT Kerberos)\r\n which includes header files\r\n\r\n* a C compiler (such as GCC)\r\n\r\n* the `flufl.enum` Python package\r\n\r\n* the `nose` package (for tests)\r\n\r\n* the `shouldbe` package (for tests)\r\n\r\nInstallation\r\n============\r\n\r\nEasy Way \r\n--------\r\n\r\n::\r\n\r\n $ pip install pygssapi\r\n\r\nFrom the Git Repo\r\n-----------------\r\n\r\n::\r\n\r\n $ git clone https://github.com/DirectXMan12/python-gssapi.git\r\n $ python setup.py build\r\n $ python setup.py install\r\n\r\nTests\r\n=====\r\n\r\nI have written some tests of PyGSSAPI; they live in the `gssapi.tests`\r\ndirectory. Currently the basic `gssapi.base` commands and\r\n`gssapi.client.BasicGSSClient` have been tested. Before running\r\nthe tests, a valid 'host/[FQDN]' (e.g. 'host/some.domain') must have been\r\n`kinit`-ed. If you run `tox`, it will do this for you (you will\r\nlikely need to run `tox` with `sudo`).\r\n\r\n::\r\n\r\n $ sudo tox\r\n\r\nor \r\n\r\n::\r\n \r\n $ sudo kinit host/some.domain -k\r\n $ sudo setup.py nosetests\r\n\r\nStructure\r\n=========\r\n\r\nPyGSSAPI is composed of two parts: the low-level, C-style wrapper and the\r\nhigh-level, Python-style wrapper (which is a wrapper around the low-level\r\nAPI). Modules written in C are denoted by '(C)', whereas those written\r\nin Python are denoted '(Py)'\r\n\r\nLow-Level API\r\n-------------\r\n\r\nThe low-level API lives in `gssapi.base`. The methods contained therein\r\nare designed to match closely with the original GSSAPI C methods. They\r\nfollow the given format:\r\n\r\n* Names are camelCased versions of the C method names, with the \r\n `gssapi_` prefix removed\r\n\r\n* Parameters which use C int constants as enums have \r\n `flufl.enum.IntEnum` classes defined, and thus may be passed\r\n either the enum members or integers\r\n\r\n* In cases where a specific constant is passed in the C API to represent\r\n a default value, `None` should be passed instead\r\n\r\n* In cases where non-integer C constants are passed, `flufl.enum.Enum`\r\n classes are defined for common values\r\n\r\n* Major and minor error codes are returned via `gssapi.base.GSSError`\r\n\r\n* All other relevant output values are returned in a tuple in the return\r\n value of the method (in cases where a non-error major status code may\r\n be returned, an additional member of the tuple is provided)\r\n\r\nStructure\r\n~~~~~~~~~\r\n\r\ngssapi : /\r\n base : /\r\n *includes all sub-packages automatically*\r\n\r\n impl : (C)\r\n core C-API methods\r\n status_utils : (C)\r\n utilities for dealing with status codes\r\n types : (Py)\r\n Enumerations and Exception Types\r\n\r\nExamples\r\n~~~~~~~~\r\n\r\n::\r\n\r\n import gssapi.base as gb\r\n\r\nTODO(sross): provide more examples\r\n\r\nHigh-Level API\r\n--------------\r\n\r\nThe high-level API lives directly under `gssapi`. The classes \r\ncontained in each file are designed to provide a more Python, Object-Oriented\r\nview of GSSAPI. Currently, they are designed for the basic GSSAPI tasks, but\r\nwill be expanded upon in the future.\r\n\r\nStructure\r\n~~~~~~~~~\r\n\r\ngssapi : /\r\n client : (Py)\r\n *basic clients*\r\n\r\n BasicGSSClient\r\n a client capable of performing basic GSS negotiation/encryption\r\n BasicSASLGSSClient\r\n a helper class to simplify working with SASL GSSAPI\r\n type_wrappers : (Py)\r\n provides useful wrappers around some Python capsule objects\r\n\r\nExamples\r\n~~~~~~~~\r\n\r\n::\r\n\r\n import gssapi.client as gss\r\n \r\n client = gss.BasicGSSClient('vnc@some.host', security_type='encrypted')\r\n\r\n init_token = client.setupBaseSecurityContext()\r\n # send to server, get response back...\r\n next_token = client.updateSecurityContext(server_resp)\r\n # encrypt a message\r\n msg_enc = client.encrypt('WARNING: this is secret')\r\n # send the message, get response back...\r\n msg_unenc = client.decrypt(server_encrypted_message)\r\n\r\n # freeing of resources (such as deleting the security context and releasing\r\n # the names) is handled automatically", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/directxman12/python-gssapi", "keywords": "", "license": "LICENSE.txt", "maintainer": "", "maintainer_email": "", "name": "PyGSSAPI", "package_url": "https://pypi.org/project/PyGSSAPI/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/PyGSSAPI/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/directxman12/python-gssapi" }, "release_url": "https://pypi.org/project/PyGSSAPI/1.0.0/", "requires_dist": null, "requires_python": null, "summary": "Python GSSAPI Wrapper", "version": "1.0.0" }, "last_serial": 1373082, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "68045469d2ab0976eab174a13bbbaf96", "sha256": "ab1194264117b4d0fa965345b7c004ff0ffd8e862e32d32269aeaf9fd85bb0b8" }, "downloads": -1, "filename": "PyGSSAPI-1.0.0.tar.gz", "has_sig": false, "md5_digest": "68045469d2ab0976eab174a13bbbaf96", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 464319, "upload_time": "2013-07-24T21:17:39", "url": "https://files.pythonhosted.org/packages/82/f0/862330b34a9818ed3ad18a5d8634dee2b87de9706e7663acc84f34a55313/PyGSSAPI-1.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "68045469d2ab0976eab174a13bbbaf96", "sha256": "ab1194264117b4d0fa965345b7c004ff0ffd8e862e32d32269aeaf9fd85bb0b8" }, "downloads": -1, "filename": "PyGSSAPI-1.0.0.tar.gz", "has_sig": false, "md5_digest": "68045469d2ab0976eab174a13bbbaf96", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 464319, "upload_time": "2013-07-24T21:17:39", "url": "https://files.pythonhosted.org/packages/82/f0/862330b34a9818ed3ad18a5d8634dee2b87de9706e7663acc84f34a55313/PyGSSAPI-1.0.0.tar.gz" } ] }