2010-11-14 40 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中);

如果主機名缺失,則它假定爲本地主機名。