python gssapi凭据错误
我正在编写一个使用python gssapi模块的小型python应用程序。但是,我在创建凭据对象时遇到问题。我得到的错误是:python gssapi凭据错误,python,kerberos,spnego,Python,Kerberos,Spnego,我正在编写一个使用python gssapi模块的小型python应用程序。但是,我在创建凭据对象时遇到问题。我得到的错误是: gssapi.error.NoCredential: (458752) No credentials were supplied, or the credentials were unavailable or inaccessible.. 我已经为user1@somedomain.com并从AD获得TGT。在我的python代码中,我调用: clientGssCre
gssapi.error.NoCredential: (458752) No credentials were supplied, or the credentials were unavailable or inaccessible..
我已经为user1@somedomain.com
并从AD获得TGT。在我的python代码中,我调用:
clientGssCreds = creds.Credential(gssUserName, lifetime=gssapi.C_INDEFINITE, desired_mechs=oid_set, usage=gssapi.C_INITIATE)
其中,gssUsername
是由以下内容定义的名称:
gssUserName = Name("user1@somedomain.com", gssapi.C_NT_HOSTBASED_SERVICE)
任何帮助都将不胜感激
编辑(下面的脚本):
你能发布完整的脚本吗?试着编辑你上面的脚本来回答问题。任何python适当的缩进都是一种奖励。完成,感谢提示:)删除了我的非应答,因此我认为我已经缩小了用户范围,可能需要设置一个属性以允许底层机制获取凭据。在java中,它是通过设置System.setProperty(“javax.security.auth.UseSubjectCredOnly”、“false”)来设置的;有人知道如何在python中实现类似的功能吗?
def main():
parser = argparse.ArgumentParser()
parser.add_argument("username", help="user@domain.COM")
parser.add_argument("target_server_spn", help="HTTP@serviceurl.com@domain.COM")
args = parser.parse_args()
krb5MechOid = oids.OID.mech_from_string("1.2.840.113554.1.2.2")
spnegoMechOid = oids.OID.mech_from_string("1.3.6.1.5.5.2")
oid_set = oids.MutableOIDSet()
oid_set.add(spnegoMechOid)
oid_set.add(krb5MechOid)
gssUserName = Name(args.username, gssapi.C_NT_HOSTBASED_SERVICE)
clientGssCreds = creds.Credential(gssUserName, lifetime=gssapi.C_INDEFINITE, desired_mechs=oid_set, usage=gssapi.C_INITIATE)
gssServerName = gssapi.Name(args.target_server_spn, gssapi.C_NT_HOSTBASED_SERVICE)
clientContext = ctx.InitContext(gssServerName, clientGssCreds)