1

クライアント側で GSS_C_NT_HOSTBASED_SERVICE を使用して gss_import_name を使用し、service/server-host@realm のようなプリンシパルを取得しています。

こんな風に呼んでいますが、

gss_import_name(ステータス、「サービス」、GSS_C_HOSTBASED_SERVICE、出力名);

しかし、service/local-machine@realm のようなプリンシパルを取得します。man ページから、ホスト名を取得するために内部的に krb5_sname_to_principal を使用していることを知りました。NULL の場合は、localhost 名を取得します。ここで私の質問は、正しいホスト名 (server-host) を gss-api に渡してプリンシパルを作成する方法です。

4

1 に答える 1

3

私はそれを見落としました。「service/server-host@realm」の形式でプリンシパルを取得するには、次のように呼び出します。

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

それ以外の

gss_import_name(ステータス、「サービス」、GSS_C_HOSTBASED_SERVICE、出力名);

ホスト名が欠落している場合は、ローカル ホスト名であると見なされます。

于 2010-11-15T06:38:37.077 に答える