Вопрос

Я использую GSS_IMPORT_NAME на стороне клиента, используя GSS_C_NT_HOSTBADES_SERVICE, чтобы получить принцип, такой как Service/Server-Host@Realm.

Я так называю,

GSS_IMPORT_NAME (статус, "Сервис", GSS_C_HOSTBADE_SERVICE, output_name);

Но я получаю как принцип, обслуживание/местный machine@realm. На странице «Человек» я узнал, что он внутри его использует KRB5_SNAME_TO_PRINCIPAL, чтобы получить имя хоста, если это нулевое, это требует имени Localhost. Теперь мой вопрос: как передать правильное имя хоста (сервер-хост) GSS-API, чтобы создать принципал?

Это было полезно?

Решение

Я упустил из виду это. Чтобы получить принципал в форме 'Service/Server-Host@Realm' Я должен позвонить

gss_import_name (status, "Service@server-host", gss_c_hostbased_service, output_name);

вместо

GSS_IMPORT_NAME (статус, "Сервис", GSS_C_HOSTBADE_SERVICE, output_name);

Если имя хоста отсутствует, оно предполагает, что является местным именем хоста.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top