Windows协商认证客户端和服务器
项目描述
Python SPNEGO库
用于处理SPNEGO(协商、NTLM、Kerberos)和CredSSP认证的库。还包括一个数据包解析器,可以将原始NTLM/SPNEGO/Kerberos令牌解码为可读的格式。
要求
有关更多详细信息,请参阅如何安装
- CPython 3.8+
- cryptography
- sspilib - 仅适用于Windows
可选需求
以下Python库可以安装以添加基础包中未包含的额外功能
- python-gssapi 和 pykrb5 用于Linux上的Kerberos身份验证
- ruamel.yaml 用于在
pyspnego-parse
上支持YAML输出
如何安装
要安装包含所有基本功能的pyspnego,请运行
pip install pyspnego
Kerberos身份验证
虽然pyspnego支持Linux上的Kerberos身份验证,但由于其依赖于系统包存在,因此默认不包含。
要安装这些包,请运行以下命令
# Debian/Ubuntu
apt-get install gcc python3-dev libkrb5-dev
# Centos/RHEL
yum install gcc python-devel krb5-devel
# Fedora
dnf install gcc python-devel krb5-devel
# Arch Linux
pacman -S gcc krb5
安装完成后,可以使用以下命令安装Python包
pip install pyspnego[kerberos]
Kerberos还需要配置以与域通信,但这超出了本页的范围。
如何使用
有关如何使用库的身份验证方面的示例,请参阅示例部分。
注意:虽然所有协议都提供服务器/接受者身份验证,但强烈建议您在系统GSSAPI和NTLM系统库存在的情况下进行接受者身份验证。Pyspnego NTLM接受者身份验证应该可以工作,但它不如GSSAPI实现经过彻底测试。
CredSSP身份验证
从版本0.2.0开始,pyspnego可用于CredSSP身份验证。虽然这不是SPNEGO/Negotiate协议的一部分,但它使用了一些公共特性和代码,例如ASN.1结构和甚至作为CredSSP过程中的Negotiate身份验证。当指定protocol='credssp'
时,支持initiate
和accept
用法,但没有保证接受者没有任何错误,因此请谨慎使用。
待办事项
- 添加匿名身份验证支持
- 查看是否
pywinrm
想要使用此功能
项目详情
下载文件
下载您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
pyspnego-0.11.1.tar.gz (225.7 kB 查看哈希)
构建版本
pyspnego-0.11.1-py3-none-any.whl (130.5 kB 查看哈希)
关闭
pyspnego-0.11.1.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e92ed8b0a62765b9d6abbb86a48cf871228ddb97678598dc01c9c39a626823f6 |
|
MD5 | f13229784747c05d880c25880872f856 |
|
BLAKE2b-256 | 46f51f938a781742d18475ac43a101ec8a9499e1655da0984e08b59e20012c04 |
关闭
pyspnego-0.11.1-py3-none-any.whl 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 129a4294f2c4d681d5875240ef87accc6f1d921e8983737fb0b59642b397951e |
|
MD5 | 8144d8fb76d47f403d90c97baff1fccd |
|
BLAKE2b-256 | 43c34dc3d1d029e14bf065f1df9e98e3e503e622de34706a06ab6c3731377e85 |