Python GSSAPI包装器
项目描述
已弃用
请使用‘gssapi’代替(在PyPI上或GitHub上https://github.com/pythongssapi/python-gssapi)。
PyGSSAPI
PyGSSAPI提供了围绕GSSAPI C库的低层和高层包装器。虽然它侧重于Kerberos机制,但也应该适用于不依赖于特定于机制的C值且无法轻松转换为Python的其他GSSAPI机制。
需求
一个有效的GSSAPI实现(例如,来自MIT Kerberos),包括头文件
C编译器(例如GCC)
flufl.enum Python包
nose包(用于测试)
shouldbe包(用于测试)
安装
简单方法
$ pip install pygssapi
从Git仓库
$ git clone https://github.com/DirectXMan12/python-gssapi.git $ python setup.py build $ python setup.py install
测试
我已经编写了一些PyGSSAPI的测试;它们位于
$ sudo tox
或
$ sudo kinit host/some.domain -k $ sudo setup.py nosetests
结构
PyGSSAPI由两部分组成:低层的C风格包装器和高层Python风格包装器(它是围绕低层API的包装器)。用‘(C)’表示用C编写的模块,而用‘(Py)’表示用Python编写的模块
低层API
低级API位于 gssapi.base 中。其中包含的方法旨在与原始GSSAPI C方法紧密匹配。它们遵循以下格式
名称是C方法名称的驼峰式版本,去除了 gssapi_ 前缀
使用C int常量作为枚举的参数定义了 flufl.enum.IntEnum 类,因此可以传递枚举成员或整数
在C API中将特定常量传递以表示默认值的情况下,应传递 None
在传递非整数C常量的情况下,为常用值定义了 flufl.enum.Enum 类
主要和次要错误代码通过 gssapi.base.GSSError 返回
所有其他相关输出值都返回在方法的返回值中的元组(在可能返回非错误主要状态代码的情况下,元组中提供了额外的成员)
结构
- gssapi/
- base/
自动包含所有子包
- impl(C)
核心C-API方法
- status_utils(C)
处理状态码的实用工具
- types(Py)
枚举和异常类型
示例
import gssapi.base as gb
TODO(sross): 提供更多示例
高级API
高级API直接位于 gssapi 下。每个文件中包含的类旨在提供更Python化、面向对象的GSSAPI视图。目前,它们是为基本GSSAPI任务设计的,但将来将进行扩展。
结构
- gssapi/
- client(Py)
基本客户端
- BasicGSSClient
一个能够执行基本GSS协商/加密的客户端
- BasicSASLGSSClient
一个简化SASL GSSAPI工作的辅助类
- type_wrappers(Py)
围绕一些Python胶囊对象提供有用的包装器
示例
import gssapi.client as gss client = gss.BasicGSSClient('vnc@some.host', security_type='encrypted') init_token = client.setupBaseSecurityContext() # send to server, get response back... next_token = client.updateSecurityContext(server_resp) # encrypt a message msg_enc = client.encrypt('WARNING: this is secret') # send the message, get response back... msg_unenc = client.decrypt(server_encrypted_message) # freeing of resources (such as deleting the security context and releasing # the names) is handled automatically
项目详情
PyGSSAPI-1.0.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ab1194264117b4d0fa965345b7c004ff0ffd8e862e32d32269aeaf9fd85bb0b8 |
|
MD5 | 68045469d2ab0976eab174a13bbbaf96 |
|
BLAKE2b-256 | 82f0862330b34a9818ed3ad18a5d8634dee2b87de9706e7663acc84f34a55313 |