跳转到主要内容

Windows协商认证客户端和服务器

项目描述

Python SPNEGO库

Test workflow codecov PyPI version License

用于处理SPNEGO(协商、NTLM、Kerberos)和CredSSP认证的库。还包括一个数据包解析器,可以将原始NTLM/SPNEGO/Kerberos令牌解码为可读的格式。

要求

有关更多详细信息,请参阅如何安装

可选需求

以下Python库可以安装以添加基础包中未包含的额外功能

如何安装

要安装包含所有基本功能的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'时,支持initiateaccept用法,但没有保证接受者没有任何错误,因此请谨慎使用。

待办事项

  • 添加匿名身份验证支持
  • 查看是否pywinrm想要使用此功能

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

pyspnego-0.11.1.tar.gz (225.7 kB 查看哈希)

上传于 来源

构建版本

pyspnego-0.11.1-py3-none-any.whl (130.5 kB 查看哈希)

上传于 Python 3

由以下支持