Skip to main content

Python GSSAPI Wrapper

Project description

https://badge.fury.io/gh/pythongssapi%2Fpython-gssapi.svg https://badge.fury.io/py/gssapi.svg

Python-GSSAPI provides both low-level and high level wrappers around the GSSAPI C libraries. While it focuses on the Kerberos mechanism, it should also be useable with other GSSAPI mechanisms.

Documentation for the latest released version (including pre-release versions) can be found at https://pythongssapi.github.io/python-gssapi/stable.

Documentation for the latest commit on main can be found at https://pythongssapi.github.io/python-gssapi/latest.

Requirements

Basic

  • A working implementation of GSSAPI (such as from MIT Kerberos) which supports delegation and includes header files

  • a C compiler (such as GCC)

  • Python 3.6+ (older releases support older versions, but are unsupported)

  • the decorator python package

Compiling from Scratch

To compile from scratch, you will need Cython >= 0.21.1.

For Running the Tests

  • the nose package

  • the shouldbe package

  • the k5test package

To install test dependencies using pip:

$ pip install -r test-requirements.txt # Optional, for running test suite

Installation

Easy Way

$ pip install gssapi

From the Git Repo

After being sure to install all the requirements,

$ git clone https://github.com/pythongssapi/python-gssapi.git
$ python setup.py build
$ python setup.py install

Tests

The tests for for Python-GSSAPI live in gssapi.tests. In order to run the tests, you must have an MIT Kerberos installation (including the KDC). The tests create a self-contained Kerberos setup, so running the tests will not interfere with any existing Kerberos installations.

Structure

Python-GSSAPI is composed of two parts: a low-level C-style API which thinly wraps the underlying RFC 2744 methods, and a high-level, Pythonic API (which is itself a wrapper around the low-level API). Examples may be found in the examples directory.

Low-Level API

The low-level API lives in gssapi.raw. The methods contained therein are designed to match closely with the original GSSAPI C methods. All relevant methods and classes may be imported directly from gssapi.raw. Extension methods will only be imported if they are present. The low-level API follows the given format:

  • Names match the RFC 2744 specification, with the gssapi_ prefix removed

  • Parameters which use C int constants as enums have enum.IntEnum classes defined, and thus may be passed either the enum members or integers

  • In cases where a specific constant is passed in the C API to represent a default value, None should be passed instead

  • In cases where non-integer constants would be used in the API (i.e. OIDs), enum-like objects have been defined containing named references to values specified in RFC 2744.

  • Major and minor error codes are returned by raising gssapi.raw.GSSError. The major error codes have exceptions defined in in gssapi.raw.exceptions to make it easier to catch specific errors or categories of errors.

  • All other relevant output values are returned via named tuples.

High-Level API

The high-level API lives directly under gssapi. The classes contained in each file are designed to provide a more Pythonic, Object-Oriented view of GSSAPI. The exceptions from the low-level API, plus several additional exceptions, live in gssapi.exceptions. The rest of the classes may be imported directly from gssapi. Only classes are exported by gssapi – all functions are methods of classes in the high-level API.

Please note that QoP is not supported in the high-level API, since it has been deprecated.

Extensions

In addition to RFC 2743/2744, Python-GSSAPI also has support for:

  • RFC 5587 (Extended GSS Mechanism Inquiry APIs)

  • RFC 5588 (GSS-API Extension for Storing Delegated Credentials)

  • (Additional) Credential Store Extension

  • Services4User

  • Credentials import-export

  • RFC 6680 (GSS-API Naming Extensions)

  • DCE and IOV MIC extensions

  • acquire_cred_with_password and add_cred_with_password

  • GGF Extensions

The Team

(GitHub usernames in parentheses)

  • Robbie Harwood (@frozencemetery) - current maintainer and developer

  • Simo Sorce (@simo5) - developer

  • Solly Ross (@directxman12) - author emeritus

  • Hugh Cole-Baker (@sigmaris) - author emeritus

Get Involved

We welcome new contributions in the form of Issues and Pull Requests on Github. If you would like to join our discussions, you can find us on Freenode IRC, channel #python-gssapi.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gssapi-1.6.10.tar.gz (1.1 MB view details)

Uploaded Source

Built Distributions

gssapi-1.6.10-cp39-cp39-win_amd64.whl (670.3 kB view details)

Uploaded CPython 3.9 Windows x86-64

gssapi-1.6.10-cp38-cp38-win_amd64.whl (672.0 kB view details)

Uploaded CPython 3.8 Windows x86-64

gssapi-1.6.10-cp37-cp37m-win_amd64.whl (658.6 kB view details)

Uploaded CPython 3.7m Windows x86-64

gssapi-1.6.10-cp36-cp36m-win_amd64.whl (657.6 kB view details)

Uploaded CPython 3.6m Windows x86-64

File details

Details for the file gssapi-1.6.10.tar.gz.

File metadata

  • Download URL: gssapi-1.6.10.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.7.9

File hashes

Hashes for gssapi-1.6.10.tar.gz
Algorithm Hash digest
SHA256 0d2859a72c1e41d141ee17ccad4982147ecd1c1369b26e8979c83a5c9b9b0377
MD5 0ca195ab53da921472860f8eda424863
BLAKE2b-256 f8507a1c8dda456c40b22ead822c49ca87c0fa4e1063ed8b553c2d71b6ab0539

See more details on using hashes here.

Provenance

File details

Details for the file gssapi-1.6.10-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: gssapi-1.6.10-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 670.3 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.9.0

File hashes

Hashes for gssapi-1.6.10-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 1af1e302802bd59f4f3f98cf528909ee6f862f52411e4d158cbaa0588237779c
MD5 16edd864233bb23385529973aa998663
BLAKE2b-256 9b92c38f540e7404fa0a30192102f2c61185feb5414c5dd17ded323f3e2ce26a

See more details on using hashes here.

Provenance

File details

Details for the file gssapi-1.6.10-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: gssapi-1.6.10-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 672.0 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.6

File hashes

Hashes for gssapi-1.6.10-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 849d13537098141afd6933936ced63777136f5c3567dfcbed3851f8a01a7253e
MD5 007008b0a096618ca185cddca79e6a34
BLAKE2b-256 6d1443c9006389808696731c20958c73f5afad34488f2f23a8502e2dc3e1eac5

See more details on using hashes here.

Provenance

File details

Details for the file gssapi-1.6.10-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: gssapi-1.6.10-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 658.6 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.7.9

File hashes

Hashes for gssapi-1.6.10-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 16c5cadabf36e0f4b8d64f729e9400b7d9d7ce543c294b5c95a09028bc33c1a4
MD5 60480ab0f5ee52afc30475db8b0b7a52
BLAKE2b-256 9b24de6e731ecb3c8c55e6c58a2322200081102730ffedafd5eaed24568ac745

See more details on using hashes here.

Provenance

File details

Details for the file gssapi-1.6.10-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: gssapi-1.6.10-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 657.6 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.6.8

File hashes

Hashes for gssapi-1.6.10-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 9c5ccbd3e7f73eb4f2c65e855e4fbc37d2564dfa01243ca3b2bc21f7ebfc68c6
MD5 bd425592b4a026b14952a4283c5b8bcd
BLAKE2b-256 e9fb5a0773a6472bd49a3a3d2350d1dda0ec08174217c62429ce9d5182f79359

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page