如何正确使用gss_import_name?

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

我这样打电话,

gss_import_name(status,“SERVICE”,GSS_C_HOSTBASED_SERVICE,output_name);

但我得到的主要是,service / local-machine @ realm。 在我已经学习的手册页中,我在内部使用krb5_sname_to_principal来获取主机名,如果为NULL则它使用localhost名称。 现在我的问题是如何将正确的主机名(server-host)传递给gss-api来创建主体?

我忽略了它。 要获得“service / server-host @ realm”forms的主体,我应该打电话

gss_import_name(status,“service @ server-host”,GSS_C_HOSTBASED_SERVICE,output_name);

代替

gss_import_name(status,“service”,GSS_C_HOSTBASED_SERVICE,output_name);

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