2010-11-14 186 views
1

我在客户端使用gss_import_name,使用GSS_C_NT_HOSTBASED_SERVICE来获得一个委托人,例如service/server-host @ realm。如何正确使用gss_import_name?

我调用这个样子,

使用gss_import_name(状态, “服务”, GSS_C_HOSTBASED_SERVICE,output_name中);

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

回答

2

我忽略了它。要获得形式 '服务/服务器主机@境界' 校长我应该叫

使用gss_import_name(状态, “服务@服务器主机”, GSS_C_HOSTBASED_SERVICE,output_name中);

代替

使用gss_import_name(状态, “服务”, GSS_C_HOSTBASED_SERVICE,output_name中);

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