1

我在客户端使用 gss_import_name 使用 GSS_C_NT_HOSTBASED_SERVICE 来获取像 service/server-host@realm 这样的主体。

我这样打电话,

gss_import_name(状态,“服务”,GSS_C_HOSTBASED_SERVICE,输出名称);

但我得到了像 service/local-machine@realm 这样的委托人。从手册页中我了解到,它在内部使用 krb5_sname_to_principal 来获取主机名,如果为 NULL,则使用 localhost 名称。现在我的问题是如何将正确的主机名(服务器主机)传递给 gss-api 以创建主体?

4

1 回答 1

3

我忽略了它。要以 'service/server-host@realm' 的形式获取主体,我应该调用

gss_import_name(状态,“服务@服务器主机”,GSS_C_HOSTBASED_SERVICE,输出名称);

代替

gss_import_name(状态,“服务”,GSS_C_HOSTBASED_SERVICE,输出名称);

如果缺少主机名,则假定为本地主机名。

于 2010-11-15T06:38:37.077 回答