如何在python中验证kerberos密钥表?

2024-04-29 06:24:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我可以使用kinit对我的kerberos帐户进行身份验证,并能够对受kerberos保护的位置执行curl命令

我想在python代码中实现这一点

url ='https://knox.ADDRESS.com/gateway/PATH'

__, krb_context = kerberos.authGSSClientInit("HTTP@REALM.COM")
kerberos.authGSSClientStep(krb_context, "")
negotiate_details = kerberos.authGSSClientResponse(krb_context)
h = {"Authorization": "Negotiate " + negotiate_details}

r = requests.get(url=url, headers=h)

此代码引用http://python-notes.curiousefficiency.org/en/latest/python_kerberos.html#the-kerberos-authenticated-request

但是,出现如下错误:

    kerberos.authGSSClientStep(krb_context, "")
kerberos.GSSError: (('An invalid name was supplied', 131072), ('Hostname cannot be canonicalized', -1765328168))

我想我在"HTTP@REALM.COM"写了一个错误的值

我可以通过终端中的kinit yoon@REALM.COM进行身份验证

对于那个地方,什么是合适的值


Tags: 代码com身份验证httpurl错误context帐户